Comercianții care sunt dornici să încerce o idee de tranzacționare pe o piață live adesea fac greșeala de a se baza în totalitate pe rezultatele testării pentru a determina dacă sistemul va fi rentabil. În timp ce testarea înapoi poate furniza comercianților informații valoroase, adesea este înșelătoare și este doar o parte a procesului de evaluare.
Testarea în afara eșantionului și testarea performanțelor forward oferă o confirmare suplimentară cu privire la eficacitatea unui sistem și pot arăta culorile adevărate ale unui sistem înainte ca banii reali să fie pe linie. O corelație bună dintre rezultatele testării performanței de retragere, extra-eșantionare și forward este esențială pentru determinarea viabilității unui sistem de tranzacționare.
Bazele backtesting
Backtesting se referă la aplicarea unui sistem de tranzacționare la date istorice pentru a verifica cum s-ar fi efectuat un sistem în perioada de timp specificată. Multe dintre platformele comerciale de astăzi acceptă testarea. Comercianții pot testa ideile cu câteva apăsări de taste și pot obține o perspectivă asupra eficacității unei idei fără a risca fonduri într-un cont de tranzacționare. Testarea înapoi poate evalua idei simple, cum ar fi modul în care un crossover mediu în mișcare s-ar efectua pe date istorice sau sisteme mai complexe cu o varietate de intrări și declanșatoare.
Atâta timp cât o idee poate fi cuantificată, ea poate fi testată. Unii comercianți și investitori pot solicita expertiza unui programator calificat pentru a dezvolta ideea într-o formă testabilă. De obicei, aceasta implică un programator care codifică ideea în limbajul proprietar găzduit de platforma de tranzacționare. Programatorul poate încorpora variabile de intrare definite de utilizator care permit comerciantului să „regleze” sistemul.
Un exemplu în acest sens ar fi în sistemul simplu de încrucișare a mediei mobile, menționat mai sus: Comerciantul va putea introduce (sau modifica) lungimile celor două medii mobile utilizate în sistem. Comerciantul ar putea să testeze pentru a determina care lungimi ale mediilor mobile ar fi fost cele mai bune în datele istorice.
Studii de optimizare
Multe platforme de tranzacționare permit, de asemenea, studii de optimizare. Aceasta implică introducerea unui interval pentru intrarea specificată și lăsarea computerului „să facă matematica” pentru a-și da seama ce intrare ar fi realizat cel mai bine. O optimizare multi-variabilă poate face matematica pentru două sau mai multe variabile pentru a determina ce combinații ar fi obținut cel mai bun rezultat.
De exemplu, comercianții pot spune programului ce intrări ar dori să adauge în strategia lor; acestea vor fi apoi optimizate la ponderile lor ideale, date fiind datele istorice testate.
Testarea înapoi poate fi interesantă prin faptul că un sistem neprofitabil poate fi transformat, în mod magic, într-o mașină de a face bani cu câteva optimizări. Din păcate, modificarea unui sistem pentru a atinge cel mai mare nivel de rentabilitate trecută duce adesea la un sistem care va avea performanțe slabe în tranzacționarea reală. Această supra-optimizare creează sisteme care arată bine doar pe hârtie.
Adaptarea curbelor este utilizarea analizelor de optimizare pentru a crea cel mai mare număr de tranzacții câștigătoare la cel mai mare profit pe datele istorice utilizate în perioada de testare. Deși arată impresionant în rezultatele testării, adaptarea curburilor duce la sisteme nesigure, deoarece rezultatele sunt esențial concepute pentru date și perioade de timp.
Testarea înapoi și optimizarea oferă multe avantaje unui comerciant, dar aceasta este doar o parte a procesului atunci când evaluează un potențial sistem de tranzacționare. Următorul pas al unui comerciant este aplicarea sistemului la datele istorice care nu au fost utilizate în faza inițială de testare.
În eșantion versus date extra-prelevate
La testarea unei idei cu date istorice, este bine să rezervați o perioadă de timp pentru date istorice în scopuri de testare. Datele istorice inițiale pe care ideea este testată și optimizată sunt denumite date în eșantion. Setul de date care a fost rezervat este cunoscut ca date extra-eșantionate. Această configurare este o parte importantă a procesului de evaluare, deoarece oferă o modalitate de a testa ideea pe date care nu au fost componente în modelul de optimizare.
Drept urmare, ideea nu va fi fost influențată în niciun fel de datele extra-eșantionate, iar comercianții vor putea determina cât de bine ar putea sistemul să funcționeze pe date noi, adică în tranzacționarea din viața reală.
Înainte de a iniția orice testare sau optimizare, comercianții pot rezerva un procent din datele istorice care vor fi rezervate testelor extra-mostre. O metodă este de a împărți datele istorice în treimi și de a separa o treime pentru a fi utilizate în testarea fără probă. Doar datele din eșantion trebuie utilizate pentru testarea inițială și orice optimizare.
Figura de mai jos arată o linie de timp în care o treime din datele istorice sunt rezervate testării în afara eșantionului și două treimi sunt utilizate pentru testarea în eșantion. Deși figura de mai jos prezintă datele din eșantion la începutul testului, procedurile tipice ar avea porțiunea din eșantion înaintea performanței anterioare.
O linie de timp care reprezintă lungimea relativă a datelor din eșantion și din eșantionul utilizate în procesul de testare. Imagine de Julie Bang © Investopedia 2020
Corelația se referă la asemănări între performanțe și tendințele generale ale celor două seturi de date. Valorile de corelație pot fi utilizate în evaluarea rapoartelor de performanță ale strategiei create în perioada de testare (caracteristică pe care o oferă majoritatea platformelor de tranzacționare). Cu cât este mai puternică corelația dintre cele două, cu atât este mai mare probabilitatea ca un sistem să funcționeze bine în testarea performanțelor înainte și în tranzacționarea în direct.
Figura de mai jos ilustrează două sisteme diferite care au fost testate și optimizate pe date din eșantion, apoi aplicate la date extra-mostre. Diagrama din stânga arată un sistem care era în mod clar adaptat la curbă pentru a funcționa bine la datele din eșantion și a eșuat complet asupra datelor din eșantion. Diagrama din partea dreaptă arată un sistem care a funcționat bine atât în datele de intrare cât și în afara probei.
Două curbe de capitaluri proprii. Datele de comerț înainte de fiecare săgeată galbenă reprezintă testarea în eșantion. Tranzacțiile generate între săgețile galbene și roșii indică testarea în afara eșantionului. Tranzacțiile după săgețile roșii sunt din fazele de testare a performanței înainte.
Odată ce un sistem de tranzacționare a fost dezvoltat folosind date în eșantion, acesta este gata de a fi aplicat la datele extra-mostre. Comercianții pot evalua și compara rezultatele performanței dintre datele din eșantion și cele din eșantion.
Dacă există o mică corelație între testarea în eșantion și cea din eșantion, cum ar fi graficul din stânga din figura de mai sus, este probabil ca sistemul să fi fost optimizat excesiv și să nu funcționeze bine în tranzacționare live. Dacă există o corelație puternică în performanță, așa cum se vede în graficul din dreapta, următoarea fază de evaluare implică un tip suplimentar de testare în afara eșantionului cunoscut sub denumirea de testare a performanței anterioare.
Noțiuni de bază privind testarea performanței anterioare
Testarea de performanță anterioară, cunoscută și sub denumirea de tranzacționare de hârtie, oferă comercianților un alt set de date extraeșantion pe care să evalueze un sistem. Testarea performanței anterioare este o simulare a tranzacționării efective și implică respectarea logicii sistemului pe o piață activă. Se mai numește tranzacționare de hârtie, deoarece toate tranzacțiile sunt executate doar pe hârtie; adică intrările și ieșirile comerciale sunt documentate împreună cu orice profit sau pierdere pentru sistem, dar nu sunt executate tranzacții reale.
Un aspect important al testării performanțelor înainte este de a urmări exact logica sistemului; în caz contrar, devine dificil, dacă nu imposibil, să evaluați cu exactitate acest pas al procesului. Comercianții ar trebui să fie sinceri cu privire la orice înregistrare și ieșire din comerț și să evite comportamentul precum tranzacțiile cu cireșul sau să nu includă un comerț pe hârtie raționalizând că „nu aș fi luat niciodată acest comerț”. Dacă comerțul s-ar fi produs după logica sistemului, ar trebui documentat și evaluat.
Mulți brokeri oferă un cont de tranzacționare simulat în care tranzacțiile pot fi plasate și se calculează profitul și pierderea corespunzătoare. Utilizarea unui cont de tranzacționare simulat poate crea o atmosferă semi-realistă pentru a exersa tranzacționarea și a evalua în continuare sistemul.
Figura de mai sus arată, de asemenea, rezultatele testării performanțelor anterioare pe două sisteme. Din nou, sistemul reprezentat în graficul din stânga nu reușește să depășească testarea inițială pe datele din eșantion. Totuși, sistemul prezentat în graficul potrivit continuă să funcționeze bine în toate etapele, inclusiv testarea performanței înainte. Un sistem care arată rezultate pozitive cu o corelație bună între testarea în eșantion, în afara eșantionului și testarea performanței forward este gata de a fi implementat pe o piață live.
Linia de jos
Backtesting este un instrument valoros disponibil în majoritatea platformelor de tranzacționare. Împărțirea datelor istorice în mai multe seturi pentru a asigura testarea în eșantion și în afara probei poate oferi comercianților un mijloc practic și eficient pentru evaluarea unei idei și a unui sistem de tranzacționare. Întrucât majoritatea comercianților utilizează tehnici de optimizare în testare, este important să evaluați apoi sistemul pe date curate pentru a determina viabilitatea acestuia.
Continuarea testării în afara eșantionului cu testarea performanței înainte oferă un alt strat de siguranță înainte de introducerea unui sistem pe piață, riscând numerar real. Rezultatele pozitive și o corelație bună între testarea din eșantion și cea din afara probei și testarea performanței anterioare crește probabilitatea ca un sistem să funcționeze bine în tranzacționarea efectivă.
