Šis ir jautājums, ko man visbiežāk uzdod — dažādos veidos — cilvēki, kas tikko pabeiguši savu pirmo stratēģiju: cik darījumu man vajag, lai rezultāts būtu īsts? Parasti tam klāt nāk kāds skaitlis. “Man ir 1,200 darījumu, ar to taču pietiek, vai ne?” Godīgā atbilde visiem krīt uz nerviem, jo runa nemaz nav par darījumu skaitu.
Lūk, visa būtība vienā formulā. Pēc tam pārējā ierakstā paskaidrošu, kāpēc tā ir nepatīkama.
Kāda ir Sharpe koeficienta standarta kļūda?
Ja Sharpe aprēķināts no n periodiskajām atdevēm, pieņemot, ka tās ir neatkarīgas un aptuveni normāli sadalītas, izlases kļūda ir:
SE(s) ≈ √((1 + s²/2) / n)
kur s ir tajā pašā frekvencē aprēķinātais Sharpe rādītājs. Annualizējot abas puses, iegūstam vienkāršu rezultātu. Ja gadā ir k novērojumu un novērojumu periods ir T gadi, annualizētajam Sharpe rādītājam S ir:
SE(S) ≈ √((1 + S²/(2k)) / T)
Pievērsiet uzmanību 2k saucējā. Dienas atdevēm k = 252, tāpēc pat Sharpe rādītājs 2 skaitītājā dod 4/504 ≈ 0.008. Visa izteiksme vienkāršojas līdz 1. Annualizēta Sharpe rādītāja standarta kļūda ir aptuveni 1/√T, kur T ir datu kalendārie gadi. Tā gandrīz nav atkarīga no paša Sharpe rādītāja, nav atkarīga no izlases ņemšanas biežuma un pilnīgi noteikti nav atkarīga no veikto darījumu skaita.
Tātad:
| Datu gadi | SE(Sharpe) | 95% TI, ja izmērīts 1.5 |
|---|---|---|
| 1 | 1.00 | −0.46 līdz 3.46 |
| 2 | 0.71 | 0.11 līdz 2.89 |
| 3 | 0.58 | 0.37 līdz 2.63 |
| 5 | 0.45 | 0.62 līdz 2.38 |
| 10 | 0.32 | 0.88 līdz 2.12 |
Atpakaļtests ar Sharpe rādītāju 1.5 divu gadu vēsturiskajos datos 95% ticamības līmenī statistiski nespēj atšķirt stratēģiju no monētas mešanas. Tā ir ierasta situācija lielākajā daļā kripto izpētes, jo vairumam pētnieku tīri dati ar izdzīvošanas aizsprieduma korekciju un precīzi uzskaitītām komisijām sākas ap 2022. gadu, bet puse interesanto simbolu pirms 2023. gada vēl nemaz nepastāvēja.
Bet man ir 40,000 darījumu. Vai tas problēmu neatrisina?
Nē. Šis ir pārpratums, ko visvairāk gribu kliedēt.
Darījumu skaits un izlases ilgums ir dažādi lielumi, un formulā ir tikai viens no tiem. Ja tava stratēģija sešos mēnešos nostrādā 40,000 reižu, tad T = 0.5 un SE ≈ 1.41. Izmērītā Sharpe rādītāja 2.0 95% intervāls ir no −0.8 līdz 4.8. Godīgais secinājums pēc četrdesmit tūkstošiem darījumu ir: “var būt laba, var būt arī ar negatīvu atdevi.”
Iemesls ir tāds, ka šie 40,000 darījumu nav 40,000 neatkarīgu likmju uz 40,000 atšķirīgiem tirgus stāvokļiem. Tie ir 40,000 novērojumu no aptuveni 180 tirgus darbības dienām; dienas ir savstarpēji korelētas, un arī režīmi savā starpā ir korelēti. Augstas frekvences vidējās atgriešanās stratēģija, kas četrus mēnešus pelna katru dienu, patiesībā ir veikusi vienu likmi — ka īsā termiņa atgriešanās saglabāsies šajā likviditātes režīmā — un, iespējams, šo likmi novērojusi atrisināmies tikai dažas neatkarīgas reizes.
Es to domās aizstāju šādi: skaiti režīmus, nevis izpildītos darījumus. Cik patiesi atšķirīgos tirgus apstākļos stratēģija ir izturējusi pārbaudi? Finansējuma likmju carry stratēģija, kas darbojās vienā ilgā periodā ar pozitīvu bāzi, ir pieredzējusi n = 1 — neatkarīgi no tā, cik stundu rebalansēšanu reģistrējusi.
Ātrā diagnostika: veic dienas P&L bloku bootstrap ar 20 dienu bloka garumu un aplūko atkārtoti izlasīto Sharpe rādītāju sadalījumu. Ja 5. procentile ir zem nulles, darījumu skaitam nav nozīmes. To var izdarīt ar aptuveni deviņām numpy koda rindām, un šī pārbaude mani ir atturējusi no vairākām stratēģijām nekā jebkura cita atsevišķa pārbaude.
Vai šī formula der reālām stratēģijām?
Ne gluži, un kļūda ir tev nepatīkamajā virzienā. Rezultāts 1/√T pieņem, ka atdeves ir IID un normāli sadalītas. Reālu stratēģiju atdevēm ir autokorelācija un asimetrija, kas parasti ir negatīva visam, kas līdzinās carry, īsajai svārstībai vai vidējai atgriešanās stratēģijai. Mertens korekcija ņem vērā arī šos momentus:
SE(s) ≈ √((1 + s²/2 − γ₃·s + (γ₄−3)·s²/4) / n)
kur γ₃ ir asimetrija, bet γ₄ — ekscess. Negatīvas asimetrijas dēļ loceklis −γ₃·s kļūst pozitīvs, tādējādi paplašinot intervālu. Ekscesa kurtosis to paplašina vēl vairāk. Tipiskam kripto carry P&L ar asimetriju ap −1.2 un kurtosi ap 9 esmu redzējis, ka koriģētā standarta kļūda ir par 30–40% lielāka nekā vienkāršoti aprēķinātā. Lo 2002. gada rakstā aplūkota autokorelācija, un efekts ir tajā pašā virzienā: pozitīva atdeves seriālā korelācija palielina vienkāršoti aprēķināto Sharpe rādītāju un samazina šķietamo kļūdu — nepatīkama kombinācija.
Tāpēc 1/√T uztver kā nenoteiktības apakšējo robežu. Tas ir labākais iespējamais gadījums.
Cik augstam jābūt Sharpe rādītājam, ja esmu pārbaudījis 500 variantu?
Tagad nonākam pie tā, kas ir svarīgi ikvienam, kurš vada automatizētu izpētes procesu. Stratmill ikdienā sastopamies tieši ar šo situāciju: ģenerēšanas aģents izveido nevis vienu kandidātu, bet gan simtiem.
M parauga ņēmienu no standarta normālā sadalījuma sagaidāmā maksimālā vērtība ir aptuveni √(2 ln M). Reizinot to ar standarta kļūdu, iegūstam Sharpe rādītāju, ko uzrādīs veiksmīgākā no M patiesībā nevērtīgām stratēģijām.
| Pārbaudīto stratēģiju skaits | √(2 ln M) | Labākās trokšņa stratēģijas Sharpe, 5 gadi (SE 0.45) | Labākās trokšņa stratēģijas Sharpe, 2 gadi (SE 0.71) |
|---|---|---|---|
| 10 | 2.15 | 0.96 | 1.52 |
| 100 | 3.03 | 1.36 | 2.16 |
| 500 | 3.53 | 1.58 | 2.50 |
| 5,000 | 4.13 | 1.85 | 2.93 |
Aplūko priekšpēdējo rindu. Ja ģenerēji 500 kandidātus, izmantojot divu gadu datus, un uzvarētājam ir Sharpe 2.4, tu neesi atradis pilnīgi neko. Tas ir zem trokšņa līmeņa. Bailey un López de Prado deflētais Sharpe rādītājs to formalizē, vienkāršotā √(2 ln M) vietā izmantojot tavu izmēģinājumu Sharpe rādītāju dispersiju. To ir vērts ieviest pareizi, taču vienkāršotā versija jau šodien var mainīt rīcību.
Tabula šo situāciju rāda vēl rožaināku, nekā tā ir patiesībā, divu iemeslu dēļ. Pirmkārt, M nav saglabāto stratēģiju skaits, bet gan to skaits, ko tu novērtēji — ikviena parametru izmaiņa, katrs “pamēģināšu 30 periodu atskata logu”, katra atkārtotā palaišana pēc kļūdas labošanas. Neviens to godīgi neskaita. Otrkārt, kandidāti nav neatkarīgi parauga ņēmieni, tāpēc √(2 ln M) pārvērtē efektīvo kandidātu dažādību. Taču korelētie izmēģinājumi nozīmē arī to, ka viens veiksmīgs režīms reizē paceļ veselu kandidātu grupu.
Bīstamākais skaitlis kvantitatīvajā izpētē ir tas, ko neviens nav reģistrējis: cik reižu tu paskatījies.
Ko es tad īsti daru?
Piecas lietas — šādā secībā es tās darītu.
- Reģistrē katru novērtēšanas reizi. Skaitītājs, kas palielinās ar katru atpakaļtestu, saglabā vērtību un nekad netiek atiestatīts. Ja nevari pateikt, kas ir M, nevari noteikt arī slieksni. No visa šī saraksta šī ir viena stunda inženierdarba ar vislielāko atdevi.
- Vienmēr norādi Sharpe rādītāju kopā ar tā intervālu. Nekad neuzrādi tikai skaitli. Mūsu atpakaļtestu pārskatos tiek attēlots
1.72 ± 0.51 (2.9y, skew-adjusted), un ± ir obligāts. Tas maina veidu, kā visa komanda runā par rezultātiem. - Nosaki slieksni, ņemot vērā M un T, pirms aplūko rezultātus. Paņem skaitli no iepriekšējās tabulas un pieraksti to. Sliekšņa noteikšana pēc rezultātu aplūkošanas ir veids, kā sevi pārliecināt, ka piemeklēta līkne ir derīga.
- Ja izlase ir maza, dod priekšroku plašākai pārbaudei, nevis lielākai biežumam. Kalendāro laiku mākslīgi pagarināt nevari, bet vari palaist to pašu signālu 40 savstarpēji nekorelētos simbolos. Tas patiešām palielina efektīvo n, turpretī darījumu biežuma palielināšana to nedara. Tomēr seko korelācijām — 40 kripto beztermiņa līgumu riska mazināšanas stundā ir viens instruments.
- Pēc tam tirgo to demo režīmā. Ārpusizlases laiks uzkrājas ar ātrumu viena diena dienā, un nav īsceļa. Tieši tāpēc šī ir vienīgā izlase, kurai nevar piemeklēt rezultātu.
Nekas no tā nepadara īsas izlases izmantojamas. Tas palīdz būt godīgiem par to, kādus secinājumus no īsas izlases var izdarīt — un tie ir daudz pieticīgāki, nekā liek noprast vairums atpakaļtestu pārskatu. Sharpe 1.5 divu gadu periodā ir hipotēze, kuru vērts pārbaudīt demo tirdzniecībā. Tas nav atklājums.
← Visi raksti
