Trading Glass
FeaturesPricingAcademyBlogChartJournal
Loading
Wszystkie kursy
Regime Sensitivity & Volatility DependencyAutocorrelation of ReturnsEquity R-Squared
Academy/Trading Intelligence/Metryki odporności

Autocorrelation of Returns

Trading Intelligence

10 min czytania

autocorrelation

Detect non-random patterns in your trade sequence — do wins cluster, or alternate with losses?

Loading

Powiązane tematy

From Review to Forecasting

Execution Precision

8 min

Zero-Sum Thinking and Trading

8 min

The Prisoner's Dilemma and Market Behavior

8 min

Równowaga Nasha i no-arbitrage

8 min

Poprzedni temat

Regime Sensitivity & Volatility Dependency

Następny temat

Equity R-Squared

Trading Glass

Next-generation charting order flow platform with rotation view, cluster visualization, and real-time analytics for professional traders and quantitative analysts.

Product

  • Features
  • Pricing
  • Chart
  • Journal

Resources

  • Academy
  • Blog
  • Documentation
  • API Reference
  • Support

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 Trading Glass. All rights reserved.

PrivacyTerms

Autocorrelation mierzy, czy wyniki Twoich transakcji są statystycznie powiązane z poprzednimi wynikami. Mówiąc prościej: czy wygrane mają tendencję do grupowania się? Czy straty następują po stratach? A może wyniki są naprawdę niezależne?

Definicja

Ta lekcja dotyczy autocorrelation sekwencji zwrotów z transakcji (R-multiple z transakcji 1, 2, 3, …), a nie zwrotów z ceny instrumentu bazowego. Są one powiązane, ale różne: zwroty z aktywów mają zwykle AC bliskie zera w ujęciu dziennym, lekko dodatnie w ujęciu intraday (momentum) i lekko ujemne w ujęciu tygodniowym (powrót do średniej). AC sekwencji transakcji mówi Ci o zachowaniu Twojej strategii w różnych reżimach, a nie o samym rynku.

Krótki słowniczek — Lag k: o ile transakcji wstecz porównujesz. Serial correlation: to samo co autocorrelation. ACF: funkcja autokorelacji wykreślona w zależności od lagu. Block bootstrap: ponowne próbkowanie ciągłych fragmentów w celu zachowania struktury szeregowej.

Autocorrelation (serial correlation) przy lagu k to ρ(k) = Cov(rₜ, rₜ₋ₖ) / Var(rₜ), ograniczone do przedziału [-1, +1]. Dla lagu 1 na sekwencji zwrotów z transakcji:

AC(1) = Σᵢ₌₂..ₙ[(Rᵢ - R̄)(Rᵢ₋₁ - R̄)] / Σᵢ₌₁..ₙ[(Rᵢ - R̄)²]

Dla formalnego testu istotności użyj statystyki Q Ljunga–Boxa (lub Boxa–Pierce'a, Durbina–Watsona dla lagu 1) — zasada ±1,96/√N poniżej to tylko szybki test sanity check białego szumu.

Gdzie:

  • Rᵢ = zwrot z transakcji i
  • R̄ = średni zwrot ze wszystkich transakcji
  • Suma przebiega od i = 2 do N

Daje to wartość z przedziału od -1 do +1.

Interpretacja Autocorrelation

Wartość AC(1)WzorzecImplikacja
+0,3 do +1,0Silna dodatniaWygrane po wygranych, straty po stratach (serie)
+0,1 do +0,3Umiarkowana dodatniaLekka tendencja do grupowania
-0,1 do +0,1Bliska zeraWyniki są w przybliżeniu niezależne
-0,3 do -0,1Umiarkowana ujemnaWzorzec naprzemienny (wygrana-strata-wygrana-strata)
-1,0 do -0,3Silna ujemnaSilna naprzemienność

Co oznacza Autocorrelation bliska zera

Jeśli Twoje zwroty per transakcja mają AC(1) ≈ 0, każda transakcja jest praktycznie niezależna od poprzedniej. Uwaga: nie licz AC na skumulowanej krzywej kapitału — suma skumulowana jest z definicji zawsze silnie autocorrelated i nie mówi Ci nic o niezależności transakcji. Zawsze licz AC na przyrostowych R-multiple lub P&L per transakcja. To założenie leży u podstaw większości modeli wielkości pozycji — kryterium Kelly'ego, stałej frakcji — oraz fundamentalnych wzorów na wariancję i ryzyko ruiny w tym kursie.

Co oznacza dodatnia Autocorrelation

Jeśli AC(1) jest znacząco dodatnia (powiedzmy > +0,2), Twoja strategia wykazuje momentum w zwrotach — serie wygranych i serie strat są dłuższe, niż przewidywałby przypadek. Może to wynikać z tego, że:

  • Twoja strategia działa dobrze w określonych warunkach rynkowych (reżimach) i te warunki się utrzymują
  • Handlujesz lepiej, gdy jesteś pewny siebie (po wygranych), a gorzej gdy jesteś zachwiany (po stratach)
  • Rynek wykazuje serial correlation, którą Twoja strategia przechwytuje

Co oznacza ujemna Autocorrelation

Jeśli AC(1) jest znacząco ujemna (powiedzmy < -0,2), Twoje zwroty mają tendencję do naprzemienności. Może to oznaczać, że:

  • Zbyt wcześnie realizujesz zysk po wygranej (ograniczając potencjał następnej transakcji)
  • Zwiększasz ryzyko po stracie, aby "odrobić" (czasami skutecznie)
  • Warunki rynkowe powrotu do średniej powodują naprzemienne wyniki

Dlaczego Autocorrelation ma znaczenie

Najczęstszy błąd, którego należy unikać: nigdy nie licz AC na skumulowanej krzywej kapitału. Suma skumulowana jest niemal zawsze niemal idealnie autocorrelated, niezależnie od tego, czy bazowe transakcje są IID. AC musi być liczona na przyrostach per transakcja (R-multiple, P&L lub log-zwroty kapitału), a nie na poziomach kapitału.

1. Wielkość pozycji

Jeśli zwroty są dodatnio autocorrelated, możesz zwiększać wielkość podczas serii wygranych i zmniejszać podczas serii strat — podejście oparte na momentum. Jeśli zwroty są ujemnie autocorrelated, może zadziałać podejście odwrotne.

Ale jeśli autocorrelation zwrotów jest bliska zera, każda korekta wielkości oparta na seriach to tylko dopasowywanie do szumu.

2. Szacowanie ryzyka ruiny

Standardowe wzory na ryzyko ruiny zakładają niezależne transakcje (AC ≈ 0). Przy AC = 0,2–0,3 w sekwencji transakcji symulowane drawdown na 99. percentylu mogą być 1,5–2x głębsze niż przewiduje IID przy tej samej średniej i zmienności. Serie strat są dłuższe niż losowe, ponieważ sąsiednie straty dzielą ten sam reżim.

3. Dokładność Monte Carlo

Jeśli uruchamiasz symulacje Monte Carlo poprzez losowe tasowanie wyników transakcji, niszczysz jakąkolwiek strukturę autocorrelation. Jeśli oryginalne zwroty miały znaczącą autocorrelation, wyniki Monte Carlo niedoszacują ryzyka ogonowego.

Aby to naprawić, zastosuj block bootstrapping — próbkowanie ciągłych bloków transakcji zamiast pojedynczych — aby zachować strukturę serial correlation. Wybierz długość bloku L ≈ N^(1/3) (czyli ~5 dla N=125, ~10 dla N=1000) lub ustaw L jako najmniejszy lag, przy którym ACF spada do pasma ±1,96/√N. Stationary bootstrap (Politis i Romano, 1994) to bardziej odporna alternatywa; zob. López de Prado, Advances in Financial Machine Learning, rozdz. 4, dla praktyki block-bootstrap w finansach.

4. Odporność strategii

AC bliska zera oznacza, że Twój edge nie zależy od utrzymywania się reżimu — Twoje wzory na ryzyko ruiny są ważne w pierwotnej formie. Dodatnia AC nie jest automatycznie zła: strategia momentum z definicji wytwarza dodatnio autocorrelated wyniki transakcji. Niebezpieczeństwo pojawia się, gdy AC jest wysoka i niezamierzona — to zwykle oznacza, że Twój edge zależy od utrzymywania się jednego reżimu rynkowego, co pogrubia rozkłady DD ponad to, co przewiduje model IID. Wrażliwość na reżim to głębsza diagnostyka, gdy AC jest wysoka.

Analiza lagów

Autocorrelation dla lagu 1 jest najczęstsza, ale sprawdzanie wyższych lagów może ujawnić głębsze wzorce:

  • Lag-2: Czy wyniki sprzed dwóch transakcji są skorelowane z bieżącymi wynikami?
  • Lag-5: Tygodniowe wzorce w dziennym tradingu?
  • Lag-20: Wzorce miesięczne?

Wykreśl funkcję autokorelacji (ACF) dla lagów od 1 do 20. Jeśli wszystkie wartości mieszczą się w 95% przedziale ufności (w przybliżeniu ±2/√N), nie ma znaczącej serial correlation przy żadnym lagu.

Zastosowanie praktyczne

Przykład: 200 R-multiple z transakcji, średnia R = 0,18, odch. std. = 1,2. Oblicz AC(1) w Pythonie:

import numpy as np
from statsmodels.tsa.stattools import acf
from statsmodels.stats.diagnostic import acorr_ljungbox
r = np.array([...])  # 200 trade R-multiples
print(acf(r, nlags=20, fft=False))
print(acorr_ljungbox(r, lags=[5, 10, 20]))

Jeśli AC(1) = 0,31 przy N=200, pasmo 95% to ±0,139 — wynik wyraźnie istotny. Następnie:

  1. Oblicz AC(1) dla swoich ostatnich 100+ transakcji
  2. Sprawdź istotność statystyczną: Przy N transakcjach 95% przedział ufności to w przybliżeniu ±1,96/√N. Dla 100 transakcji to ±0,196.
  3. Jeśli istotna dodatnia AC: Rozważ wielkość pozycji opartą na momentum; uważaj na dłuższe niż oczekiwane drawdown; stosuj block bootstrapping w Monte Carlo.
  4. Jeśli istotna ujemna AC: Zbadaj, czy zachowujesz się naprzemiennie behawioralnie; rozważ, czy pomoże powrót do średniej w wielkości pozycji.
  5. Jeśli bliska zera: Twoje standardowe modele są ważne; żadna korekta wielkości nie jest potrzebna.

Związek z zachowaniem

Często autocorrelation w wynikach transakcji nie jest zjawiskiem rynkowym — jest zjawiskiem tradera. Pewność siebie po wygranych prowadzi do nadmiernego handlu (wydłużania serii wygranych). Strach po stratach prowadzi do wahania (wydłużania serii strat).

Jeśli znajdziesz znaczącą autocorrelation, pierwsze pytanie powinno brzmieć: "Czy to rynek, czy to ja?"

Interaktywnie: Monte Carlo i Serial Correlation

Symulator Monte Carlo poniżej losowo tasuje kolejność transakcji. Jeśli Twoje rzeczywiste zwroty wykazują znaczącą autocorrelation, losowe tasowanie niedoszacuje ryzyka ogonowego — niektóre ścieżki poniżej mogą wyglądać bezpieczniej niż Twoje rzeczywiste doświadczenie.

Monte Carlo Simulation
19.5k17.0k14.5k12.0k9510Trades
Paths: 20Avg Max DD: 5.6%Profitable: 20/20

FAQ

Czy mogę liczyć autocorrelation na krzywej kapitału?

Nie. Krzywa kapitału jest sumą skumulowaną i z definicji zawsze będzie silnie autocorrelated, niezależnie od tego, czy bazowe transakcje są niezależne. Zawsze licz AC na R-multiple per transakcja, P&L per transakcja lub log-zwrotach kapitału — nigdy na poziomach kapitału.

Ile transakcji potrzebuję, by wykryć istotną autocorrelation?

Co najmniej 100 transakcji, by sensowne było pasmo białego szumu ±1,96/√N (które daje ±0,196 przy N=100). Dla testu Ljunga–Boxa na wielu lagach potrzebujesz 200+ transakcji. Poniżej 100 transakcji każdy odczyt AC powinien być traktowany jako szum.

Czy dodatnia autocorrelation oznacza, że moje oszacowanie ryzyka ruiny jest błędne?

Tak — jeśli używałeś standardowego wzoru IID. Przy AC = 0,2–0,3 w sekwencji transakcji symulowane drawdown na 99. percentylu mogą być z grubsza 1,5–2x głębsze niż przewiduje IID przy tej samej średniej i zmienności, ponieważ serie strat są dłuższe niż losowe.

Jaka jest różnica między autocorrelation sekwencji transakcji a autocorrelation zwrotów z aktywa?

AC sekwencji transakcji mierzy zależność w wynikach Twojej strategii (R-multiple z transakcji 1, 2, 3, …). AC zwrotów z aktywa mierzy zależność w zwrotach z bazowej ceny. Zwroty z aktywów mają zwykle AC bliskie zera w ujęciu dziennym, lekko dodatnie w ujęciu intraday i lekko ujemne w ujęciu tygodniowym. AC sekwencji transakcji mówi Ci o zachowaniu Twojej strategii w różnych reżimach, a nie o rynku.

Myśl końcowa

Autocorrelation to metryka diagnostyczna, a nie metryka wyników. Nie mówi nic o tym, ile zarobiłeś — tylko o strukturze Twoich wyników. Ale ta struktura ma głębokie implikacje dla zarządzania ryzykiem, wielkości pozycji i ważności Twojej metodologii backtestu. Zignoruj ją, a Twoje modele ryzyka mogą cicho Cię okłamywać.

Następnie: Equity R-Squared — autocorrelation mówi Ci o zależności na poziomie transakcji; equity R² mówi Ci, czy wynikowa ścieżka jest gładka czy poszarpana. Razem charakteryzują strukturę Twoich zwrotów.