Variance & Standard Deviation
9 min czytania
Measure the dispersion of returns to understand risk, compare strategies, and set realistic performance expectations.
9 min czytania
Measure the dispersion of returns to understand risk, compare strategies, and set realistic performance expectations.
Wariancja to średni kwadrat odległości Twoich zwrotów od ich średniej; odchylenie standardowe (σ) to jej pierwiastek kwadratowy, wyrażony w tych samych jednostkach co zwroty. Razem opisują, jak rozproszone są wyniki strategii — a tym samym ile bólu zjesz po drodze do swojej wartości oczekiwanej (EV).
Dlaczego Twoje wyniki nigdy nie ułożą się w prostą linię — i jak przetrwać losowość, nie tracąc głowy.
A więc zbudowałeś system z dodatnią wartością oczekiwaną (EV). Świetnie — teraz zaczyna się trudna część:
Twój średni wynik i Twoje rzeczywiste wyniki rzadko będą się pokrywać w krótkim terminie.
Nawet najlepsze strategie potrafią:
To nie jest porażka. To wariancja — i każdy prawdziwy trader musi nauczyć się jej oczekiwać, modelować ją i ją przetrwać.
Wariancja (variance) to drugi moment centralny rozkładu zwrotów: Var(X) = E[(X − μ)²]. Po ludzku: to średni kwadrat odległości od średniej. Kwadrat — bo chcemy symetrycznie karać odchylenia w górę i w dół.
Dla próby n obserwacji używaj nieobciążonego estymatora s² = Σ(xᵢ − x̄)² / (n − 1) (poprawka Bessela). Odchylenie standardowe σ = √Var(X) — w tych samych jednostkach co zmienna bazowa, dlatego traderzy podają σ, a nie wariancję.
Intuicyjnie: wariancja to naturalny rozrzut wyników wokół Twojej EV.
Jeśli Twój system ma EV równą +0,5R na transakcję, nie oznacza to, że:
Zarobisz dokładnie 0,5R na każdej transakcji
Oznacza to, że:
Wariancja to rzeczywistość wokół teorii EV.
Odchylenie standardowe (σ) mierzy, jak bardzo rzeczywiste wyniki odchylają się od średniej.
W tradingu:
Na przykład:
Obie są zyskowne — ale jedną dużo trudniej utrzymać psychicznie.
Weź dziesięć dziennych logarytmicznych zwrotów: {+0,012, −0,008, +0,005, +0,001, −0,014, +0,009, +0,003, −0,002, +0,007, −0,001}. Średnia x̄ = 0,0021. Suma kwadratów odchyleń Σ(xᵢ − x̄)² ≈ 0,000792. Wariancja z próby s² = 0,000792 / 9 ≈ 0,0000880. Dzienne σ = √s² ≈ 0,0094 (około 0,94%). Annualizowane: σ_annual ≈ 0,0094 · √365 ≈ 18%. To portfel krypto o umiarkowanej zmienności; 30%+ rocznego σ to wysoka zmienność.
Jeśli σ_d to odchylenie standardowe dziennych zwrotów logarytmicznych, σ_annual = σ_d · √k. Stosuj k = 252 dla akcji (sesyjne dni handlowe w roku) oraz k = 365 dla krypto (rynki działające 24/7). Zawsze licz σ na zwrotach logarytmicznych r_t = ln(P_t / P_{t−1}), a nie na cenach — zwroty logarytmiczne są addytywne w czasie i bliższe symetrii.
| Klasa aktywów | Okresy / rok | Współczynnik annualizacji (√k) | Typowe σ roczne |
|---|---|---|---|
| Akcje (dzienne) | 252 | √252 ≈ 15,87 | 15–20% (SPX) |
| Krypto (dzienne) | 365 | √365 ≈ 19,10 | 40–80% (BTC) |
| FX major (dzienne) | 252 | √252 ≈ 15,87 | 7–12% |
| Akcje (godzinne) | ~1 638 | √1638 ≈ 40,47 | po przeskalowaniu zgadza się z dziennym |
| Krypto (godzinne) | 8 760 | √8760 ≈ 93,59 | po przeskalowaniu zgadza się z dziennym |
"To już nie działa..." → Ale zrobiłeś dopiero 15 transakcji. → A Twój system ma 35% win rate.
To normalna wariancja — nie porażka.
Nawet z doskonałym systemem doświadczysz:
Jeśli Twój system ma 60% win rate, nadal prawdopodobnie trafisz na serie 5–6 strat w próbie 100 transakcji.
Systemy o wysokiej wariancji wymagają:
Większość traderów się rozbija, bo dobiera wielkość pod marzenie, a nie pod rozkład.
σ zakłada skończony, dobrze zachowujący się rozkład. Realne rozkłady zwrotów mają grubsze ogony niż rozkład Gaussa — to, co Gauss nazywa ruchem 1 na 15 000 dni (5σ), pojawia się kilka razy na dekadę w akcjach i kilka razy w roku w krypto. σ systematycznie niedoszacowuje ryzyka ogona. Następna lekcja — Skośność i kurtoza — pokazuje dokładnie, jak bardzo σ się myli.
Nie modeluj tylko swojej średniej transakcji. Modeluj najbardziej ekstremalny drawdown i największy runup — oba nadejdą.
Mandelbrot (1963, The Variation of Certain Speculative Prices) pokazał, że ceny bawełny podlegają rozkładom stabilnym z efektywnie nieskończoną wariancją; Taleb (The Black Swan, 2007) uogólnił to na wszystkie zwroty finansowe. Jeśli masz zapamiętać jedno zdanie z tej lekcji: wariancja jest konieczna, ale niewystarczająca.
Pseudokod w pandas:
import numpy as np
df['r'] = np.log(df['close']).diff()
sigma_annual = df['r'].std() * (365 ** 0.5) # crypto; use 252 for equities
Reguły kciuka (annualizowane σ):
Jeśli σ Twojej strategii jest istotnie niższe od σ instrumentu bazowego, masz albo realny edge, albo ukryte założenia o dźwigni — sprawdź jedno i drugie.
| Statystyka | Wzór | Odporna na wartości odstające? | Stosuj, gdy |
|---|---|---|---|
| Wariancja | E[(X−μ)²] | Nie | Praca teoretyczna, wskaźnik Sharpe'a |
| Odchylenie standardowe | √Var | Nie | Raportowanie, annualizacja |
| MAD | E[|X−μ|] | Lekko | Szybko i z grubsza |
| IQR | Q3 − Q1 | Tak | Grube ogony / brudne dane |
| Semi-deviation | √E[(X−μ)² · 1_{X<μ}] | Nie | Ryzyko po stronie strat (wejście do Sortino) |
Krótka odpowiedź: Więcej, niż Ci się wydaje.
| Liczba transakcji | Poziom pewności |
|---|---|
| 10–20 | Statystycznie bez znaczenia |
| 50 | Bardzo wczesny sygnał |
| 100 | Wystarczająco wiarygodne, by zacząć ufać |
| 300+ | Mocny dowód na skuteczność |
A nawet przy 100+ transakcjach wariancja wciąż żyje. Stoi za tym prawo wielkich liczb — Twoja średnia z próby zbiega do prawdziwej średniej, ale tylko przy odpowiednio dużej liczbie transakcji.
σ traktuje +5% i −5% jako tak samo "ryzykowne", zakłada, że rozkład jest stabilny, i pada na grubych ogonach. Połącz je z:
Żaden poważny system zarządzania ryzykiem nie używa samego σ. Sortino i van der Meer (1991) wprowadzili odchylenie po stronie strat; Artzner i in. (1999, Coherent Measures of Risk) udowodnili, że σ nie jest spójną miarą ryzyka. Po głębsze ujęcie zwrotów i ich momentów: López de Prado, Advances in Financial Machine Learning (2018), rozdz. 3.
Weź zwroty logarytmiczne r_t = ln(P_t / P_(t−1)), policz średnią x̄, odchylenia d_t = r_t − x̄, wariancję z próby s² = Σd_t² / (n − 1), a następnie σ = √s². Aby annualizować, pomnóż przez √k, gdzie k = 252 dla akcji lub 365 dla krypto.
Stosuj σ_annual = σ_period · √k. Dla dziennych zwrotów logarytmicznych k = 252 dla akcji (sesyjne dni handlowe w roku) i k = 365 dla krypto (rynki 24/7). Zawsze annualizuj na zwrotach logarytmicznych, a nie na cenach, ponieważ zwroty logarytmiczne są addytywne w czasie.
10–20 transakcji jest statystycznie bez znaczenia, 50 to bardzo wczesny sygnał, 100 jest wystarczająco wiarygodne, by zacząć ufać, a 300+ to mocny dowód. Nawet przy 100+ transakcjach wariancja wciąż produkuje znaczące serie i drawdowny.
Wariancja gwarantuje serie. Jeśli Twój system ma 60% win rate, nadal prawdopodobnie trafisz na 5–6 strat z rzędu w próbie 100 transakcji. To normalna wariancja — a nie zepsuty edge.
Wartość oczekiwana to Twój kompas. Wariancja to burza.
Potrzebujesz obu:
Świetne systemy nie tylko wygrywają — one przetrwają wariancję wystarczająco długo, by wygrać w dużym stylu.
Dalej: σ zakłada krzywą dzwonową. Realne zwroty są skośne i mają grube ogony. Następna lekcja — Skośność i kurtoza — mierzy dokładnie, jak σ Cię zwodzi, i daje Ci dwa dodatkowe momenty, na które każdy quant patrzy przed wyznaczeniem wielkości transakcji.