În acest articol
După lectură vei putea să…
- Verifici ultima închidere necesară fiecărei etichete de antrenare.
- Alegi pauza după orizontul real, fără rețetă fixă.
- Unești evaluările fără dublarea aceleiași expuneri.
Explicații ale termenilor în articol
Backtesting: testare pe date istorice Plan de tranzacționare Cont demonstrativ (demo) Scădere de la maxim (drawdown) Rată de reușităAnaliza walk-forward repetă alegerea parametrilor din date anterioare și evaluarea lor într-un bloc ulterior. Evaluează procedura de actualizare, nu doar ultima configurație. Stabilește calendarul înainte să vezi rezultatele de evaluare: ferestrele cu date comune și piețele dependente în timp nu devin observații independente.
Definește procedura înaintea testului
Notează durata antrenării și evaluării, intervalul actualizării, candidații, criteriul alegerii, departajarea egalităților și acțiunea când nimeni nu se califică. Maximizarea profitului este o alegere, fără neutralitate implicită. Păstrează definițiile costurilor, expunerii și eșantionului consecvente. Căutarea mai multor alternative poate alege zgomotul istoric; totuși, rata de succes peste 75% în 200 de tranzacții sau profit factor peste 3,5 nu diagnostichează singure supraoptimizarea. Verifică datele, costurile și istoricul selecției.
Pauza nu ajută dacă eticheta intră tot în test
Model propriu: fiecare observație t primește etichetă folosind închiderile t+1 și t+2. Primul interval de test este 10; ajustarea modelului se face după închiderea 9, înainte să înceapă 10. Nu ajunge ca indicele observației să fie anterior testului: și toate datele etichetei trebuie să existe deja.
Pauză de unu sau doi pași; etichetă pe doi pași
Pe un ecran mic, derulează diagrama orizontal sau mărește-o. Explicația este disponibilă și în text.
Cu gap=1 rămâne observația 8, care cere închiderile 9 și 10; închiderea 10 este încă necunoscută. Cu gap=2, ultima observație este 7 și eticheta se termină la 9. Repetă verificarea dacă orizontul sau construcția etichetei se schimbă. Nu transfera automat pauza doi.
Ipoteze: intervale regulate, indici corespunzători observațiilor, etichetă completă din următoarele două închideri și ajustare exact între închiderea 9 și începutul 10. Gap elimină observații de la sfârșitul antrenării. Concluzia aparține acestui exercițiu, fără lungime universal corectă.
Cum deplasezi ferestrele
Alege calendarul înaintea ajustării. Exemplu: antrenezi pe 2018–2021, îngheți parametrii și evaluezi pe 2022; apoi antrenezi pe 2019–2022 și evaluezi pe 2023. Datele suprapuse de antrenare și testele apropiate temporal nu asigură independență statistică. Unește tranzacțiile OOS în ordine cronologică, examinează incertitudinea și păstrează o evaluare finală neatinsă dacă rezultatele anterioare au orientat proiectarea.
Rolling și anchored: ce date păstrezi?
Rolling menține lungimea antrenării și elimină cele mai vechi date. Anchored sau expanding păstrează începutul și adaugă date. În exemplul de patru ani, rolling folosește 2018–2021, 2019–2022 și 2020–2023; expanding folosește 2018–2021, 2018–2022 și 2018–2023. Memoria scurtă elimină condiții vechi și micșorează eșantionul; cea lungă păstrează mai multe observații, posibil din condiții diferite. Niciuna nu garantează adaptare mai rapidă sau parametri mai stabili. Nu atribuim automat trend following primei variante ori mean reversion celeilalte.
Învață normalizarea, selecția caracteristicilor și imputarea numai din datele de antrenare permise. Ulterior aplici transformarea învățată testului. O etichetă poate cere prețuri viitoare chiar dacă observația este anterioară testului. TimeSeriesSplit elimină prin gap observații finale; nu identifică orice contaminare. Intervalele egale permit durate comparabile între folduri. Pentru evenimente neregulate verifică separat calendarul.
WFE: raport util numai cu definiție explicită
În convenția TradeStation, compari randamentul anualizat OOS cu cel IS, folosind aceleași definiții ale costurilor, expunerii și randamentului. Ilustrație proprie: 10%/20%=0,5, adică 50%. La numitor zero, raportul este nedefinit. Și −5%/−10%=0,5, deși ambele rezultate pierd bani. WFE peste unu nu dovedește automat folosirea informației viitoare. Pragul 50% descris de TradeStation este orientativ, fără aprobare universală pentru capital real. Examinează separat rezultatul net, drawdownul, acoperirea și sensibilitatea.
Exemple: eficiență, calendar și departajare
Două strategii ipotetice: randament anualizat OOS 12% și IS 30% dau WFE 0,4; 20% și 25% dau 0,8. Nu dovedesc un avantaj durabil. Datele 2018–2023, antrenare de patru ani, evaluare de un an și deplasare anuală permit două evaluări complete: 2022 și 2023.
Contraexemplu propriu de departajare. A și B sunt la egalitate în calibrare în fiecare dintre doi pași. Regula scrisă înainte de test alege A. Rezultatele OOS nete, fără capitalizare, sunt A: +5 și −2; B: −1 și +6. Procedura declarată produce +3. Alegerea câștigătorului după fiecare rezultat produce +5+6=+11; alegerea lui B după examinarea întregului istoric produce +5. Sunt trei experimente diferite. Salvează toți candidații aflați la egalitate și ID ales înaintea fiecărui test. Politica inventată după OOS cere versiune nouă și evaluare ulterioară.
Folosește fiecare test numai după înghețarea datelor de antrenare și regulii. Rezultatul OOS depinde în continuare de execuția modelată și nu stabilește performanța viitoare.
Ce nu rezolvă walk-forward
Definește pozițiile deschise la actualizare: închidere cu costuri sau continuare după o regulă explicită. Nu șterge pierderile deschise și nu reseta soldul. Unește evaluările cronologic fără profiturile de calibrare. Rezolvă expunerea testelor suprapuse, fără dublare. Drawdownul perioadei complete provine din traseul equity comun; media drawdownurilor ferestrelor este alt calcul. Păstrează perioadele fără tranzacții și examinează concentrarea într-o singură fereastră. Compară cu o procedură fără actualizare, aleasă înainte, folosind aceleași date, costuri și dimensionare.
Un bloc istoric rezervat, observația demo ulterioară și simularea Monte Carlo răspund unor întrebări diferite. Permutarea păstrează rezultatele de intrare, schimbând ordinea; nu modelează orice regim viitor sau cost. Modul Forward din MT5 evaluează configurații pe o parte ulterioară a intervalului istoric: nu este automat walk-forward cu mai multe ferestre și nici observație prospectivă demo. Înregistrează toate calendarele și criteriile încercate. Nici WFE, nici durata demo, nici percentila simulată nu garantează profitabilitate.
Model RON: aceeași observație nu este două profituri
Exercițiu fictiv cu o singură expunere definită pentru fiecare interval, rezultat deja net, fără fluxuri externe sau capitalizare: intervalele 1, 2 și 3 aduc +100, −40 și +20 RON. Fereastra A cuprinde 1 și 2, deci +60 RON; B cuprinde 2 și 3, deci −20 RON. Suma rapoartelor de fereastră este +40 RON. Traseul unic are +80 RON: suma greșită a numărat pierderea din intervalul 2 de două ori.
Cu equity inițial 1.000 RON, traseul este 1.100, 1.060 și 1.080 RON. Scăderea maximă de la vârf este 40/1.100≈3,6364%. Păstrează ID intervalului și regula expunerii în fișierul unit. Acest exercițiu elimină dublarea aceleiași observații, nu una dintre două poziții reale distincte. Dacă ambele proceduri ar tranzacționa simultan, trebuie modelate împreună capitalul, ordinele și riscul; nu deduplica arbitrar pierderile.
Păstrează o singură înregistrare pentru aceeași observație. Pozițiile reale distincte se modelează împreună, nu se elimină arbitrar.
Pe un ecran mic poți derula diagrama orizontal sau o poți mări. Valorile și concluzia apar și în textul de mai jos.
- A: intervalele 1 și 2
- +60 RON – +100−40.
- B: intervalele 2 și 3
- −20 RON – −40+20; intervalul 2 apare deja în A.
- Traseu unic: 1, 2, 3
- +80 RON – Suma +40 RON a rapoartelor dublează pierderea −40 RON.
Ce faci la următoarea analiză
- Alege lungimile pentru întrebare și date. Cinci ani permit o singură pereche completă de patru ani antrenare și un an evaluare. Cinci pași anuali cer nouă ani: patru inițiali și cinci de evaluare. Numărul nu asigură independență.
- Pentru 2018–2023 păstrează cele două evaluări 2022/2023, candidații, criteriul și versiunile. Extinde explicit calendarul dacă vrei mai multe ferestre.
- Calculează WFE cu anualizare consecventă și numitor interpretabil. Schimbarea parametrilor sau raportul mic cer investigație, fără diagnostic automat. Separă modificările de proiectare de testul final neatins.
- Verifică limitele procedurii. WFE peste 0,5, trei–șase luni demo și drawdown sub 25% la percentila 95 nu constituie permisiune universală de lansare. Justifică datele, durata și criteriul de risc; rezultatul final rămâne neatins numai cât timp nu influențează alte alegeri.
Pentru context, citește descoperirea avantajului și testarea practică MT4/MT5.
Verifică ce ai învățat
Exercițiu: aproximativ 2 minute.
Arată răspunsul și explicația
După închiderea 9 există închiderile 8 și 9 cerute de eticheta 7. Răspuns pentru acest orizont de doi pași.
Alte întrebări
Cum diferă walk-forward de o singură împărțire IS/OOS?
Cum interpretez WFE și pragurile?
Când aleg rolling în loc de anchored?
Walk-forward bun garantează profit real?
Surse și verificare
- scikit-learn — TimeSeriesSplit
Calendar, observații regulate și gap ca număr de observații finale excluse.
- scikit-learn — contaminarea datelor
Transformările se învață din antrenare; testul nu orientează ajustarea.
- TradeStation — sumar OOS
Convenția WFE anualizată și caracterul orientativ al pragului 50%.
- TradeStation — rolling și anchored
Diferența dintre fereastra deplasată și începutul fix; criterii configurabile, fără garanție.
- MetaQuotes — Strategy Tester
Forward este parte ulterioară a unui interval istoric; distinct de observația viitoare demo.
Calculele folosesc ipotezele precizate explicit. Nu înlocuiesc datele actuale ale pieței sau condițiile furnizorului.
