czwartek, 11 października 2012

Czy sekwencja danych może być skorelowana sama z sobą i co to w praktyce oznacza


W ostatnim odcinku poruszyłem temat ilościowego ujęcia podobieństw strukturalnych wewnątrz pojedynczej sekwencji zysków otrzymywanej w wyniku działania systemu transakcyjnego. Ponieważ zasugerowałem użycie w tym celu współczynnika korelacji, który jak wiadomo opisuje związek dwóch cech, powstało naturalne pytanie, w jaki sposób go zastosować w odniesieniu do pojedynczego ciągu danych. Odpowiedź jest naturalna a zarazem zakrawająca na absurd: należy wyznaczyć jego korelację z… nim samym. Nietrudno się domyślić, że propozycja ta zawiera jakiś „trick”, który poniżej postaram się obrazowo wyjaśnić.

Jak wiadomo, współczynnik korelacji przyjmuje wartości z przedziału od -1 do +1, przy czym obie skrajne wartości oznaczają korelację idealną, czyli w praktyce funkcyjną liniową zależność pomiędzy dwoma badanymi zmiennymi. W tym drugim przypadku zależność ta wyraża się funkcją rosnącą, czyli wzrost jednej zmiennej jest ściśle powiązany ze wzrostem drugiej. Wynika z tego, że współczynnik korelacji sekwencji danych z samą sobą będzie zawsze równy 1. Wynik obliczeń jest zatem z góry znany i przez to niewiele wnosi. Co jednak się stanie, jeśli sekwencję danych do obliczeń zostanie przesunięta o pewną ilość elementów do przodu?


Zilustruję to na poniższym przykładzie, gdzie sekwencja N-elementowa, oryginalnie indeksowana liczbami od 0 do N-1 zostanie przesunięta o 1 element. Następnie sekwencja oryginalna oraz przesunięta staną się danymi wejściowymi do wyznaczenia współczynnika korelacji:

[z(0), z(1), z(2), … , z(N-3),z(N-2)]
[z(1), z(2), z(3), … , z(N-2),z(N-1)]

Warto zauważyć, że w pierwszej, oryginalnej sekwencji został pominięty ostatni element. Jest to naturalna konsekwencja przesunięcia o 1 w przód sekwencji drugiej, ponieważ na ostatnim elemencie tej drugiej znajduje się teraz element o indeksie (N-1). Obie sekwencje, jako argumenty dla współczynnika korelacji, muszą mieć taką samą liczbę elementów, równą teraz N-1.

Interpretacja współczynnika korelacji dla powyżej określonej pary sekwencji jest następująca: mierzy on statystyczny związek pomiędzy wartościami, których pozycje w sekwencji są odległe o jeden, czyli sąsiadują ze sobą. Nosi on nazwę autokorelacji, co jest określeniem intuicyjnie zrozumiałym i wynikającym z samej jego konstrukcji. Równie naturalny jest pomysł jego uogólnienia na przypadki przesunięcia sekwencji o inne odległości. W takiej sytuacji wielkość tego przesunięcia, którą można oznaczyć np. literą k, staje się zmienną wejściową dla wyrażenia, które nosi nazwę funkcji autokorelacyjnej ciągu obserwacji i wyraża się następującym uogólnionym wzorem:

Autocorr([z(0),…,z(N-1),k]=Corr([z(0),…,z(N-1-k)], [z(k),…,z(N-1)])

Również interpretacja tego wyrażenia jest uogólnieniem przypadku od którego zaczęliśmy – określa on siłę zależności pomiędzy obserwacjami o ustalonej odległości k indeksów w badanej sekwencji danych. Ilustrację zastosowania tego narzędzia przedstawię w kolejnym odcinku, gdzie jak nietrudno się domyślić, przyjrzymy się strukturze autokorelacyjnej sekwencji rozliczeń pozycji dla zadanych wartości parametru sterującego działaniem strategii.

2 komentarze:

  1. Przy tak deterministycznym algorytmie autokorelacja oznaczałaby w zasadzie autokorelację kursu (z dokładnością do pozycji początkowej). Co chyba bez mierzenia można wykluczyć - historyczne wyniki nie gwarantują ich powtórzenia w przyszłości.

    OdpowiedzUsuń
    Odpowiedzi
    1. Jednak przekształcenia stosowane w algorytmie są nieliniowymi funkcjami kursów, zatem struktura autokorelacyjna wyników nie jest (a przynajmniej nie musi być) tożsama z tą dla samych kursów. Co do powtarzalności wyników, to oczywiście jest to dużo szerszy temat, odnosi się do wnioskowania statystycznego o parametrach procesów losowych na podstawie skończonych zbiorów obserwacji.
      Przy okazji: wpadłem na ciekawy tekst dotyczący właśnie m.in. zagadnień wnioskowania o autokorelacjach na podstawie przeszłości:
      http://mechanicalforex.com/2012/10/one-size-doesnt-fit-all-taking-care-of-systematic-correlations-in-trading-system-monte-carlo-simulations.html

      Usuń