1 mai 2021 9:04

Testare înapoi și testare înainte: importanța corelației

Comercianții care sunt dornici să încerce o idee de tranzacționare pe o piață live fac adesea greșeala de a se baza în totalitate pe rezultate de backtesting pentru a determina dacă sistemul va fi profitabil. În timp ce testarea înapoi poate oferi comercianților informații valoroase, acestea sunt adesea înșelătoare și reprezintă doar o parte a procesului de evaluare.

Testarea în afara eșantionului și testarea performanței directe oferă confirmări suplimentare cu privire la eficacitatea unui sistem și pot arăta culorile adevărate ale unui sistem înainte ca numerarul real să fie pe linie. O corelație bună între testarea înapoi, rezultatele în afara eșantionului și rezultatele testării performanței directe este vitală pentru a determina viabilitatea unui sistem de tranzacționare.

Noțiuni de bază privind testarea înapoi

Backtesting se referă la aplicarea unui sistem de tranzacționare la datele istorice pentru a verifica modul în care ar fi funcționat un sistem în perioada specificată. Multe dintre platformele de tranzacționare de astăzi acceptă testarea înapoi. Comercianții pot testa idei cu câteva apăsări de taste și pot obține informații despre eficacitatea unei idei fără a risca fonduri într-un cont de tranzacționare. Backtesting-ul poate evalua idei simple, cum ar fi performanța unui crossover mediu mobil 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ă înapoi. 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 propriu găzduit de platforma de tranzacționare. Programatorul poate încorpora variabile de intrare definite de utilizator care permit traderului să „regleze” sistemul.

Un exemplu în acest sens ar fi în sistemul simplu de încrucișare a mediei mobile menționat mai sus: Comerciantul ar putea introduce (sau modifica) lungimile celor două medii mobile utilizate în sistem. Comerciantul ar putea face backtest pentru a determina care lungimi ale mediilor mobile ar fi avut cel mai bun rezultat pe baza datelor 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ă calculele” pentru a afla ce intrare ar fi avut cel mai bun rezultat. O optimizare multi-variabilă poate calcula 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 informații ar dori să adauge în strategia lor; acestea ar fi apoi optimizate la ponderile lor ideale, având în vedere datele istorice testate.

Testarea înapoi poate fi interesantă, deoarece un sistem neprofitabil poate fi adesea transformat magic într-o mașină de câștigat bani cu câteva optimizări. Din păcate, modificarea unui sistem pentru a atinge cel mai mare nivel de profitabilitate din 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 curbei este utilizarea analizei de optimizare pentru a crea cel mai mare număr de tranzacții câștigătoare la cel mai mare profit pe baza datelor istorice utilizate în perioada de testare. Deși pare impresionant în rezultatele backtesting-ului, ajustarea curbei duce la sisteme nesigure, deoarece rezultatele sunt în esență personalizate pentru acele date și perioade de timp.

Backtesting-ul și optimizarea oferă multe avantaje unui comerciant, dar aceasta este doar o parte a procesului atunci când se 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 înapoi.

În eșantion versus date în afara eșantionului

Atunci când testați o idee pe date istorice, este benefic să rezervați o perioadă de timp a datelor istorice în scopul testării. Datele istorice inițiale pe care ideea este testată și optimizată sunt denumite date din eșantion. Setul de date care a fost rezervat este cunoscut ca date în afara eșantionului. Această configurare este o parte importantă a procesului de evaluare, deoarece oferă o modalitate de a testa ideea pe date care nu au fost o componentă a modelului de optimizare.

Ca urmare, ideea nu va fi influențată în niciun fel de datele din eșantion, iar comercianții vor putea determina cât de bine ar putea performa sistemul pe date noi, adică în tranzacționarea în viața reală.

Înainte de a iniția orice backtesting sau optimizare, comercianții pot anula un procent din datele istorice pentru a fi rezervat pentru testarea în afara eșantionului. O metodă este de a împărți datele istorice în treimi și de a separa o treime pentru a fi utilizate în testarea în afara eșantionului. Doar datele din eșantion ar trebui utilizate pentru testarea inițială și orice optimizare.

Figura de mai jos prezintă o linie de timp în care o treime din datele istorice sunt rezervate pentru testarea în afara eșantionului, iar două treimi sunt utilizate pentru testarea în eșantion. Deși figura de mai jos prezintă datele în afara eșantionului la începutul testului, procedurile tipice ar avea porțiunea în afara eșantionului imediat anterior performanței directe.

Corelația se referă la asemănările dintre 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 (o 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ței forward și în tranzacționarea live.

Figura de mai jos ilustrează două sisteme diferite care au fost testate și optimizate pe date din eșantion, apoi aplicate datelor din eșantion. Graficul din stânga arată un sistem care se potrivea în mod clar pentru a funcționa bine pe datele din eșantion și a eșuat complet pentru datele din eșantion. Graficul din dreapta arată un sistem care a funcționat bine atât pe datele din eșantion, cât și din eșantion.

Odată ce un sistem de tranzacționare a fost dezvoltat folosind date din eșantion, acesta este gata să fie aplicat datelor din eșantion. Comercianții pot evalua și compara rezultatele performanței între datele din eșantion și cele din eșantion.

Dacă există o corelație mică între testarea în eșantion și testarea în afara eșantionului, cum ar fi graficul din stânga din figura de mai sus, este probabil ca sistemul să fie supra-optimizat și să nu funcționeze bine în tranzacționarea live. Dacă există o corelație puternică a performanței, așa cum se vede în graficul din dreapta, următoarea fază a evaluării implică un tip suplimentar de testare în afara eșantionului, cunoscut sub numele de testare a performanței în avans.

Noțiuni de bază privind testarea performanței înainte

Testarea înainte a performanței, cunoscută și sub denumirea de tranzacționare pe hârtie, oferă comercianților un alt set de date din eșantion pe care să evalueze un sistem. Testarea performanței forward este o simulare a tranzacționării reale și implică respectarea logicii sistemului pe o piață live. Se mai numește tranzacționare pe hârtie, deoarece toate tranzacțiile sunt executate numai pe hârtie; adică intrările și ieșirile comerciale sunt documentate împreună cu orice profit sau pierdere pentru sistem, dar nu se execută tranzacții reale.

Un aspect important al testării performanței directe este urmărirea exactă a logicii sistemului; în caz contrar, devine dificil, dacă nu imposibil, să evaluezi cu acuratețe acest pas al procesului. Comercianții ar trebui să fie sinceri cu privire la orice intrări și ieșiri comerciale și să evite comportamentele cum ar fi tranzacțiile de culegere de cireșe sau să nu includă o tranzacție pe hârtie care să raționalizeze că „nu aș fi luat niciodată această tranzacție”. Dacă tranzacția s-ar fi produs urmând logica sistemului, ar trebui să fie documentată și evaluată.

Mulți brokeri oferă un cont de tranzacționare simulat în care pot fi plasate tranzacții și pot fi calculate profitul și pierderea corespunzătoare. Utilizarea unui cont de tranzacționare simulat poate crea o atmosferă semi-realistă pe care să practicați tranzacționarea și să evaluați în continuare sistemul.

Figura de mai sus arată, de asemenea, rezultatele pentru testarea performanței directe pe două sisteme. Din nou, sistemul reprezentat în graficul din stânga nu reușește să depășească testarea inițială a datelor din eșantion. Cu toate acestea, sistemul afișat în graficul din dreapta continuă să funcționeze bine în toate fazele, inclusiv testarea performanței înainte. Un sistem care prezintă rezultate pozitive, cu o corelație bună între testarea performanței în eșantion, în afara eșantionului și în viitor, este gata pentru a fi implementat pe o piață live.

Linia de fund

Backtesting-ul 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 eșantionului poate oferi comercianților un mijloc practic și eficient de evaluare a unei idei și a unui sistem de tranzacționare. Deoarece majoritatea traderilor folosesc tehnici de optimizare în testarea înapoi, 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țelor directe oferă un alt strat de siguranță înainte de a introduce un sistem pe piață riscând bani reali. Rezultatele pozitive și o corelație bună între testarea înapoi în eșantion și în afara eșantionului și testarea performanței forward crește probabilitatea ca un sistem să funcționeze bine în tranzacționarea efectivă.