Am testat 240 de seturi de parametri. Cel mai bun a avut un raport Sharpe de 2.1; mediana a fost 0.1; iar doar 17 au depășit 1.0. Aceste cifre par să indice o descoperire, până afli că, și când nicio strategie nu are un avantaj real, o căutare atât de amplă poate produce un câștigător impresionant.
Cifra surprinzătoare este 240. Un raport de backtest prezintă de obicei strategia selectată de parcă ar fi apărut de una singură. Cercetarea nu funcționează așa. Fiecare ajustare a parametrilor, înlocuire a unei caracteristici, modificare a universului și rerulare după un rezultat dezamăgitor îi oferă zgomotului încă o șansă să pară un semnal.
De ce crește Sharpe-ul celui mai bun rezultat când încerci mai multe strategii?
Imaginează-ți 240 de strategii independente, fără niciun avantaj real, ale căror valori Sharpe estimate sunt zgomotoase. Cele mai multe estimări sunt aproape de zero, dar valoarea maximă tinde să fie pozitivă. Cu cât examinezi mai mulți candidați, cu atât valoarea maximă se poate îndepărta mai mult de realitate.
Ca exemplu orientativ, să presupunem că eroarea standard a valorii Sharpe estimate pentru fiecare candidat este 0.5. În cazul a 240 de extrageri independente, cea mai mare estimare poate ajunge la aproximativ 1.4 erori standard peste medie, adică la circa 0.7 Sharpe, doar datorită selecției. Candidații reali la strategii sunt corelați, așa că acest calcul nu este o corecție pe care să o poți introduce direct într-un raport. El arată de ce „câștigătorul a depășit zero” este o dovadă slabă după o căutare amplă.
Iar căutarea rareori se limitează la grila de parametri. Poate ai încercat trei familii de semnale, ai renunțat la două după ce le-ai văzut curbele, ai schimbat universul de tranzacționare, apoi ai rerulat strategia rămasă cu un alt program de reechilibrare. Dacă performanța a influențat aceste decizii, ele fac parte din istoricul cercetării.
Ce se consideră un test de backtest?
Numără o decizie drept un test dacă rezultatul ei ar fi putut influența strategia pe care ai ales-o. Asta include rulările pe care nu le-ai publicat și variantele la care ai renunțat devreme fiindcă graficul capitalului arăta prost. O eroare de compilare nu este un test de performanță; o rulare care a produs un Sharpe dezamăgitor, de regulă, este.
| Acțiune de cercetare | Se numără de obicei? | De ce |
|---|---|---|
| Modifici perioada de retrospectivă de la 20 la 30 după ce analizezi rezultatele | Da | Primul rezultat a influențat următorul candidat |
| Rulezi aceeași strategie fixată pe un interval de date nou, stabilit dinainte | De obicei, nu este un nou test de selecție | Regula a fost stabilită înainte să vezi acele dovezi |
| Schimbi universul după ce vezi ce active au câștigat | Da | Selecția universului poate îmbunătăți rezultatul aparent |
| Corectezi o eroare de sintaxă și rerulezi codul neschimbat | Nu | Nicio decizie de cercetare nu a depins de performanță |
Criteriul este dacă ai folosit un rezultat ca să iei o decizie. Poate fi greu să reconstruiești asta din memorie, de aceea un jurnal de experimente ar trebui să înregistreze ipoteza, versiunea codului sau a configurației, intervalul de date, ipotezele privind costurile și rezultatul fiecărei rulări.
Pot corecta efectele testării multiple?
Există metode care estimează biaisul de selecție sau ajustează semnificația statistică pentru numeroase teste. Pot fi utile, dar se bazează pe ipoteze despre relația dintre candidați și comportamentul randamentelor. O valoare p nominală sau o singură estimare Sharpe ajustată nu poate salva o căutare al cărei istoric real s-a pierdut.
Începe cu aspectele pe care le poți controla. Îngheață specificația finală înainte să evaluezi o perioadă cu adevărat neatinsă. Păstrează la vedere întregul set de candidați. Când testezi multe variante înrudite, grupează-le după decizia care le-a generat, în loc să pretinzi că fiecare a fost o descoperire independentă. Prezintă și căutarea, alături de câștigător: numărul de teste, regula de selecție și dacă evaluarea finală a dus la modificări ulterioare.
Un test util: Dacă rezultatul pe setul de validare te dezamăgește, vei modifica strategia și vei numi din nou aceeași perioadă set de validare? Dacă da, perioada face acum parte din cercetare. Ai nevoie de dovezi noi pentru următoarea evaluare.
Ce ar trebui să înregistreze un agent AI de cercetare?
Un agent poate genera candidați mai repede decât îi poate ține o persoană minte. De aceea, evidența testelor trebuie să facă parte din sistemul de cercetare, nu să fie o corvoadă de raportare. Salvează fiecare candidat înainte să-l rulezi, împreună cu experimentul din care provine și motivul pentru care există. Păstrează rulările eșuate și cele abandonate. Înregistrează când o persoană sau un agent a analizat performanța și ce decizie a urmat.
Apoi fă procesul de selecție reproductibil: cu același set de candidați și aceeași regulă, ar trebui să fie ales același câștigător. Dacă un agent continuă să-și schimbe promptul, obiectivul sau constrângerile după ce vede rezultatele, și acele schimbări fac parte din căutare.
Un Sharpe de 2.1 merită investigat. Semnificația lui depinde de parcursul care l-a produs. Când jurnalul de cercetare arată că 240 de candidați au concurat pentru titlu, poți pune următoarea întrebare potrivită: ce dovezi mai rămân pe care niciuna dintre acele alegeri nu le-a consumat deja?
← Toate articolele


