Sări la conținut
Documente · Fluxul de cercetare

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.