18 octombrie 2026 · cercetare

Cum testez retrospectiv o strategie care tranzacționează pe baza unui semnal zilnic?

Cum testez retrospectiv o strategie care tranzacționează pe baza unui semnal zilnic?

O strategie zilnică ce își calculează semnalul pe baza prețului de închidere de luni nu poate plasa un ordin la închiderea de luni. Îl poate trimite după ce prețul este cunoscut, apoi poate tranzacționa la un preț executabil ulterior. Această mică alegere de moment poate schimba rezultatul mai mult decât un indicator sofisticat.

Pentru un backtest zilnic, notează succesiunea evenimentelor înainte să scrii semnalul: când se încheie bara, când calculează strategia, când ajunge ordinul pe piață și la ce preț ar putea fi executat în mod plauzibil. Dacă toate aceste evenimente au loc în același moment, backtestul a sărit peste partea dificilă.

Pot folosi prețul de închidere de azi pentru a tranzacționa tot la închiderea de azi?

De obicei, nu. Un semnal care depinde de prețul final de închidere devine disponibil abia după ce are loc licitația de închidere sau ultima tranzacție. O execuție la același preț presupune că strategia a cunoscut rezultatul suficient de devreme ca să participe la un preț care a contribuit la stabilirea acelui rezultat.

Să luăm o regulă simplă: cumpără când prețul de închidere este peste media mobilă pe 20 de zile. La închiderea de luni, regula se activează. Un backtest care cumpără la închiderea de luni folosește prețul final al zilei de luni atât pentru decizie, cât și pentru execuție. Pentru un model simplu bazat pe bare zilnice, aproximarea corectă este să generezi ordinul după încheierea barei de luni și să îl execuți cel mai devreme la deschiderea de marți, incluzând costurile adecvate.

Există strategii care trimit ordine la licitația de închidere folosind informațiile disponibile înainte de ora-limită a licitației. Acestea pot fi testate retrospectiv, dar semnalul trebuie să folosească doar date disponibile înainte de ora-limită, iar execuția trebuie să reflecte tranzacționarea în cadrul licitației. Sintagma „semnal zilnic” nu garantează niciuna dintre aceste condiții.

Care este prețul de execuție potrivit pentru un backtest zilnic?

Nu există un singur preț potrivit în toate cazurile. Deschiderea următoarei sesiuni este o ipoteză de pornire clară atunci când semnalul se formează pe baza unei bare zilnice încheiate, iar ordinul este trimis ulterior. Nu este o garanție: un salt peste noapte poate mișca piața, iar un ordin la piață va suporta spreadul, comisioanele și, posibil, impactul asupra pieței.

Pentru semnalul de luni de mai sus, să presupunem că prețul de închidere de luni este $100, iar marți piața se deschide la $103. Un backtest de la o închidere la alta poate arăta un mic câștig dacă pretinde că a cumpărat la $100. O intrare la deschiderea următoarei sesiuni începe de la $103. Diferența de $3 nu este „slippage” care trebuie ajustat până dispare; este consecința de preț a faptului că semnalul devine cunoscut după închiderea de luni.

Semnalul devine disponibil Moment posibil al execuției Ipoteza modelului
După închiderea zilei Deschiderea următoarei sesiuni Ordinul poate ajunge pe piață înainte de deschidere sau chiar la deschidere
Înainte de ora-limită a licitației de închidere Licitația de închidere Semnalul folosește doar informații disponibile înainte de ora-limită; execuția la licitație este modelată
După închiderea zilei Un preț intrazilnic ulterior Strategia așteaptă; execuția necesită date intrazilnice și un program precizat

Pe piețele cripto, „închiderea zilnică” este o convenție, deoarece tranzacționarea continuă și la schimbarea datei. O strategie poate folosi în continuare o lumânare zilnică UTC încheiată, dar trebuie să aștepte încheierea lumânării și sosirea datelor. Dacă fluxul tău de date finalizează bara cu câteva secunde întârziere, este cu atât mai greu de justificat un ordin la prețul de la momentul-limită.

Cum ar trebui să modelez ordinele când am doar bare zilnice?

Precizează clar ce îți pot și ce nu îți pot spune barele. OHLCV zilnic poate susține o aproximare bazată pe deschiderea următoarei sesiuni, dar nu poate dezvălui spreadul la momentul sosirii ordinului, evoluția prețurilor pe parcursul zilei sau dacă un ordin limită a intrat la coadă înainte ca prețul să atingă nivelul respectiv.

Pentru un ordin zilnic la piață, pornește de la deschiderea următoarei sesiuni, apoi scade din rezultatul strategiei costurile pe care le-ar suporta în realitate: comisioanele platformei, o estimare a spreadului și o estimare a impactului potrivită dimensiunii ordinului. Testează și scenarii cu costuri mai mari. Dacă rezultatul depinde de presupunerea unui spread zero sau a unui impact neglijabil, barele zilnice nu justifică un asemenea grad de încredere.

Pentru un ordin limită, faptul că minimul zilei a atins prețul-limită nu dovedește că ordinul a fost executat. Este posibil ca piața să fi tranzacționat la acel preț înainte să ajungă ordinul tău sau să fi existat o cantitate mai mare înaintea ta în coadă decât cantitatea tranzacționată. Barele zilnice sunt adesea prea grosiere pentru un model credibil al cozii. Folosește date mai detaliate dacă afirmația ta depinde de execuția intrazilnică sau adoptă o ipoteză de execuție deliberat conservatoare și eticheteaz-o ca atare.

Ce verificări de moment pot depista folosirea datelor viitoare într-un backtest zilnic?

Prefer câteva verificări directe, fiindcă scot rapid la iveală ipotezele:

O deplasare cu o sesiune este un test de diagnostic, nu un model universal de execuție. O reechilibrare lentă a portofoliului, o strategie bazată pe licitația de închidere și un sistem cripto care tranzacționează continuu au nevoie de ceasuri diferite. Important este ca acest ceas să fie vizibil.

Datele zilnice fac un backtest mai puțin util?

Nu. Datele zilnice pot fi foarte potrivite pentru o strategie ale cărei decizii și perioade de deținere se măsoară în zile sau săptămâni. Sunt utile pentru a evalua dacă merită să cercetezi mai departe o regulă generală. Devind înșelătoare când backtestul pretinde o precizie a execuțiilor pe care barele nu o pot arăta.

Am văzut mai multe strategii care s-au îmbunătățit spectaculos după ce cineva a schimbat „semnal la închidere, execuție la închidere” în „semnal la închidere, execuție la deschiderea următoarei sesiuni”. Rezultatul poate fi dezamăgitor, dar este valoros: îți spune dacă ideea rezistă din momentul în care devine tranzacționabilă. Păstrează contractul de sincronizare alături de codul strategiei. Altfel, următoarea rundă de optimizare va readuce pe furiș execuția imposibilă.

semnale zilnicemomentul execuțieibacktestingdate de piață
← Toate articolele