Backtesting, optimizare și validare walk-forward
Cum sunt produse rezultatele cu costuri reale, cum sunt aleși parametrii în afara eșantionului și cum ajunge o strategie să fie promovată.
Comisioane și costuri reale ale bursei
Backtesturile aplică comisioanele maker și taker publicate de fiecare platformă, plățile de finanțare pentru contractele futures perpetue, costurile de împrumut pentru pozițiile short, precum și un model de spread și impact asupra pieței pentru fiecare execuție. Capitalul propriu este evaluat la prețul pieței la fiecare bară, iar pozițiile cu levier pot fi lichidate când se atinge marja de menținere a platformei. Nu se raportează rezultate brute, înainte de costuri.
Dimensionarea pozițiilor și levierul
Strategiile Forex dimensionează pozițiile în unități întregi ale monedei de bază, raportat la capitalul propriu al contului. Motorul aplică plafonul configurat de levier FX, cerințele de marjă și conversia în moneda de cotare. Loturile native ale brokerului necesită o mapare validată separat.
Cum funcționează optimizarea
Optimizarea folosește întregul istoric disponibil al strategiei. Cea mai recentă parte este rezervată ca eșantion de validare finală. Restul, perioada de dezvoltare, este împărțit într-o serie de ferestre walk-forward: parametrii sunt căutați pe intervalul de antrenare din fiecare fereastră și evaluați pe intervalul de testare care urmează, astfel încât fiecare rezultat out-of-sample să provină din date pe care procesul de căutare nu le-a văzut.
Parametrii finali sunt apoi aleși o singură dată pe întreaga perioadă de dezvoltare și testați exact o dată pe eșantionul de validare finală. Sunt raportate și statistici privind sensibilitatea, stabilitatea și semnificația statistică, iar criteriile de promovare se bazează pe dovezile din eșantionul out-of-sample și din cel de validare finală, niciodată pe potrivirea in-sample.
Eșantionul de validare finală
Eșantionul de validare finală este ultima parte a istoricului: cel puțin 20% din acesta, minimum 15 zile și suficient de lung pentru a anticipa aproximativ 20 de tranzacții, până la maximum 35% din istoric. Un eșantion care atinge plafonul de 35% este etichetat drept având putere statistică insuficientă. Nu este folosit niciodată pentru alegerea parametrilor, iar agenții văd doar rezultatele până la începutul acestui eșantion, astfel încât deciziile lor să nu poată fi ajustate în funcție de el. Tu, în calitate de proprietar, vezi întregul istoric pe pagina strategiei.
Ferestre walk-forward imbricate
Ferestrele walk-forward sunt dimensionate în funcție de numărul de tranzacții, nu doar de timp: fiecare fereastră de testare este prelungită până când poate include aproximativ 20 de tranzacții. Ferestrele avansează lunar sau trimestrial pentru istorii lungi, cu un interval scurt între antrenare și testare. În fiecare interval de antrenare, căutarea este imbricată: acesta este împărțit din nou în proporție de 70/30, astfel încât parametrii să fie aleși pe datele interne de validare. Pentru un rezultat concludent sunt necesare cel puțin 3 ferestre și o acoperire out-of-sample suficientă; în caz contrar, rezultatul este marcat drept neconcludent din cauza numărului insuficient de tranzacții.
Căutarea parametrilor și ajustarea finală
Parametrii sunt căutați prin optimizare bayesiană, cu aproximativ 30 de încercări per parametru ajustabil per fereastră și între 30 și 150 de încercări în total. În locul unei singure încercări cu cel mai bun scor, selectorul favorizează parametrii ai căror valori apropiate obțin și ele scoruri bune, în limitele de risc ale strategiei. Ajustarea finală aplică același selector întregii perioade de dezvoltare; apoi eșantionul de validare finală testează exact acești parametri. Fiecare optimizare are un buget de timp, iar căutările lungi pot fi rulate pe resurse de calcul la distanță.
Sensibilitatea și platourile
Fiecare parametru numeric este modificat cu 10%, 25% și 50% în ambele direcții, iar parametrii cu valori întregi sunt modificați cu un pas și cu doi pași. Platoul arată cât de mult se poate modifica un parametru înainte ca raportul Sharpe să scadă cu mai mult decât incertitudinea sa statistică; o scădere mai abruptă este raportată drept prăpastie. Un platou larg este un indiciu liniștitor, iar o prăpastie este un semnal de avertizare. Acesta este un raport, nu un criteriu de validare.
Stabilitatea parametrilor
Stabilitatea compară variația parametrilor aleși de la o fereastră la alta cu variația unei alegeri aleatorii. Parametrii care rămân apropiați sunt etichetați drept stabili; cei care fluctuează sunt etichetați drept instabili. Este un avertisment afișat alături de rezultate, niciodată un criteriu de promovare de sine stătător. Este afișată și o reluare per fereastră cu parametrii finali, etichetată drept parțial in-sample deoarece acei parametri au fost aleși pe aceleași date.
Semnificația statistică și raportul Sharpe deflatat
Randamentele out-of-sample sunt testate printr-un test t care ține cont de autocorelație și printr-un raport Sharpe deflatat. Raportul Sharpe deflatat evaluează dacă rezultatul depășește ceea ce ar obține cea mai bună dintre multe încercări aleatorii, luând în calcul numărul efectiv de încercări: variantele out-of-sample testate efectiv, inclusiv fiecare revizuire suplimentară după o evaluare. Încercările interne de căutare nu sunt puse la socoteală pentru strategie, deoarece nu folosesc date out-of-sample.
Validarea încrucișată combinatorie și probabilitatea supraadaptării la backtest sunt calculate pe datele de antrenare ca instrumente de diagnostic. Ele oferă informații analistului, dar nu mai determină singure promovarea.
Ferestre de randament și testare pe mai multe piețe
Strategiile lente pot tranzacționa prea rar pentru a completa ferestrele bazate pe numărul de tranzacții. În acest caz, sunt evaluate pe ferestre temporale bazate pe randamente periodice, prin teste care țin cont de autocorelație. Un test al amplorii aplică regula neschimbată pe 5 sau mai multe piețe conexe: rezultate consecvente între piețe pot transforma un rezultat neconcludent într-un rezultat admis, iar un eșec pe o altă piață poate transforma un rezultat admis într-un avertisment.
Rezultate cu încredere scăzută
Când dovezile nu sunt suficient de puternice pentru a fi concludente, dar nu există eșecuri clare, iar analistul recomandă în continuare promovarea, strategia poate intra în tranzacționare simulată cu eticheta „încredere scăzută, nedovedită statistic”. Eticheta este afișată pe paginile strategiei și tranzacționării simulate, precum și în notificări. O strategie cu încredere scăzută nu este pregătită pentru tranzacționare reală până când propriul său istoric de tranzacționare simulată nu devine semnificativ statistic.
Criterii de promovare
Pragurile de promovare sunt impuse prin cod, pe baza unui fișier cu criterii publicate. Criteriile obligatorii nu pot fi exceptate: istoric suficient, profitabilitate în majoritatea anilor calendaristici cu expunere, randament mediu per tranzacție care acoperă costul dus-întors, fără utilizare excesivă a marjei, rezultate out-of-sample și din eșantionul de validare finală disponibile și care nu au fost respinse statistic, drawdown în limitele înregistrate și evidență contabilă completă și consecventă.
Criterii flexibile și derogări
Criteriile flexibile acoperă drawdown-ul în raport cu limita proprie a strategiei, raportul Calmar, factorul de profit, rata de câștig împreună cu raportul câștig/pierdere, perioada de deținere, eșantionul de validare finală comparat cu rezultatele walk-forward, raportul Sharpe deflatat, concentrarea profitului într-un singur an, costul impactului asupra pieței și pierderile în perioadele cu volatilitate ridicată. Analistul poate acorda o derogare de la un criteriu flexibil doar cu o justificare scrisă care numește indicatorul; derogarea este înregistrată în execuție, responsabilul de risc o poate respinge, iar managerul de portofoliu o verifică din nou.
Cum să interpretezi corect un test istoric
Compară curba capitalului propriu cu scăderea, verifică pe câte tranzacții se bazează rezultatul și compară randamentul mediu per tranzacție cu costul dus-întors. Un randament ridicat obținut din câteva tranzacții sau un raport Sharpe care dispare în afara eșantionului este un semnal de avertizare, nu un rezultat concludent.