2026 m. rugpjūčio 30 d. · statistika

Kiek sandorių reikia atgaliniam testui, kad Sharpe rodiklis ką nors reikštų?

Kiek sandorių reikia atgaliniam testui, kad Sharpe rodiklis ką nors reikštų?

Šio klausimo, vienaip ar kitaip, man užduodama dažniausiai, kai žmonės ką tik užbaigia savo pirmąją strategiją: kiek sandorių man reikia, kad rezultatas būtų tikras? Paprastai kartu nuskamba ir konkretus skaičius. „Turiu 1,200 sandorių, užteks, tiesa?“ Sąžiningas atsakymas visus erzina, nes esmė visai ne sandorių skaičius.

Štai visa esmė vienoje eilutėje, o likusią įrašo dalį skirsiu tam, kodėl ji nemaloni.

1/√Tmetinio Sharpe rodiklio standartinė paklaida, T išreikštas metais
±0.8895% intervalas aplink bet kurį 5 metų Sharpe rodiklį
1.4Sharpe rodiklis, kurį per tuos pačius 5 metus pasiekia sėkmingiausia iš 100 atsitiktinių strategijų

Kokia yra Sharpe santykio standartinė paklaida?

Jei Sharpe skaičiuojamas pagal n periodinių grąžų, laikant, kad jos nepriklausomos ir apytiksliai normaliai pasiskirsčiusios, imties paklaida yra:

SE(s) ≈ √((1 + s²/2) / n)

čia s yra tuo pačiu dažniu išmatuotas Sharpe rodiklis. Metinę išraišką pritaikius abiem formulės pusėms, gaunamas paprastas rezultatas. Jei per metus turime k stebėjimų, o duomenys apima T metų, metinio Sharpe rodiklio S formulė yra:

SE(S) ≈ √((1 + S²/(2k)) / T)

Atkreipkite dėmesį į 2k vardiklyje. Dienos grąžų atveju k = 252, tad net Sharpe rodiklis 2 skaitiklyje sudaro vos 4/504 ≈ 0.008. Visa išraiška supaprastėja iki 1. Metinio Sharpe rodiklio standartinė paklaida apytiksliai lygi 1/√T, kur T yra kalendorinių duomenų metų skaičius. Ji beveik nepriklauso nuo paties Sharpe rodiklio ar duomenų atrankos dažnio ir visiškai nepriklauso nuo jūsų sudarytų sandorių skaičiaus.

Taigi:

Duomenų metaiSE(Sharpe)95% PI, jei išmatavote 1.5
11.00−0.46–3.46
20.710.11–2.89
30.580.37–2.63
50.450.62–2.38
100.320.88–2.12

Atgalinis testas, kurio Sharpe rodiklis per dvejų metų istoriją yra 1.5, negali 95% patikimumo lygiu statistiškai atskirti strategijos nuo monetos metimo. Tai įprasta padėtis daugumai kriptovaliutų tyrimų, nes daugumos tyrėjų švarūs, išgyvenimo šališkumo atžvilgiu pataisyti ir tikslius mokesčius atspindintys duomenys prasideda maždaug 2022 metais, o pusė įdomių simbolių iki 2023 metų apskritai neegzistavo.

O jei turiu 40,000 sandorių? Ar tai nepataiso padėties?

Ne, ir būtent šį nesusipratimą labiausiai noriu išsklaidyti.

Sandorių skaičius ir imties trukmė yra skirtingi dydžiai, o formulėje yra tik vienas iš jų. Jei jūsų strategija per šešis mėnesius suveikia 40,000 kartų, turite T = 0.5, o SE ≈ 1.41. Išmatuoto 2.0 Sharpe rodiklio 95% intervalas siekia nuo −0.8 iki 4.8. Sąžininga išvada, turint 40,000 sandorių, tokia: „strategija gali būti gera, o gali būti nuostolinga.“

Taip yra todėl, kad tie 40,000 sandorių nėra 40,000 nepriklausomų statymų 40,000 skirtingų rinkos būsenų. Tai 40,000 imčių iš maždaug 180 rinkos elgsenos dienų; tos dienos tarpusavyje koreliuoja, o režimai koreliuoja ir savo viduje. Dažnai prekiaujanti vidurkio link grįžimo strategija, kuri keturis mėnesius kasdien uždirba, iš tikrųjų atliko vieną statymą — kad trumpalaikis grįžimas prie vidurkio išliks esant šiam likvidumo režimui — ir stebėjo jo baigtį gal vos kelis nepriklausomus kartus.

Sau taikau tokį mąstymo poslinkį: skaičiuokite režimus, ne sandorių įvykdymus. Kiek iš tiesų skirtingų rinkos sąlygų ši strategija atlaikė? Finansavimo normų skirtumų strategija, veikusi per vieną ilgą teigiamo bazinio skirtumo laikotarpį, matė n = 1, kad ir kiek valandinių pozicijos persvėrimų užfiksavo.

Greita diagnostika: atlikite dienos P&L blokinį bootstrapinį persėmimą, naudodami 20 dienų bloko ilgį, ir peržiūrėkite perskaičiuotų Sharpe rodiklių sklaidą. Jei 5-asis procentilis yra mažesnis už nulį, sandorių skaičius nesvarbus. Tam reikia maždaug devynių numpy kodo eilučių; ši patikra mane atkalbėjo nuo daugiau strategijų nei bet kuri kita pavienė patikra.

Ar formulė tinka tikroms strategijoms?

Ne visai, ir paklaida krypsta jums nepalankia linkme. 1/√T rezultatas remiasi IID normaliosiomis grąžomis. Tikrų strategijų grąžos autokoreliuoja ir yra asimetriškos; neigiama asimetrija įprastai būdinga viskam, kas panašu į carry, trumpojo kintamumo strategiją ar grįžimą prie vidurkio. Mertenso pataisa įtraukia šiuos momentus:

SE(s) ≈ √((1 + s²/2 − γ₃·s + (γ₄−3)·s²/4) / n)

čia γ₃ žymi asimetriją, o γ₄ — ekscesą. Neigiama asimetrija padaro −γ₃·s narį teigiamą ir taip praplečia intervalą. Ekscesas jį dar labiau praplečia. Tipinio kriptovaliutų carry P&L, kurio asimetrija apie −1.2, o ekscesas apie 9, atveju koreguota standartinė paklaida man yra pasitaikiusi 30–40% didesnė už naivią. Lo 2002 metų straipsnyje nagrinėjama autokoreliacija, o poveikio kryptis tokia pati: teigiama grąžų serialinė koreliacija išpučia naivų Sharpe rodiklį ir sumažina tariamą paklaidą — tai nemaloni pora.

Taigi laikykite 1/√T savo neapibrėžtumo apatine riba. Tai geriausias scenarijus.

Koks turi būti Sharpe rodiklis, jei išbandžiau 500 variantų?

Dabar pereiname prie dalies, kuri svarbi visiems, kas vykdo automatizuotą tyrimų procesą. Būtent taip kasdien dirbame Stratmill: generavimo agentas pateikia ne vieną kandidatą, o šimtus.

Didžiausioji iš M standartinio normaliojo skirstinio imčių vertė apytiksliai lygi √(2 ln M). Padauginę ją iš standartinės paklaidos gausite Sharpe rodiklį, kurį parodys sėkmingiausia iš M iš tiesų beverčių strategijų.

Išbandytų strategijų skaičius√(2 ln M)Geriausias Sharpe tarp atsitiktinių, 5 m. (SE 0.45)Geriausias Sharpe tarp atsitiktinių, 2 m. (SE 0.71)
102.150.961.52
1003.031.362.16
5003.531.582.50
5,0004.131.852.93

Pažvelkite į priešpaskutinę eilutę. Jei pagal dvejų metų duomenis sugeneravote 500 kandidatų, o geriausias jų rodo Sharpe 2.4, nieko neatradote. Šis rezultatas žemesnis už triukšmo ribą. Bailey ir López de Prado defliuoto Sharpe metodu tai formalizuojama, vietoj grubaus √(2 ln M) naudojant bandomųjų Sharpe rodiklių dispersiją. Šį metodą verta tinkamai įgyvendinti, tačiau net ir grubus skaičiavimas šiandien gali pakeisti jūsų elgseną.

Du dalykai pablogina padėtį, palyginti su lentele. Pirma, M yra ne išsaugotų strategijų skaičius, o skaičius strategijų, kurias įvertinote, įskaitant kiekvieną parametro pakeitimą, kiekvieną „gal tiesiog pabandysiu 30 periodų retrospektyvos langą“ ir kiekvieną pakartotinį paleidimą ištaisius klaidą. Niekas neskaičiuoja sąžiningai. Antra, jūsų kandidatai nėra nepriklausomos imtys, todėl √(2 ln M) pervertina faktinę įvairovę. Tačiau koreliuojantys bandymai taip pat reiškia, kad vienas sėkmingas režimas gali vienu metu iškelti visą jų grupę.

Pavojingiausias skaičius kiekybiniuose tyrimuose yra tas, kurio niekas neužregistravo: kiek kartų žiūrėjote į rezultatus.

Ką tada darau praktiškai?

Penki dalykai, tokia tvarka, kokia jų imčiausi.

  1. Registruokite kiekvieną įvertinimą. Skaitiklis turi didėti kaskart paleidus atgalinį testą, jo reikšmė turi būti išsaugoma ir niekada nenustatoma iš naujo. Jei negalite pasakyti, koks yra M, negalite nurodyti ir savo slenksčio. Tai vertingiausia inžinerijos valanda visame sąraše.
  2. Visada pateikite Sharpe rodiklį su jo intervalu. Niekada neskelbkite vien pliko skaičiaus. Mūsų atgalinio testavimo ataskaitose pateikiama 1.72 ± 0.51 (2.9y, skew-adjusted), o ± ženklas nėra pasirenkamas. Tai keičia visos komandos kalbėjimo apie rezultatus būdą.
  3. Dar prieš peržiūrėdami rezultatus nustatykite ribą pagal M ir T. Pasiimkite skaičių iš pirmiau pateiktos lentelės ir užsirašykite. Po rezultatų nustatomos ribos leidžia kiekvienam įtikinti save, kad kreivė pritaikyta gerai.
  4. Kai imties trūksta, rinkitės įvairovę, o ne dažnesnę prekybą. Negalite sukurti daugiau kalendorinio laiko, bet tą patį signalą galite taikyti 40 nekoreliuojamų simbolių. Tai iš tiesų padidina efektyvų n, o didesnis sandorių dažnis — ne. Vis dėlto stebėkite koreliacijas: 40 kriptovaliutų perpetual kontraktų per rizikos vengimo valandą tėra viena priemonė.
  5. Tada prekiaukite bandomojoje sąskaitoje. Ne imties laikotarpis ilgėja vieną dieną per dieną, ir jokio trumpesnio kelio nėra. Būtent todėl šios imties niekas negali pritaikyti per daug.

Visa tai trumpos imties nepadaro tinkamos naudoti. Tai padeda sąžiningai įvertinti, kokias išvadas trumpa imtis gali pagrįsti — jos daug kuklesnės, nei leidžia suprasti dauguma atgalinio testavimo ataskaitų. Dvejų metų Sharpe rodiklis 1.5 yra hipotezė, kurią verta patikrinti prekiaujant bandomojoje sąskaitoje. Tai nėra atradimas.

Sharpe santykispersimokymasatgalinis testavimasstatistinis reikšmingumaskiekybiniai tyrimai
← Visi įrašai