Equity R-Squared
9 min czytania
Measure how closely your equity curve follows a straight line of growth — the simplest indicator of strategy consistency.
9 min czytania
Measure how closely your equity curve follows a straight line of growth — the simplest indicator of strategy consistency.
Wykreśl skumulowany P&L względem numeru transakcji, dorysuj prostą regresji najlepszego dopasowania i podnieś korelację do kwadratu. Ta jedna liczba — Equity R-Squared (R²) — oddziela strategie, które możesz pozycjonować z przekonaniem, od strategii, którym możesz tylko kibicować. To także jedna z najłatwiejszych liczb w finansach do oszukania samego siebie.
R² to współczynnik determinacji z regresji liniowej Twojej skumulowanej krzywej kapitału względem numeru transakcji (lub czasu). Jeśli pozycjonujesz w ujęciu procentowym, uruchom regresję na log(kapitał) — geometryczne kapitalizowanie zysków produkuje krzywą wykładniczą, a nie liniową, więc R² na surowym kapitale będzie sztucznie spadać w miarę wzrostu rachunku.
Obliczenie:
Gdzie:
R² przyjmuje wartości od 0 do 1:
| Wartość R² | Jakość | Opis |
|---|---|---|
| 0,95 - 1,00 | Doskonała | Niemal liniowy wzrost, bardzo wysoka spójność |
| 0,85 - 0,95 | Dobra | Stabilny wzrost z akceptowalnymi wahaniami |
| 0,70 - 0,85 | Umiarkowana | Zauważalne drawdown, ale ogólny trend wzrostowy |
| 0,50 - 0,70 | Słaba | Znaczna zmienność kapitału, wątpliwa spójność |
| <0,50 | Zła | Krzywa kapitału to zasadniczo losowy szum wokół trendu |
Rozważ dwie strategie:
CAGR Strategii A wygląda lepiej; optymalne dla Strategii B pozycjonowanie Kelly'ego jest około 3× większe, ponieważ ścieżka jest przewidywalna, więc B z dźwignią pokonuje A przy tym samym budżecie ryzyka. A zarobiła więcej w nagłówku, ale jej krzywa kapitału była chaotyczna — okresy ogromnych zysków przeplatane głębokimi drawdownami. Kapitał Strategii B rósł stabilnie. Której powierzysz prawdziwy kapitał?
Strategia B jest prawie zawsze lepszym wyborem. Głębszy powód: zwroty z transakcji B mają niską dodatnią autokorelację (zob. Autokorelacja zwrotów), więc wygrane i przegrane przeplatają się płynnie. Zwroty A grupują się w reżimach — to dokładnie ten tryb porażki, który omawia Wrażliwość na reżim i zależność od zmienności. Strategia o wysokim R² jest psychologicznie łatwiejsza w tradingu, bardziej przewidywalna w zarządzaniu ryzykiem i częściej naprawdę odporna, a nie tylko szczęśliwa.
Tutaj kryją się dwa tryby porażki. (1) Grudkowaty edge: niskie R² przy wysokim zwrocie oznacza, że krzywą niosą nieliczne ponadprzeciętne transakcje — usuń je, a strategia umiera. (2) Edge dopasowany do krzywej: ekstremalnie wysokie R² in-sample (>0,97) na strategii z dużą liczbą parametrów to czerwona flaga, a nie zielone światło. Zawsze przeliczaj R² na oknie holdout — tylko OOS R² jest liczbą wartą cytowania. Odwrotność — że wysokie R² implikuje brak curve-fittingu — jest fałszem: nadmiernie dopasowany system z wieloma parametrami na zbiorze treningowym może z definicji wyprodukować R² > 0,95. R² jest dowodem koniecznym, ale niewystarczającym dla odporności.
Przy wysokim R² out-of-sample możesz pozycjonować bardziej agresywnie — ścieżka kapitału jest przewidywalna. Przy samym wysokim R² in-sample nie zmierzyłeś niczego o przyszłości; pozycjonowanie na nim to kanoniczny wzorzec „przeoptymalizuj-i-wybuchnij". Przy niskim R² nawet optymalne pozycjonowanie Kelly'ego staje się niebezpieczne, ponieważ zmienność kapitału sprawia, że drawdowny są głębsze i mniej przewidywalne, niż zakłada formuła.
R² pozwala na uczciwe porównanie strategii o różnych profilach zwrotów. Strategia o umiarkowanych zwrotach, ale R² = 0,90 może być preferowana od strategii z wysokimi zwrotami i R² = 0,60, zwłaszcza gdy uwzględnisz psychologiczny koszt drawdownów.
R² i wskaźnik Sharpe'a są powiązane, ale nie tożsame:
| Metryka | Co mierzy | Najlepsza w wykrywaniu | Ślepa na |
|---|---|---|---|
| R² | Liniowość ścieżki | Grudkowate / napędzane outlierami krzywe | Znak nachylenia, wielkość |
| Sharpe | Zwrot na σ | Drag zmienności | Kształt drawdownu |
| Calmar | Zwrot / max DD | Ogonowy drawdown | Ścieżkę między szczytami |
| K-ratio | Nachylenie × √N / SE(nachylenia) | Powolny, stały edge | Wrażliwość na outliery |
Strategia może mieć wysoki Sharpe, ale umiarkowane R², jeśli zwroty są średnio dobre, ale krzywa kapitału ma zakrzywiony (wykładniczy) kształt. I odwrotnie, strategia z idealnie liniową krzywą kapitału (R² = 1,0) będzie miała wysoki Sharpe.
W praktyce wysokie R² prawie zawsze implikuje przyzwoity Sharpe, ale odwrotność nie zawsze jest prawdą. Po rygorystyczną wersję sięgnij do Lars Kestner, Quantitative Trading Strategies (McGraw-Hill, 2003) — jego K-ratio formalizuje pytanie „jak prosta jest linia i jak stroma" w jedną liczbę.
pnl, jeden wpis na zamkniętą transakcję.equity = np.cumsum(pnl) — albo np.log(np.cumsum(pnl) + start) dla pozycjonowania procentowego.t = np.arange(len(equity)).slope, _, r, _, se = scipy.stats.linregress(t, equity).r_squared = r**2. Kryterium przejścia: r_squared > 0.85 oraz slope > 0 oraz N ≥ 100.import numpy as np
import scipy.stats
equity = np.log(np.cumsum(pnl) + start_capital) # log-equity if compounding
t = np.arange(len(equity))
slope, _, r, _, se = scipy.stats.linregress(t, equity)
r_squared = r ** 2
k_ratio = slope * np.sqrt(len(equity)) / se
Excel: =RSQ(equity_range, sequence_range).
Dwie uwagi, na których zależy poważnym traderom systematycznym: (1) K-ratio Kestnera = nachylenie × √N / błąd standardowy nachylenia to właściwy kuzyn — nagradza zarówno prostoliniowość, jak i nachylenie, czego samo R² nie robi. (2) Tylko R² out-of-sample niesie informację; krzywa nadmiernie dopasowana może osiągnąć R² > 0,98 in-sample i runąć na nowych danych.
Jeśli Twoje equity R² jest niskie, zbadaj:
Eksperymentuj z różnymi win rate i stosunkami wypłat, aby zobaczyć, jak wpływają na gładkość krzywej kapitału. Strategia o wysokim R² produkuje niemal liniową krzywą kapitału — spójną i przewidywalną. Użyj demonstracji, by odtworzyć powyższą tabelę progów: strategia z win rate 55% / wypłatą 1:1 ląduje w okolicy R² ≈ 0,93; obniż win rate do 48% przy wypłacie 2:1, a R² zapada do około 0,55, mimo że expectancy jest identyczne. Jakość ścieżki to nie jest expectancy.
Trzy metryki odporności w tym module mierzą zachodzące na siebie, ale odrębne rzeczy. Wrażliwość na reżim pyta czy edge przeżywa między reżimami? Autokorelacja zwrotów pyta czy wyniki transakcji się grupują? Equity R² pyta czy ścieżka wygląda prosto? Odporna strategia zalicza wszystkie trzy. Equity R² jest najłatwiejsze do policzenia i najłatwiejsze do oszukania — czytaj je jako podsumowanie dwóch pozostałych, nie zastępstwo.
Powyżej 0,85 z dodatnim nachyleniem regresji to solidny wynik dla większości strategii; powyżej 0,95 jest wyjątkowe i warte sprawdzenia pod kątem nadmiernego dopasowania. Poniżej 0,70 jest grudkowate. Dokładny próg zależy od liczby transakcji — próbki poniżej 100 transakcji traktuj jako szum.
Sharpe mierzy zwrot na jednostkę zmienności; R² mierzy liniowość ścieżki. Strategia może mieć wysoki Sharpe przy zakrzywionej lub zaszumionej ścieżce kapitału, a strategia z R² = 0,95 wciąż może tracić pieniądze, jeśli nachylenie jest ujemne. Używaj obu — odpowiadają na różne pytania.
R² jest niestabilne poniżej około 50 transakcji i zaszumione poniżej około 200. Wszystko policzone na mniej niż około 100 transakcji traktuj jako przedział ufności, a nie estymator punktowy. Dla porównań między strategiami próg roboczy to ≥250 transakcji.
Tak. R² ignoruje znak nachylenia — idealnie prosta linia idąca w dół wciąż uzyska R² = 1,0. Zawsze sprawdzaj, czy nachylenie regresji jest dodatnie, zanim ucieszysz się z wysokiego R².
Nie. System z wieloma parametrami może z definicji uzyskać R² > 0,97 in-sample i runąć na nowych danych. Tylko R² out-of-sample niesie informację dla decyzji o pozycjonowaniu lub tradingu na żywo.
Equity R² to najtańsza kontrola zdrowego rozsądku, jaką możesz uruchomić na backteście — ale jest też najłatwiejsze do oszukania. Strategia z R² = 0,92 out-of-sample, K-ratio > 2 i N > 250 zasłużyła na prawo do kapitału. To samo R² in-sample na 60 transakcjach nie zasłużyło na nic poza dokładniejszym spojrzeniem. Pytanie, które każdy trader powinien zadać, brzmi nie „czy mój wzrost jest spójny?", ale „czy mój wzrost jest spójny na danych, których mój optymalizator nigdy nie widział?"