Ugrás a fő tartalomhoz

Backtest Integrity Lab

A kereskedelmi platformok megjelenítenek egy backtest Sharpe-ját vagy nettó nyereségét, és megállnak. Az intézmények soha nem bíznak egy nyers backtestben — azt kérdezik, hogy az eredmény túléli-e a szelekcióbias és a megpróbált konfigurációk számának korrekciót. A Backtest Integrity Lab ezt az ellenőrzést hozza el a cMind-be. Ez determinisztikus matematika (nincs AI, nincs külső hívások), így az ítélet reprodukálható és minden szám magyarázható.

Nyissa meg a cBots → Integrity (/quant/integrity) oldalon.

Amit kiszámít​

Egy hozamsort (vagy egy equity/balance görbét) és a megpróbált paraméterkészletek számát figyelembe véve, az analizátor jelentést készít:

  • Sharpe-arány — periódusenkénti és éves szintű (az idő négyzetgyöke).
  • Probabilisztikus Sharpe-arány (PSR) — annak az esélye, hogy a valódi Sharpe meghaladja a benchmarkot, figyelembe véve a track-record hosszát, a ferdességet és a lapítottságot (Bailey & López de Prado, 2012). Egy rövid vagy vastag farok csökkenti.
  • Deflált Sharpe-arány (DSR) — PSR mérve egy deflált benchmark ellen: a Sharpe, amely az N véletlen próbálkozás legjobbjából esperálható a nulla hipotézis alatt (a False Strategy Theorem). Minél több konfigurációt próbálsz, annál magasabb az érték — ez az, ami az overfittinget eltéríti.
  • t-statisztika az átlagos hozamból. Harvey, Liu & Zhu követésével egy valódi edge-nek t ≥ 3.0-t kell meghaladnia, nem a tankönyv 2.0-t.
  • Ferdség / Lapítottság a hozamokból, amely PSR/DSR korrekciókat táplál.

Az ítélet​

ÍtéletJelentésSzabály
RobusztusAz edge túléli a megpróbált próbálkozásokat.DSR ≥ 95% és PSR ≥ 95% és |t| ≥ 3.0
TörékenyeStatisztikailag élő, de nem meggyőzően — ne méretezze fel erre egyedül.a kettő között
TúlillesztettLegvalószínűbb, hogy a szelekcióbias műterméke, nem valódi edge.DSR < 90%

Minden eredmény egy egyszerű angol nyelvű indoklást tartalmaz, így a "miért" soha nem rejtett.

Backtest Túlillesztésének Valószínűsége (próbálkozások között)​

Egy próbálkozás száma táplálása jó; a megpróbált minden konfiguráció tényleges out-of-sample sorozatát táplálni még jobb. Illessze be azokat az opcionális trial grid-be (egy sorozat soronként) és a cMind futtatja a Kombinatorikusan-Szimmetrikus Kereszt-Validációt (Bailey, Borwein, López de Prado & Zhu, 2015): felosztja a megfigyeléseket csoportokra, és a felét in-sampleként kiválasztott minden módszer esetén az in-sample legjobb konfigurációt választja és ellenőrzi, hogy az győztes az out-of-sample alsó felében landol-e. A Backtest Túlillesztésének Valószínűsége (PBO) azoknak az osztásoknak a hányada, ahol a győztes nem általánosított. A PBO közel 0-hoz azt jelenti, hogy a legjobb konfiguráció valóban a legjobb; a 0,5 vagy nagyobb PBO azt jelenti, hogy a kiválasztási folyamata zajt választ — az ítélet Túlillesztett lesz, függetlenül attól, hogy milyen jó volt a nyertes.

POST /api/quant/pbo
{ "trials": [[...], [...], ...] }

Amikor a natív cTrader Console optimizer megérkezik, a cMind automatikusan ide táplálja a teljes próbálkozási felületét.

Próbálkozások — a szám, amely számít​

A Trials a hány paraméter-készletet tesztelt mielőtt ezt kiválasztotta. Egy stratégia tesztelése és tízezer tesztelése és a legjobb megtartása drámaian különbözik: az utóbbi véletlenül keltesz egy magas in-sample Sharpe-t. Az őszinte próbálkozási szám táplálása az egész lényeg — megemeli a deflációt és egy "kiváló" backtestet Túlillesztett-re mozgathat. Amikor a natív cTrader Console optimizer megérkezik, a cMind automatikusan táplálja azt a sweep valódi rács-méretét.

Bemenetek​

  • Periodikus hozamok — egy szám periódusenkénti (pl. 0.01 = +1%). Legalább kettő. A mező az Ön gépelésének megfelelően érvényesíti: számolja a valid számokat, megjelöli azokat a tokeneket, amelyek nem szám, és csak akkor engedélyezi az Analyze-t, ha legalább két tiszta érték jelen van (a próbálkozási grid akkor engedélyezi az Assess overfitting-et, ha két, négy vagy több szám sorozata kész).
  • Equity / balance görbe — a cMind az egymást követő egyszerű hozamokat levezetette.
  • Közvetlenül egy backtest futásból — nincs copy-paste. Minden befejezett backtest egy pajzs Check backtest integrity ikont mutat a Backtest lista sorában és annak instance detail nézetében; egy kattintás futtatja a Lab-ot az adott futás tárolt equity görbéjén és egy párbeszédablakban megjeleníti az ítéletet. Az ikon le van tiltva, amíg a backtest nem fejeződik be és nem készít jelentést, így soha nem egy inert vezérlő. Ezt a POST /api/quant/integrity/backtest/{instanceId} alatt működik, amely a tárolt jelentés equity görbéjét olvassa.

API​

POST /api/quant/integrity
{ "returns": [0.006, 0.004, 0.006, ...], "trials": 250 }

Visszaadja az ítéletet, az összes metrikát és az indoklást. A POST /api/quant/integrity/backtest/{id} ugyanezt az elemzést futtatja egy befejezett backtesten, amely az Önöé.

Miért megbízható​

A statisztika tiszta függvények a domain mag-ban (Core.Quant) nulla infrastruktúra-függőséggel — nem podem lecsuktatva egy hálózati akadályban, és rögzítve vannak a golden-vector egységtesztekkel a közzétett képletekkel szemben. A normál CDF/inverz zárt formájú közelítések (Abramowitz-Stegun / Acklam), így ugyanazok a bemenetek mindig ugyanazt az ítéletet adják.