Cum să testați o strategie de tranzacționare
Acasă
Articole
Cum să testați o strategie de tranzacționare

Cum să testați o strategie de tranzacționare

Intermediar
Publicat Dec 17, 2020Actualizat Jun 21, 2023
7m

TL;DR

Credeți că aveți idei grozave despre piață, dar nu știți cum să le testați fără a vă risca fondurile? A ști cum se testează ideile de tranzacționare reprezintă unul dintre cele mai importante atuuri ale unui bun trader sistematic.

Premisa de bază a testării este că ceea ce a funcționat în trecut poate funcționa în viitor. Dar cum puteți face dvs. acest lucru și cum ar trebui să evaluați rezultatele? Să vedem cum arată un proces simplu de backtesting.

Introducere

Backtestingul este una dintre componentele cheie ale dezvoltării propriei strategii de analiză a graficelor și tranzacționare. Se realizează prin reconstruirea tranzacțiilor care ar fi avut loc în trecut cu un sistem bazat pe date istorice. Rezultatele backtestingului ar trebui să vă ofere o idee generală dacă o strategie de investiții este eficientă sau nu.

Ce este backtestingul?

În primul rând, dacă doriți să aflați mai multe despre backtesting, citiți articolul nostru Ce este backtestingul? 

Pe scurt, scopul principal al backtestingului este să vă arate dacă ideile dvs. de tranzacționare sunt valide. Începeți folosind datele de piață anterioare pentru a vedea cum ar fi funcționat o strategie. Dacă strategia pare că are potențial, poate fi eficientă și într-un mediu de tranzacționare în timp real.

Ce trebuie să faceți înainte de backtesting?

Înainte de a începe backtestingul, trebuie să stabiliți ce tip de trader sunteți. Sunteți un trader discreționar sau sistematic?

Tranzacționarea discreționară se bazează pe decizii - traderii își folosesc propria judecată pentru a stabili când să deschidă și să închidă poziții. Este o strategie relativ liberă și deschisă, în care majoritatea deciziilor depind de evaluarea de către traderi a condițiilor curente. Prin urmare, backtestingul este mai puțin relevant atunci când vine vorba de tranzacționare discreționară, deoarece strategia nu este strict definită.

Desigur, acest lucru nu înseamnă că, dacă sunteți un trader discreționar, nu ar trebui să testați sau să tranzacționați virtual deloc. Înseamnă doar că rezultatele pot să nu fie la fel de fiabile cum sunt, de obicei, în cazul tranzacționării sistematice.

Tranzacționarea sistematică se aplică mai bine backtestingului. Traderii sistematici se bazează pe un sistem de tranzacționare care definește și le spune exact când să deschidă și să închidă poziții. În timp ce traderii sistematici au control asupra majorității aspectelor strategiei, aceasta determină semnalele de intrare și ieșire în întregime pentru ei. O strategie sistematică simplă are doi pași simpli:

  1. Când A și B au loc în același timp, intrați într-o tranzacție. 

  2. Când X are loc după, ieșiți din tranzacție. 

Unii traderi preferă această abordare. Poate elimina deciziile emoționale din tranzacționare și poate oferi un grad rezonabil de siguranță că un sistem de tranzacționare este profitabil. Desigur, tot nu există garanții.

Acesta este motivul pentru care este important să vă asigurați că aveți reguli foarte clare în sistem pentru momentul deschiderii sau închiderii pozițiilor. O strategie care nu este bine definită va duce la rezultate inconsecvente. După cum v-ați putea aștepta, acest stil de tranzacționare este mai popular în cazul tranzacționării algoritmice.

Există un software de backtesting pe care îl puteți cumpăra dacă doriți să automatizați procesul - trebuie doar să introduceți propriile date, iar software-ul va face backtestingul pentru dvs. În acest exemplu, însă, vom alege o strategie manuală de backtesting. Presupune puțin mai mult efort, dar este complet gratuită.

Cum să testați o strategie de tranzacționare?

Puteți găsi un șablon de foaie de calcul Google Sheets la acest link. Acesta este un șablon rudimentar pe care îl puteți folosi ca punct de plecare pentru a vă crea propriul șablon. Vă oferă o idee generală despre informațiile pe care le poate conține o fișă de backtesting. Unii traderi vor prefera să folosească Excel sau să codeze în Python; nu există reguli stricte. Puteți adăuga oricâte date aveți nevoie, alături de orice alte informații pe care le considerați utile.

Data

Piața

Lateral

Intrare

Stop pierdere

Profit

Risc

Recompensă

PnL

12.08

BTCUSD

Long

18.000 USD

16.200 USD

21.600 USD

10%

20%

3600

12.09

BTCUSD

Short

19.000 USD

20.900 USD

13.300 USD

10%

30%

-1900


Să testăm o strategie de tranzacționare simplă:

  • Cumpărăm un Bitcoin la prima închidere zilnică după o cruce de aur. Considerăm că este o cruce de aur atunci când media mobilă pe 50 de zile trece peste media mobilă pe 200 de zile.

  • Vindem un Bitcoin la prima închidere zilnică după o cruce a morții. Considerăm că este o cruce a morții atunci când media mobilă pe 200 de zile trece sub media mobilă pe 50 de zile.

După cum puteți vedea, am definit și intervalul de timp în care strategia este valabilă. Aceasta înseamnă că dacă are loc o cruce de aur pe graficul de patru ore, nu o vom considera un semnal de tranzacționare.

Intervalul de timp din acest exemplu începe la începutul anului 2019. Cu toate acestea, dacă doriți să obțineți rezultate mai precise și mai fiabile, puteți merge mult mai departe în istoricul acțiunii prețului Bitcoin.

Acum, să vedem ce semnale de tranzacționare a produs acest sistem pentru perioada respectivă:

  • Cumpărare @ ~ 5.400 USD

  • Vânzare @ ~ 9.200 USD

  • Cumpărare @ ~ 9.600 USD

  • Vânzare @ ~ 6.700 USD

  • Cumpărare @ ~9.000 USD

Iată cum arată semnalele noastre suprapuse pe grafic:

Strategia cruce de aur - crucea morții. Sursa: TradingView

Prima noastră tranzacție ar fi obținut un profit de aproximativ 3.800 USD, în timp ce a doua tranzacție a dus la o pierdere de aproximativ 2.900 USD. Aceasta înseamnă că PnL-ul nostru realizat este în prezent de 900 USD. 

De asemenea, suntem într-o tranzacție activă, care, din decembrie 2020, are un profit nerealizat de aproximativ 9.000 USD. Dacă rămânem la strategia noastră definită inițial, o vom închide atunci când va avea loc următoarea cruce a morții. 

Evaluarea rezultatelor backtestingului

Deci, ce arată aceste rezultate? Strategia noastră ar fi avut un randament rezonabil, dar nu arată nimic extraordinar până acum. Am putea realiza tranzacția deschisă în prezent pentru a crește drastic PnL-ul nostru realizat, dar asta ar anula scopul backtestingului. Dacă nu ne ținem de plan, nici rezultatele nu vor fi de încredere.

Chiar dacă aceasta este o strategie sistematică, merită să luăm în considerare și contextul. Tranzacția neprofitabilă de la 9.600 USD la 6.700 USD a fost în momentul prăbușirii din cauza COVID-19 din martie 2020. Un astfel de eveniment Lebădă neagră poate avea o influență imensă asupra oricărui sistem de tranzacționare. Acesta este un alt motiv pentru care merită să ne uităm mai departe pentru a vedea dacă această pierdere este o valoare anormală sau doar un efect secundar al strategiei.

Acesta este un exemplu de proces simplu de backtesting. Această strategie ar putea fi promițătoare dacă includem o perioadă mai mare și o testăm cu mai multe date sau includem alți indicatori tehnici pentru ca semnalele pe care le produce să devină mai puternice.

Dar ce altceva vă mai pot arăta rezultatele backtestingului?

  • Indicatori de volatilitate: creșterea și scăderea maxime.

  • Expunere: suma de capital pe care trebuie să o alocați din întregul portofoliu pentru a executa strategia.

  • Randamentul anualizat: randamentul procentual al strategiei pe parcursul unui an.

  • Raportul câștig-pierdere: cât de multe dintre tranzacțiile din sistem vor avea ca rezultat probabil un câștig și cât de multe vor avea ca rezultat probabil o pierdere.

  • Preț mediu de execuție: prețul mediu al intrărilor și ieșirilor executate din strategie.

Rețineți că aceste exemple menționate mai sus nu constituie o listă exhaustivă. Ce indicatori doriți să urmăriți depinde în totalitate de dvs. În orice caz, cu cât veți înregistra mai multe detalii despre configurații, cu atât veți avea mai multe oportunități de a învăța din rezultate. Unii traderi sunt foarte riguroși în backtesting, iar acest lucru se poate reflecta și în rezultatele lor.

Un ultim lucru de luat în considerare este optimizarea. Dacă ați citit articolul nostru despre backtesting, veți ști diferența dintre backtesting și forward testing sau tranzacționarea virtuală. 

Gânduri de încheiere

Am arătat procesul de bază prin care se face un backtest manual al unei strategii de tranzacționare. Cu toate acestea, este important să rețineți că performanța trecută nu garantează performanța viitoare.

Mediile de piață se schimbă și va trebui să vă adaptați la aceste schimbări dacă doriți să vă îmbunătățiți strategia de tranzacționare. De asemenea, ar trebui să nu aveți încredere orbește în date. Simțul practic este un instrument util – deși adesea trecut cu vederea – atunci când vine vorba de evaluarea rezultatelor.

Materiale suplimentare