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

Pauză de unu sau doi pași; etichetă pe doi pașiTestul începe în intervalul 10, după închiderea 9. Eticheta observației t cere închiderile t+1 și t+2. Pauza unu păstrează observația 8, care cere închiderea 10 necunoscută. Pauza doi păstrează ultima observație 7, cu etichetă completă la închiderea 9.Primul interval de test: 10Eticheta t: închiderile t + 1, t + 2gap = 1; ultima observație: 8123456789101112Eticheta 8 cere închiderile 9 și 10.Închiderea 10 nu este cunoscută.gap = 2; ultima observație: 7123456789101112Eticheta 7 se încheie la 9.Este cunoscută înainte de testul 10.Verde: antrenare; gri: pauză; galben: test
Blocurile sunt indicii observațiilor din două împărțiri. Liniile arată până unde ajunge eticheta ultimei observații de antrenare.

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.

RON: rapoarte suprapuse sau un singur traseu?Model fictiv: aceeași expunere netă pe interval, fără fluxuri externe sau capitalizare. Rezultate +100, −40, +20 RON.CALCUL IPOTETICA: intervalele 1 și 2+60 RONB: intervalele 2 și 3−20 RONTraseu unic: 1, 2, 3+80 RON
RON: rapoarte suprapuse sau un singur traseu? Model fictiv: aceeași expunere netă pe interval, fără fluxuri externe sau capitalizare. Rezultate +100, −40, +20 RON.

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ă

  1. 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ță.
  2. Pentru 2018–2023 păstrează cele două evaluări 2022/2023, candidații, criteriul și versiunile. Extinde explicit calendarul dacă vrei mai multe ferestre.
  3. 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.
  4. 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.