Backtesting și Forward Testing: Importanța corelației

JAGfx Weekly Analysis 25th June 2018 (Octombrie 2024)

JAGfx Weekly Analysis 25th June 2018 (Octombrie 2024)
Backtesting și Forward Testing: Importanța corelației
Anonim

Comercianții care doresc să încerce o idee de tranzacționare pe o piață live fac adesea greșeala de a se baza în întregime pe rezultatele backtesting pentru a determina dacă sistemul va fi profitabil. În timp ce backtesting-ul poate oferi comercianților informații valoroase, este adesea înșelătoare și este doar o parte a procesului de evaluare. Testarea în afara eșantionului și testarea performanțelor în avans oferă o confirmare suplimentară cu privire la eficacitatea sistemului și pot arăta culorile adevărate ale sistemului, înainte ca banii reali să fie pe linie. Corelația corectă dintre rezultatele backtesting-ului, rezultatele în afara eșantionului și rezultatele testării performanței este vitală pentru determinarea viabilității unui sistem de tranzacționare. (Pentru a afla mai multe, citiți Backtesting: Interpretarea trecutului .

Elementele de bază ale testării Backtesting-ul se referă la aplicarea unui sistem de tranzacționare asupra datelor istorice pentru a verifica modul în care un sistem ar fi efectuat în perioada de timp specificată. Multe platforme de tranzacționare de astăzi suportă backtesting. Comercianții pot testa idei cu câteva apăsări ale tastaturii și pot obține o perspectivă asupra eficienței unei idei fără a risca fonduri într-un cont de tranzacționare. Backtesting-ul poate evalua idei simple, cum ar fi modul în care un crossover mediu în mișcare ar efectua 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 confirmată. Unii comercianți și investitori pot căuta expertiza unui programator calificat pentru a dezvolta ideea într-o formă testabilă. În mod obișnuit, acest lucru implică un programator care codifică ideea în limba proprie găzduită de platforma de tranzacționare. Programatorul poate integra variabile de intrare definite de utilizator care permit comerciantului să "optimizeze" sistemul. Un exemplu în acest sens ar fi sistemul de încrucișare cu mișcare simplă, menționat mai sus: comerciantul ar putea introduce (sau schimba) lungimile celor două medii mobile utilizate în sistem. Comerciantul ar putea face o analiză pentru a determina ce lungimi de medii mobile ar fi efectuat cele mai bune date istorice. (Aflați mai multe informații în Tutorialul Electronic Trading .)

Studii de optimizare
Multe platforme de tranzacționare permit, de asemenea, studii de optimizare. Aceasta presupune introducerea unui interval pentru intrarea specificată și permițând calculatorului să "facă matematica" pentru a afla ce input ar fi realizat cel mai bine. O optimizare multi-variabilă poate face matematica pentru două sau mai multe variabile combinate pentru a determina ce niveluri împreună ar fi atins cel mai bun rezultat. De exemplu, comercianții pot spune programului care inputuri ar dori să le adauge în strategia lor; acestea ar fi apoi optimizate la greutatea lor ideală, date fiind datele istorice testate.

Backtesting-ul poate fi incitant prin faptul că un sistem neprofitabil poate fi adesea transformat în mod magic într-o mașină de fabricat bani cu câteva optimizări. Din păcate, optimizarea unui sistem pentru a atinge cel mai mare nivel al profitabilității din trecut conduce deseori la un sistem care va funcționa prost în tranzacțiile reale. Această optimizare excesivă creează sisteme care arată bine numai pe hârtie.

Montarea 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, montarea curbei conduce la sisteme nesigure, deoarece rezultatele sunt în mod esențial concepute numai pentru acele date și perioade particulare.

Backtesting-ul și optimizarea oferă numeroase beneficii unui comerciant, dar acesta este doar o parte a procesului atunci când evaluează un potențial sistem de tranzacționare. Următorul pas al comerciantului este de a aplica sistemul la datele istorice care nu au fost utilizate în faza de backtesting inițială. (Mediul în mișcare este ușor de calculat și, odată ce este reprezentat pe grafic, este un instrument puternic de urmărire a tendințelor vizuale.Pentru mai multe informații, citiți Simple Moving Average Make Trends Stand Out .

Eșantionul vs. datele scoase din eșantion
Atunci când se testează o idee privind datele istorice, este benefic să se rezerve o perioadă de timp a datelor 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 sub numele de date din eșantion. Această configurare este o parte importantă a procesului de evaluare deoarece oferă o modalitate de a testa ideea privind datele care nu au fost o componentă a modelului de optimizare. Ca rezultat, ideea nu va fi fost influențată în niciun fel de datele extrase din eșantion, iar comercianții vor putea determina cât de bine ar putea funcționa sistemul pe date noi; i. e. în viața reală.

Înainte de a iniția orice backtesting sau de optimizare, comercianții pot anula un procent din datele istorice care urmează să fie rezervate pentru testarea în afara eșantionului. O metodă este de a împărți datele istorice în treimi și de a segrega o treime pentru a fi utilizate în testarea în afara eșantionului. Numai datele din eșantion ar trebui utilizate pentru testarea inițială și pentru orice optimizare. Figura 1 prezintă o linie de timp în care o treime din datele istorice este rezervată pentru testarea în afara eșantionului și două treimi sunt utilizate pentru testarea în cadrul eșantionului. Deși Figura 1 prezintă datele din eșantion la începutul testului, procedurile tipice ar avea porțiunea exoplanetă imediat precedentă performanței înainte.

Figura 1: O linie de timp reprezentând lungimea relativă a datelor din eșantion și din eșantion utilizate în procesul de backtesting.

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

Corelația se referă la asemănările dintre performanțe și tendințele generale ale celor două seturi de date.Măsurile de corelație pot fi utilizate în evaluarea rapoartelor de performanță ale strategiei create în timpul perioadei de testare (o caracteristică pe care majoritatea platformelor de tranzacționare o oferă). Cu cât corelația dintre cele două este mai puternică, cu atât este mai mare probabilitatea ca un sistem să funcționeze bine în testele de performanță și tranzacționarea live. Figura 2 ilustrează două sisteme diferite care au fost testate și optimizate pe date din eșantion, apoi aplicate la date din eșantion. Diagrama din stânga arată un sistem care a fost în mod clar curbil pentru a funcționa bine pe datele din eșantion și a eșuat complet la datele din eșantion. Diagrama din dreapta arată un sistem care a funcționat bine atât pe date în și în afara eșantionului.

Figura 2: Două curbe de capitaluri proprii. Datele comerciale înainte de fiecare săgeată galbenă reprezintă testarea în cadrul eșantionului. 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 provin din etapele de testare a performanțelor.

În cazul în care există o mică corelație între testarea în eșantion și cea în afara eșantionului, cum ar fi graficul din stânga din Figura 2, este probabil că sistemul a fost prea optimizat și nu va funcționa bine în tranzacțiile live. Dacă există corelație puternică în performanță, după cum se vede în graficul din dreapta din Figura 2, următoarea fază a evaluării implică un tip suplimentar de teste în afara eșantionului cunoscut sub numele de teste de performanță înainte. (Pentru mai multe informații despre prognoză, consultați Prognoza financiară: Metoda Bayesian .)

Elementele de bază ale testării performanței viitoare Testarea performanței viitoare, cunoscută și sub denumirea de tranzacționare pe hârtie, oferă comercianților un alt set de date de eșantion pe care să se evalueze un sistem. Testarea performanțelor viitoare este o simulare a tranzacțiilor reale și implică urmărirea logicii sistemului într-o piață live. De asemenea, se numește tranzacționare de hârtie deoarece toate tranzacțiile sunt executate numai pe hârtie; adică intrările și ieșirile din comerț sunt documentate împreună cu orice profit sau pierdere pentru sistem, dar nu se efectuează tranzacții reale. Un aspect important al testelor de performanță este urmarea exact a logicii sistemului; în caz contrar, devine dificil, dacă nu chiar imposibil, să evaluăm cu exactitate această etapă a procesului. Comercianții ar trebui să fie cinstiți în legătură cu orice intrare și ieșire din comerț și să evite comportamentul ca și schimburile de cireșe sau să nu includă un comerț pe hârtie, raționalizând că "n-aș fi făcut niciodată acest schimb". În cazul în care comerțul ar fi avut loc în urma logicii 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 se calculează profitul și pierderea corespunzătoare. Utilizarea unui cont de tranzacționare simulat poate crea o atmosferă semi-realistă pe care să se practice tranzacționarea și evaluarea ulterioară a sistemului.

Figura 2 prezintă, de asemenea, rezultatele testelor de performanță pentru două sisteme. Din nou, sistemul reprezentat în graficul stâng nu reușește să depășească testarea inițială pe datele din eșantion. Sistemul prezentat în graficul drept, cu toate acestea, continuă să funcționeze bine în toate fazele, inclusiv testarea performanțelor înainte.Un sistem care prezintă rezultate pozitive, cu corelație bună între testele de performanță în eșantion, în afara eșantionului și înainte, este gata să fie pusă în aplicare pe o piață live.

Linia de fund 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 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 comercianților folosesc tehnici de optimizare în backtesting, este important să evaluăm apoi sistemul pe date curate pentru a stabili viabilitatea acestuia. Continuarea testării în afara eșantionului cu testarea performanței înainte oferă un alt nivel de siguranță înainte de a pune un sistem pe piață, riscând bani reali. Rezultatele pozitive și corelarea corectă între testele de backtesting în eșantion și în afara eșantionului și testele de performanță în viitor cresc probabilitatea ca un sistem să funcționeze bine în tranzacțiile reale. (Pentru o prezentare completă a analizei tehnice, consultați Analiza tehnică: Introducere .)