Пређи на главни садржај

Laboratorija za integritet backtesta

Maloprodajne platforme vam prikazuju Sharpe omjer ili neto dobit backtesta i tu stanu. Institucije nikada ne vjeruju u sirovi backtest — pitaju da li rezultat preživi ispravku za pristranost selekcije i broj pokušanih konfiguracija. Laboratorija za integritet backtesta donosi tu provjeru u cMind. To je deterministička matematika (bez AI-ja, bez vanjskih poziva), tako da je verdikt reproducibilan i svaki broj je objašnjiv.

Otvorite je na cBots → Integrity (/quant/integrity).

Šta se izračunava​

Datom seriji povrata (ili krivuljom vlasničkog kapitala/saldo) i broja skupova parametara koje ste pokušali da dosegnete, analizator izvještava:

  • Sharpe omjer — po periodu i anualizovan (kvadratni korijen vremena).
  • Probabilistički Sharpe omjer (PSR) — pouzdanost da pravi Sharpe nadmaši mjeru, uzimajući u obzir dužinu iskustva, asimetriju i kurtozis (Bailey & López de Prado, 2012). Kraće ili debele-repe iskustvo ga snižava.
  • Deflatiran Sharpe omjer (DSR) — PSR izmjeren prema deflatirani mjeri: Sharpe koji biste očekivali od najboljih N slučajnih pokušaja pod nultom hipotezom (Teorem o lažnoj strategiji). Što više konfiguracija pokušate, to je viši standard — ovo je ono što hvata preoptimizovanje.
  • t-statistika prosječnog povrata. Slijedeći Harveya, Liu-ja i Zhu-ja, pravi edge trebao bi da prođe t ≥ 3,0, ne udžbenik 2,0.
  • Asimetrija / kurtozis povrata, koji hrane PSR/DSR korekcije.

Verdikt​

VerdiktZnačenjePravilo
RobustanEdge preživa pokušaje koje ste pokrenuli.DSR ≥ 95% i PSR ≥ 95% i |t| ≥ 3,0
KrhakStatistički živ, ali ne uvjerljivo — ne povećavajte veličinu samo na osnovu ovoga.između dva
PreoptimizovanNajvjerovatnije artefakt pristranosti selekcije, ne pravi edge.DSR < 90%

Svaki rezultat nosi obrazloženje na jasnom engleskom jeziku kako "zašto" nikada ne bi trebalo biti skriveno.

Vjerojatnost preoptimizovanja backtesta (kroz pokušaje)​

Hranjenjem broja pokušaja je dobro; hranjenjem stvarne out-of-sample serije svakog pokušaja koji ste pokušali je bolje. Zalijepite ih u opcionalno polje za pokušaje (jedna serija po liniji) i cMind pokreće Kombinatorijalno-simetrična unakrsna validacija (Bailey, Borwein, López de Prado & Zhu, 2015): dijeli opservacije u grupe, i za svaki način odabira polovice kao in-sample bira in-sample najbolju konfiguraciju i provjerava da li taj pobjednika pada u donju polovicu out-of-sample. Vjerojatnost preoptimizovanja backtesta (PBO) je frakcija razdijela gdje pobjednika nije uspio da se generalizira. PBO blizu 0 znači da je najbolja konfiguracija zaista najbolja; PBO od 0,5 ili više znači da vaš proces selekcije bira buku — verdikt postaje Preoptimizovan bez obzira na to kako je dobra izgledala pobjednika.

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

Kada nativni cTrader Console optimizator dođe, cMind će automatski hraniti njegovog punog pokušaja ovdje.

Pokušaji — broj koji je bitan​

Trials je koliko ste skupova parametara testirali prije nego što ste odabrali ovaj. Testiranje jedne strategije i testiranje deset hiljada i čuvanje najbolje su divlje različite stvari: druga proizvodi visok in-sample Sharpe slučajno. Hranjenjem činjenidnog broja pokušaja je cijela poenta — to podiže deflaciju i može premjestiti "odličan" backtest u Preoptimizovan. Kada nativni cTrader Console optimizator dođe, cMind ga hrani stvarnom veličinom grida pokušaja automatski.

Ulazi​

  • Periodični povrati — jedan broj po periodu (npr. 0,01 = +1%). Najmanje dva. Polje se validira dok tipkate: broji važeće brojeve, označava bilo koji token koji nije broj, i omogućava Analize samo kada su prisutne najmanje dvije čiste vrijednosti (polje za pokušaje omogućava Procijeni preoptimizovanje kada su dostupne dvije serije od četiri ili više brojeva svaka).
  • Krivulja vlasničkog kapitala / bilansa — cMind vam izvođa uzastopne jednostavne povrate.
  • Direktno iz backtesta — bez kopiranja-lijepljenja. Svaki završeni backtest izlaže štit Provjeri integritet backtesta ikona na listu Backtest i na prikazu detaljne instance; jedan klik pokreće laboratoriju na skladištenoj krivulji vlasničkog kapitala tog pokretanja i prikazuje verdikt u dijaloškom okviru. Ikona je onemogućena dok se backtest ne završi i ne proizvede izvještaj, tako da to nikada nije mrtva kontrola. Ispod haube ovo je POST /api/quant/integrity/backtest/{instanceId}, koji čita krivulju vlasničkog kapitala pohrantenog izvještaja.

API​

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

Vraća verdikt, sve metrike i obrazloženje. POST /api/quant/integrity/backtest/{id} pokreće istu analizu na završenom backtestmu koji posjedujete.

Zašto je pouzdano​

Statistika su čiste funkcije u domeni jezgre (Core.Quant) sa nultim zavisnostima od infrastrukture — ne mogu biti izbačene mrežnom kvarom, i učvršćene su vektorima jedinstvenih testova sa zlatnim vektorima protiv objavljenih formula. Normalni CDF/inverz su aproksimacije zatvorene forme (Abramowitz-Stegun / Acklam), tako da isti ulazi uvijek daju isti verdikt.