Testarea unei strategii de tranzacționare în excel. Testarea strategiilor de tranzacționare. Metoda de optimizare a clusterelor stocastice
Fiecare pierdere a unui depozit pune un comerciant cu întrebarea - ce să facă în continuare? Vă optimizați strategia de tranzacționare? Este mai bine să controlezi emoțiile atunci când faci tranzacții? Sau poate faceți ceva radical și obțineți un consilier comercial?
Este a treia soluție care a devenit recent cea mai populară. Deși acest lucru are și avantajele și dezavantajele sale. Într-adevăr, consilierii nu sunt susceptibili la emoții, au criterii clare pentru deschiderea și închiderea pozițiilor și reacționează instantaneu la situațiile în schimbare ale pieței. Ce pot să spun – orice strategie de tranzacționare executată de un robot este întotdeauna mai eficientă decât aceeași strategie executată manual de un comerciant.
Cu toate acestea, această soluție are un dezavantaj semnificativ - orice sistem de tranzacționare, indicator sau consilier, necesită testare și optimizare înainte de a fi utilizat în tranzacționare. Și acesta este cel mai mult mare problema comercianti. La urma urmei, nu toți comerciantii au întâmpinat această problemă și sunt capabili să facă această treabă eficient. Dar timpul îi dictează cerințele pentru tranzacționare eficientă un comerciant trebuie să-și îmbunătățească cunoștințele și abilitățile. Acesta este exact subiectul - subiectul testării strategii de tranzacționareîi vom dedica acest articol.
Procesul de testare este de obicei efectuat pe date istorice. Mai rar, comercianții obișnuiți folosesc modelarea situațiilor de piață. În timpul testului, sistemul trebuie să recunoască situația de pe piață, să dea semnale clare pentru intrarea într-o tranzacție și să arate rezultatul acestor operațiuni de tranzacționare. Rezultatul tranzacționării pe o anumită perioadă este principalul criteriu de adecvare a unei strategii de tranzacționare pe piața reală.
Astfel, obiectivele principale ale testării sunt verificarea următorilor parametri:
- indicatori de performanță incluși în strategie;
- indicatori de piață ai strategiei de tranzacționare - lichiditate, risc, alunecare, costuri;
- optimitatea parametrilor inițiali ai strategiei;
- erori de cod software.
Rezultatul ar trebui să fie un raport cu date statistice și grafice ale rezultatelor testului.
După cum sa menționat mai sus, testarea se poate face pe două tipuri de date:
- date istorice privind mișcarea prețurilor. Dezavantajul metodei este discrepanța dintre datele istorice și starea reală actuală a pieței și, prin urmare, strategia trebuie optimizată pentru situația actuală;
- situații de piață simulate. Această metodă oferă rezultate de tranzacționare mai realiste.
Pentru testare, puteți folosi mai multe în diverse moduri. Software matematic utilizat pe scară largă, de exemplu de la compania MatLab sau MS Excel cu pluginuri de bursă, sisteme mecanice MetaStock, Wealth-Lab sau Omega, limbaje de programare sau testere încorporate în platforme de tranzacționare. Acestea din urmă sunt cele mai răspândite în rândul comercianților datorită simplității și accesibilității lor.
Testarea se realizează în mai multe etape:
- se efectuează un test vizual sistem comercial sau un indicator pe o perioadă suficient de lungă de date istorice folosind un tester manual de strategie;
- este creat un consilier comercial;
- Consilierul este testat pe o perioadă lungă de istorie în modul automat. În timpul procesului de testare, parametrii indicatori sunt selectați - consilierul este optimizat;
- După ce primește rezultate pozitive stabile ale testului, consilierul este testat automat pe un cont demo sau de cent.
Testerii strategiilor de tranzacționare sunt adesea folosiți pentru testare, care sunt instrumente analitice pentru lucrul cu datele istorice despre prețuri descărcate de pe surse externe. În timpul procesului de testare, se efectuează o analiză automată a funcționării algoritmului, pozițiile sunt deschise și închise. Testarea poate fi efectuată simultan pe mai multe instrumente de tranzacționare, în urma cărora puteți alege instrumentul pe care sistemul funcționează cel mai eficient.
În timpul testării vizuale, puteți observa cum sunt deschise pozițiile pe diagramă și puteți controla viteza de deschidere a pozițiilor. În modul de întârziere aleatorie sunt modulate situațiile cu întârzieri în executarea ordinelor de către brokeri. În acest mod, sunt disponibile setări pentru viteză, profit, perioadă și diferite condiții de tranzacționare.
Rezultatul muncii testerului se formează sub forma unui bloc statistic de informații și a unui grafic al modificărilor depozitului inițial. Statisticile reflectă date precum profit și pierdere, numărul de profitabile și pierderea tranzacțiilor, factori de risc și alți indicatori.
Mecanismul de testare a strategiei de tranzacționare Forward este foarte util atunci când optimizați o strategie de tranzacționare. Algoritmul muncii sale constă în împărțirea datelor istorice în două părți, în prima se efectuează optimizarea, iar în a doua se verifică rezultatele acestei optimizări. Adesea, algoritmul testerului încorporează o tehnică de testare distribuită, atunci când calculele sunt efectuate folosind instrumente de rețea.
Pentru testarea calității, datele istorice trebuie selectate cu atenție. Perioada de istorie trebuie să fie destul de lungă - cel puțin 5 ani. În același timp, istoria trebuie să includă o perioadă cu dinamică de criză, de exemplu, criza din 2008-2009. Când folosiți o perioadă mai scurtă, istoricul ar trebui să includă atât zone de tendințe, cât și zone plate.
Testarea se efectuează pe cantitati mari tranzacții. Se crede că trebuie să fie cel puțin 300 dintre ele. Condiție obligatorie testează strategia pe mai multe instrumente foarte lichide.
Testarea ar trebui să țină cont de comisioane și spread-uri, derapaje și întârzieri de execuție ordine de tranzacționare, lichiditatea unui instrument de tranzacționare, posibile modificări condiţiile de piaţă. Testarea este necesară pentru acele tipuri de ordine care sunt incluse în strategia de tranzacționare. În același timp, acuratețea modelării cozii de comandă din Registrul de comenzi este importantă, deoarece modelarea incorectă poate duce la rezultate mai proaste ale testării pe un cont real. Este necesar să se țină cont de creșterea spread-ului înainte de sesiunile de închidere pentru a minimiza costurile.
Testarea poate diferi în ceea ce privește metodele de calcul:
- la prețuri de deschidere - cea mai rapidă metodă de testare, dar și cea mai inexactă - pe perioade scurte de istorie, cele mai multe strategii testate pot arăta o absență completă a tranzacțiilor deschise;
- prin puncte de control - o metodă de testare echilibrată, dar cu un nivel scăzut de încredere în datele primite;
- prin căpușă - metoda cea mai preferată, cea mai apropiată de piața reală.
Când testați, rețineți că modelarea și volumele mari de date simulate consumă o mulțime de resurse, iar când vizualizați testarea, viteza calculelor scade.
Rezultatele testării pot fi văzute pe graficul final, care va afișa punctele de intrare și ieșire ale tranzacțiilor și datele indicatorilor utilizați. Este ușor de identificat erorile de strategie pe grafice.
Când încărcați istoricul, trebuie să vă amintiți că istoricul cotațiilor nu trebuie să aibă întreruperi sau să fie furnizat din surse diferite - cotațiile pentru testare ar trebui să curgă într-un flux continuu, fără deplasări sau omisiuni.
În primul rând despre grafică. În dreapta sus este zâmbetul volatilității. În stânga jos este profilul poziției curente. (linia maro este panta volatilității, arată cum se poate schimba volatilitatea atunci când se schimbă prețul). Restul cred ca este clar.
Funcţional. Pe lângă rularea rapidă a unei poziții (Start) și vizualizarea capitalului propriu (am accelerat procedura de procesare) și rularea acesteia „pas cu pas” (StepByStep), am adăugat un profil și am contabilizat schimbările de volatilitate.
Cum se utilizează. (vezi blogul anterior). Pentru a vedea pur și simplu rezultatul, apăsați pe Start. Pentru a viziona pas cu pas, bifați caseta din stânga StepByStep. Pentru a vizualiza profilul poziției, faceți clic pe Profil. Dacă apăsați StepByStep și nu doriți să apăsați Profil de fiecare dată, atunci bifați caseta din stânga butonului Profil. Dacă doriți să vizualizați un profil obișnuit (standard), atunci debifați Volatilitate. Dacă caseta de selectare este (Volatilitate), atunci profilul este desenat ținând cont de modificarea (modificarea posibilă) a volatilității. (linia maro pe grafic).
Bună ziua, domnilor comercianți! Articolul de astăzi va fi de interes atât pentru comercianții începători, cât și pentru profesioniști! După cum știți, terminalul de tranzacționare MT4 are unul așa-numit, conceput pentru testarea sistemelor automate de tranzacționare, adică. Dar dacă aveți o strategie manuală, cum să o testați? Desigur, puteți testa strategia pe istorie, dar acest lucru necesită prea mult timp și incomod. Și apoi, când știi deja cum se va comporta prețul pe povești, începi să manipulezi inconștient rezultatele strategiei, spunând, aici aș fi ieșit la punctul de rentabilitate sau aș fi încheiat afacerea mai devreme etc. Dacă vrei să evaluezi obiectiv capacitățile tale ca comerciant sau profitabilitatea strategiei, atunci vei avea nevoie de un simulator de tranzacționare Forex. Acesta este un simulator special care vă va ajuta să câștigați doi ani de experiență în tranzacționare în doar o săptămână. Astăzi ne vom uita la diferite programe pentru testarea strategiilor, vom compara capacitățile acestora, precum și avantajele și dezavantajele lor.
Ce este un tester de strategie Forex?
Tester manual de strategie este program special, care simulează tranzacționarea Forex. În exterior ea seamănă terminal de tranzacționare MetaTrader 4. În testerul de strategie, puteți descărca cotații pentru perechile valutare, puteți selecta o perioadă de tranzacționare și un interval de timp, puteți seta indicatori și șabloane, tranzacții deschise, inclusiv ordine în așteptare, plasați pierderi stop și profituri - în general, faceți tot ce puteți faceți într-un terminal de tranzacționare obișnuit. De exemplu, puteți seta o dată de tranzacționare înainte și puteți testa dacă strategia dvs. poate rezista fluctuațiilor de preț în timpul referendumului din Marea Britanie. Sau l-ați descărcat pe site-ul nostru și doriți să-i verificați eficacitatea - testerul de strategie vă va ajuta și în acest sens. Și dacă ești încă începător, atunci testerul de strategie te va ajuta să câștigi o experiență neprețuită de tranzacționare Forex în câteva zile. Spre deosebire de un cont demo, în care tranzacționarea se desfășoară în mod real, în testerul de strategie puteți accelera timpul și testa strategia în câteva zile. Acest lucru este valabil mai ales în weekendurile când piața este închisă. Folosind testerul de strategie, puteți, de asemenea, să vă lucrați la emoțiile și să vă perfecționați abilitățile de tranzacționare.
1. Tester Forex 3
Forex Tester este cel mai popular program pentru testarea strategiilor. Cu ajutorul acestuia, puteți testa rapid o strategie manuală sau un consilier, economisind timp și bani.
Avantajele Forex Tester 3
Dezavantajele Forex Tester 3
Singurul dezavantaj al Testerului Forex este că este plătit. Cu toate acestea, aveți ocazia să evaluați gratuit capacitățile acestuia folosind versiunea demo. Dar are limitele sale:
- testarea pe un interval de timp de cel mult 1 lună de date istorice;
- testarea continuă nu poate dura mai mult de 1 oră (odată terminată, trebuie să începeți din nou testarea);
- proiectele, șabloanele și rezultatele testelor nu pot fi salvate;
- alte caracteristici sunt aceleași ca în versiunea completă a programului.
Astăzi, Forex Tester 3 este cel mai realist și mai funcțional simulator de tranzacționare. Mai jos vom lua în considerare analogii săi liberi, care au un principiu de funcționare similar, dar o funcționalitate mai restrânsă.
Vedeți și care sunt avantajele tranzacționării.
2. Tester Forex simplu
Simple Forex Tester este un tester de strategie gratuit, pe care îl puteți descărca la sfârșitul recenziei. Principalul său avantaj este că strategiile sunt testate în terminalul de tranzacționare familiar MetaTrader 4 și nu este nevoie să vă obișnuiți cu interfața noilor programe. Înainte de a începe testarea, trebuie să descărcați Simple Forex Tester. În arhivă veți găsi două foldere. Conținutul primului folder trebuie copiat în directorul rădăcină cu terminalul de tranzacționare, adică unde ați instalat MT4.
Conținutul celui de-al doilea folder trebuie copiat prin Catalogul de date al terminalului de tranzacționare, deoarece de obicei adăugăm consilieri și indicatori.
După aceea, va trebui să reporniți terminalul de tranzacționare și puteți începe testarea. Pentru a face acest lucru, trebuie să faceți clic pe pictograma „Tester de strategie”, pe care o folosim pentru a testa consilierii. În lista de consilieri, selectați SimpleFXTester_v2.ex4, apoi totul ca de obicei - selectați perechea valutară, interval de timp, model de testare, puneți data testării și caseta de selectare de lângă Vizualizare și, de asemenea, mutați glisorul vitezei de testare în poziția extremă din dreapta. Apoi faceți clic pe Start.
După ceva timp, va apărea o astfel de fereastră.
Trebuie să faceți clic pe OK și se va lansa Simple Forex Tester.
După aceasta, toată gestionarea testării strategiei va fi efectuată prin acest program. Aici puteți începe să testați și să o întrerupeți, să reglați viteza de testare făcând clic pe Place New Order, să deschideți noi tranzacții (inclusiv comenzi în așteptare), să setați stop loss și take profit, să rulați un trailing stop și să modificați ordinele și să închideți pozițiile.
În terminalul de tranzacționare, puteți urmări prețul și, când credeți că a apărut un semnal, întrerupeți testarea în fereastra Simple Forex Tester și deschideți o afacere. De asemenea, pe grafic puteți monitoriza statisticile strategiei testate, care este soldul dvs., câte comenzi au fost deschise și închise și care este profitul curent. Dacă se dorește, statisticile pot fi dezactivate în setările programului.
Dar cel mai important este că puteți instala orice indicator sau șablon pe diagramă, adică să testați orice strategie. De exemplu, am instalat un șablon de strategie.
Beneficiile Simple Forex Tester
- Interfața familiară a programului încorporată în terminalul de tranzacționare MT4;
- Testerul de strategie este complet gratuit;
- Puteți testa orice indicatori și șabloane de strategie.
Dezavantajele Testerului Forex simplu
- Functionalitate minima;
- Nu puteți testa o strategie multi-valută (Forex Tester 3 are această opțiune);
- Viteză scăzută de testare (mod Turbo insuficient);
- Pot exista probleme la încărcarea citatelor (poate fi necesar să importați citate din alte surse);
- Programul se blochează și se blochează adesea, așa că trebuie să începeți testarea de la început;
- Programul nu are suport tehnic, nu au existat actualizări de peste 5 ani și probabil că nu vor mai fi.
Simple Forex Tester are trei avantaje incontestabile - este simplu, gratuit și capabil să funcționeze cu orice indicator. Este grozav pentru începătorii care tocmai se familiarizează cu piața Forex. În caz contrar, programul are multe defecte și funcționalitate minimă, așa că nu îl putem recomanda comercianților profesioniști.
Concluzii
Astfel, un tester de strategie este un instrument excelent pentru a dobândi abilități de tranzacționare Forex, precum și pentru a testa strategiile. Ce program să alegeți pentru strategiile de testare depinde de dvs. Dacă ești încă începător, poți începe cu Simple Forex Tester, este simplu și gratuit. Recomandăm comercianților profesioniști să folosească simulatorul Tranzacționarea valutară Tester 3. Banii cheltuiți pentru achiziția acestuia vor fi recuperați foarte curând din depozitele economisite. În plus, cu un tester de strategie poți uita pentru totdeauna de conturile demo și timpul pierdut. Tranzacționare profitabilă pentru tine!
Orez. 1. Optimizarea spațiului multidimensional al algoritmilor de strategie de tranzacționare.
Optimizarea strategiilor de tranzacționare
În curs tranzacționare algoritmică Există întotdeauna o nevoie de ajustare a parametrilor algoritmilor de strategie de tranzacționare. Combinațiile tuturor parametrilor posibili se transformă într-un spațiu multidimensional mare de opțiuni de strategie. Pentru a obține cele mai profitabile și stabile strategii, trebuie să explorați acest spațiu și să selectați parametrii optimi pentru tranzacționare.
Cele mai multe cel mai bun mod Studiul oricărui set este o căutare completă a tuturor elementelor sale. Cu toate acestea, având în vedere volumele colosale de date cu care trebuie să se ocupe în timpul optimizării, de regulă, se dovedește a fi pur și simplu imposibil să se efectueze un astfel de studiu folosind o căutare completă. Este necesar să se utilizeze diverși algoritmi analitici care să permită reducerea volumului real de cercetare în procesul de căutare a extremelor.
Majoritatea acestor algoritmi sunt bine cunoscuți: metoda Monte Carlo, metoda coborârii gradientului, metoda de recoacere simulată, algoritmi evolutivi etc. În același timp, există diverse modificări ale acestor algoritmi de optimizare. În comerțul algoritmic, de regulă, există implementări de algoritmi genetici și Monte Carlo. Într-un fel sau altul, toți acești algoritmi folosesc „magia numerelor aleatoare” sau, științific vorbind, optimizarea stocastică neliniară.
Problema clasică a algoritmilor de optimizare stocastică este că, cu volume mici de cercetări reale și eșantioane mici, aceștia nu sunt reprezentativi. De exemplu, Monte Carlo nu este eficient într-un spațiu multi-extremal, concentrează cercetarea pe extremul global, trecând cu vederea extreme locale, dar nu mai puțin interesante. Algoritmul nu își stabilește astfel de sarcini, trebuie pur și simplu să găsească cea mai profitabilă strategie. Un algoritm genetic poate urmări, de asemenea, o ramură nereușită a mutațiilor și se poate opri la un extrem local etc.
Acest lucru se datorează faptului că acești algoritmi de optimizare în stadiile inițiale trebuie să ia decizii cu privire la o cantitate limitată de date într-un spațiu care nu a fost încă studiat, iar zonele importante pot cădea cu ușurință din studiu. Pentru a evita acest lucru, trebuie să măriți eșantioanele de date și timpul de cercetare, iar în cazul nostru, timpul își merită greutatea în aur. Este necesar să se studieze extremele spațiului cât mai detaliat cu un timp minim. În același timp, în condițiile în schimbare rapidă ale tranzacționării bursiere, este important să se acorde atenție nu numai rentabilității, ci și parametrilor stabili ai strategiilor de tranzacționare. Prin stabil înțelegem parametrii care formează clustere cu rezultate similare. Strategiile profitabile din afara clusterelor pot să nu fie stabile și să conducă la pierderi serioase. La rândul său, strategia din cluster este mai puțin susceptibilă la schimbările de pe piață.
Metoda de optimizare a clusterelor stocastice
Luând în considerare particularitățile de optimizare a strategiilor de schimb, a fost dezvoltat un algoritm hibrid (vezi) care a avut un efect secundar plăcut - a identificat și examinat cu succes clusterele. Am dat numele algoritmului rezultat - „Metoda de optimizare a clusterului stocastic”.
Prin urmare, procesul de cercetare a algoritmului are loc în două etape:
- Explorarea spațiului strategic prin eliminarea zonelor neprofitabile și predispuse la riscuri
- Studiu detaliat al extremelor și clusterelor de spațiu
Pentru a scăpa de incertitudinea din cauza lipsei de date în etapele inițiale ale cercetării, algoritmul nu stabilește sarcina de a căuta strategii profitabile, ci, dimpotrivă, le caută pe cele mai neprofitabile și le elimină din spațiu de-a lungul cu zonele care le mărginesc cu potenţial riscuri mari pierderi.
Lucrarea se desfășoară în următoarea ordine:
- Din toți parametrii posibili ai strategiei de tranzacționare se formează un spațiu multidimensional.
- Strategiile sunt selectate aleatoriu din spațiu și testate pe date istorice cu parametri specificați.
- Pe baza rezultatelor testării, microregiunile de graniță sunt eliminate în jurul celor mai neprofitabile strategii. Acest lucru reduce spațiul de cercetare și pune accent pe zone mai profitabile și mai stabile în iterații ulterioare.
- Iterațiile de testare sunt efectuate până când spațiul strategiei a fost explorat în măsura necesară.
Orez. 2. Prima etapă a algoritmului „Stochastic Cluster Optimization” este explorarea spațiului strategic.
Etapa 2. Studiu detaliat al clusterelor și extremelor.
După prima etapă a studiului, tipurile de extrema devin clare. Cu toate acestea, din cauza particularităților algoritmului (multe microregiuni sunt decupate), spațiul se dovedește a fi „zdrențuit” și unele extreme nu pot fi studiate în detaliu. Pentru a explora pe deplin toate clusterele interesante, algoritmul de optimizare începe procesul de explorare exact în sens invers. În acest scop, toată lumea este selectată cele mai bune strategii iar în jurul lor se mai disting microregiuni. Dacă se găsesc strategii neexplorate în aceste zone, acestea sunt testate în continuare (vezi Figura 3).
Orez. 3. A doua etapă a algoritmului „Optimizarea clusterelor stocastice” este un studiu detaliat al extremelor.
Ca urmare, după ce algoritmul a rulat, toate zonele din spațiu care sunt interesante pentru noi sunt explorate și se grupează cu strategii profitabile. În acest caz, volumul real al cercetării, de regulă, nu este mai mare de 25-50% din volumul total al spațiului de opțiuni de strategie (vezi Fig. 4).
Optimizare Walk Forward
S-ar părea că parametrii au fost optimizați și puteți începe tranzacționarea. Cu toate acestea, acesta nu este sfârșitul procesului de cercetare. Procesul de optimizare este supus riscului de „ajustare” sau supraoptimizare a parametrilor la datele istorice utilizate în proces, astfel încât rezultatele obținute trebuie verificate în continuare. În acest scop se utilizează metoda Mergi înainte. Esența metodei este că parametrii strategiei sunt testați pe date istorice diferite de cele utilizate în procesul de optimizare.
Pentru a face acest lucru, întreaga gamă de date istorice este împărțită în eșantioane formate din seturi:
- IS ("În eșantion")- eșantionarea utilizată pentru optimizare
- OOS („Out Of Sample”)- proba utilizată pentru a testa rezultatele optimizării
Orez. 5. Schema de optimizare Walk Forward.
Pentru a reduce cantitatea de cercetare în etapele de verificare a rezultatelor, după optimizare, puteți filtra imediat strategiile cu performanță slabă, reducând astfel timpul total de testare. În urma unei astfel de verificări, vom primi parametri obiectivi ai strategiilor de tranzacționare, protejați de supraoptimizare (vezi Fig. 6 și Fig. 7).
Orez. 6. Rezultatele optimizării pe baza datelor „În eșantion”.
Orez. 7. Verificarea rezultatelor optimizării pe datele „Out Of Sample”.
Analiza rezultatelor
De regulă, după verificarea utilizând metoda Walk Forward, majoritatea strategiilor de tranzacționare nu mai arată la fel de atractive ca după optimizare. În mod ideal, strategiile ar trebui să-și confirme indicatorii statistici, iar extremele și clusterele ar trebui să-și păstreze forma și poziția în spațiu.
Pentru o analiză confortabilă a rezultatelor, am vizualizat spațiul multidimensional al strategiilor pentru fiecare parametru în formatul unei hărți termice (vezi. Orez. 8). Cu ajutorul hărții, se evaluează vizual forma și dimensiunea clusterelor, poziția extremelor, se verifică influența parametrilor asupra eficacității strategiei, se evaluează modificările după verificarea supraoptimizării etc.
Orez. 8. Un exemplu de secțiune de spațiu bazată pe parametri optimizați și funcție obiectiv.
Pentru o evaluare cuprinzătoare a rezultatelor optimizării Walk Forward, este construită o matrice cu toți pașii și parametrii care au fost filtrați. Pașii la care parametrii și-au confirmat performanța sunt evidențiați cu verde, respectiv cu roșu, dacă nu au fost confirmați. Parametrii care au avut rezultate bune într-un număr mare de pași pot fi considerați mai potriviți pentru tranzacționare (vezi Fig. 9).
Orez. 9. Walk Forward matrice cu toate rezultatele testelor pe datele OOS.
Dacă este necesar, rezultatele obținute pot fi exportate în sisteme de analiză terțe pentru o cercetare mai detaliată. De exemplu, în R, Excel sau Mathlab (vezi Fig. 10).
Orez. 10. Exportați rezultatele optimizării în Excel.
Pentru a verifica în cele din urmă corectitudinea parametrilor selectați, se efectuează teste detaliate ale strategiilor, se evaluează netezimea curbei de randament, se afișează comenzile pe grafic și se studiază jurnalul. oferte comerciale(vezi Fig. 11).
Orez. 11. Analiza detaliată a parametrilor strategiei de tranzacționare.
Concluzie
După optimizare și toate verificările, vom avea strategii care sunt potențial potrivite pentru tranzacționare reală pe Bursă.
În cele din urmă, am verificat totul, probabil că putem începe tranzacționarea acum? De fapt, suntem doar la jumătatea drumului, este prea devreme pentru a trimite algoritmi de tranzacționare în luptă. Următorul este:
- Testați strategiile pe datele „în direct” de la Bursă pentru a confirma indicatorii obținuți în timpul testării.
- Creați un portofoliu de strategii de tranzacționare pentru a diversifica riscurile. Apropo, trebuie și optimizat.
- În timpul tranzacționării reale, comparați periodic rezultatele obținute cu rezultatele testelor pentru a ajusta setările testerului de optimizare.
Comerț fericit tuturor!
Etichete: Adăugați etichete
Orice indicator sau sistem de tranzacționare (plătit, gratuit, al altcuiva sau creat de dvs.) poate fi plasat pe un cont real numai după un test de succes în mai multe moduri și în diferite condiţiile de tranzacţionare. Optimizarea și testarea competentă a strategiilor de tranzacționare – proces necesar pentru tranzacționare de succes.
Dezvoltarea unui sistem de tranzacționare necesită mult timp și efort, așa că metodele empirice de selectare a parametrilor nu au fost folosite de mult timp. Astăzi, etapa de testare a devenit o componentă necesară a analizei tehnice și vă permite să economisiți capital pentru tranzacționare reală.
Procesul de testare a strategiilor de tranzacționare înseamnă rularea unui algoritm pe date istorice sau simulate. Testul trebuie să „vadă” „semnale” de schimb pentru a genera tranzacții de cumpărare/vânzare și pentru a produce rezultatul tranzacționării „posibile” - valoarea veniturilor/pierderii acționează ca un indicator al adecvării pentru munca reală.
Principalele obiective și metode
În primul rând, trebuie să verificați:
- indicatori de performanță incluși în strategie;
- modele de piață (active, lichiditate, costuri, viteză, alunecare, risc) fără tranzacționare reală;
- optimitatea parametrilor pe baza rezultatelor unui backtest;
- cod de program pentru erori de dezvoltare.
Testul ar trebui să includă o analiză trecută/prognoză viitoare și să producă un raport cu rezultate grafice și cantitative. Puteți încărca următoarele în tester:
- istorie - o serie de bare formate anterior cu parametri de prețuri, volume, indicatori: apoi prețul „trecut” și „viitor” sunt format pentru analiză pentru a evalua reacția „viitoare” pe baza dinamicii „trecut”;
- valorile prețurilor simulate de script: apoi transmiteți date de bifă (istoric sau reale) la intrarea testerului și primiți o prognoză de mișcare.
Prima metodă oferă ușurință și viteză, dar precizie scăzută, în timp ce în a doua strategia se comportă în tester exact ca în tranzacționarea reală. Rezultatele simulate pot fi stocate ca fișiere externe, care pot fi încărcate în terminal prin meniul File - Open Offline.
Testarea strategiilor de tranzacționare se poate face folosind:
- orice software matematic (Matlab sau MS Excel cu plugin-uri pentru tranzacționarea acțiunilor);
- sisteme de realizare a sistemelor mecanice (MetaStock, Wealth-Lab, Omega);
- Limbaje de programare Java, Scala sau C++/C# pentru crearea și testarea roboților de tranzacționare;
- testeri încorporați în platformele de tranzacționare.
În mod tradițional, pentru a obține rezultate stabile și corecte în timpul testării, următoarele sunt utilizate în mod constant:
- Test vizual al indicatorului sau sistemului: necesită vizualizarea istoricului prețurilor pe o perioadă lungă (unul până la doi ani). Acest proces consumator de timp este simplificat cu ajutorul software-ului de testare manuală a strategiei.
- Crearea, testarea si optimizarea consilierului.
- Testați un istoric lung în modul automat.
- Testați pe un cont demo sau un cont de cent: efectuat după obținerea unor rezultate stabile din primele două metode - un calcul lung, dar cel mai precis. Diferența dintre un cont demo și un cont de cent este doar psihologică.
Dacă obțineți rezultate nefavorabile, trebuie să petreceți timp selectând parametrii consilierului, iar opțiunea de optimizare încorporată este mecanismul cel mai potrivit pentru aceasta.
Testeri de strategii de tranzacționare
Sunt instrumente de analiză multi-valută pentru procesarea istoricului descărcat din fișiere externe. Procesul trece secvenţial prin ghilimele, analizează reacţia algoritmului şi deschide tranzacţii virtuale. Puteți conta pe mai multe active simultan pentru a alege o opțiune profitabilă.
Atunci când se testează strategiile de tranzacționare, modul de întârziere ale execuției aleatoare simulează probleme de rețea în timpul executării reale a ordinelor de către dealeri. Modul de vizualizare arată procesul în timp real: toate tranzacțiile deschise sunt afișate pe graficul de preț, setările se fac după următoarele criterii: viteză, calitate, profit, perioadă, diverse condiții de tranzacționare.
Rezultatul este dat sub formă de informații grafice și statistice: procent profit/pierdere, număr de tranzacții neprofitabile/profitabile, indicatori ai factorilor de risc, așteptare matematică de câștig etc.
Mecanismul de testare „înainte” a strategiilor de tranzacționare ajută la scăderea problemelor de „ajustare” a parametrilor: istoricul este împărțit în două părți - optimizarea se realizează într-o jumătate, iar a doua parte trebuie să confirme rezultatul. Testerii pot sprijini metodologia de testare distribuită, adică pot include capacitatea suplimentară în proces, inclusiv în rețeaua de cloud computing.
Cerințe de bază pentru setări la testarea strategiilor de tranzacționare:
- descărcați date pentru toate perioadele; interval istoric - minim 5 ani, cu includerea obligatorie a perioadelor cu dinamică de criză/non-standard (de exemplu, 2008-2009);
- dacă utilizați o perioadă mai scurtă, atunci ar trebui să includă perioade de tendință și mișcare plată;
- numărul de tranzacții simulate este mai mic de 300;
- testarea algoritmului pe mai multe instrumente lichide.
Când setați parametrii de testare, trebuie să luați în considerare:
- costuri de tranzacționare (spread, comisioane);
- alunecare/întârziere;
- influența lichidității activelor (dinamica volumului);
- schimbări în condițiile pieței;
- tipuri de ordine de tranzacționare care sunt planificate a fi utilizate (ordine de piață sau ordine limită).
Dacă un ordin de piață este executat imediat, dar acesta pretul final pentru că testul este nedefinit, atunci comenzile limită pot „așteapta” prețul cel mai potrivit pentru tranzacție. Un ordin limită este considerat un mijloc pasiv, deoarece este posibil să nu fie executat sau parțial executat dacă există puține ordine. Dacă comportamentul Registrului de comenzi nu este modelat cu acuratețe, un test în timp real va arăta rezultate mai proaste decât un backtest.
Nu uitați: înainte de închiderea sesiunii, răspândirea poate crește de mai multe ori, așa că nu ar trebui să efectuați teste scurte ținând cont de weekend - veți suporta costuri mult mai mari.
De obicei se folosesc trei metode de calcul:
- La preturi de deschidere: cea mai rapidă, dar cea mai inexactă metodă, majoritatea strategiilor, atunci când sunt testate pe o perioadă de până la 1 an, pot să nu deschidă deloc o singură tranzacție;
- Prin puncte de control: cel mai echilibrat din punct de vedere al preciziei și al timpului, dar nivelul de încredere în datele obținute este scăzut;
- Pentru toate căpușele: cea mai precisă metodă, aproape de realitate.
Cu orice metodă de testare pe o perioadă lungă, rezultatele din ultimii doi ani sunt cele mai precise, atât pentru sistemele de tendințe, cât și de retragere.
Nu uita: implementarea modelelor reale și a volumelor de date simulate pentru testare precisă necesită resurse tehnice, iar în vizualizarea încetinește procesul de calcul.
Testarea strategiilor de tranzacționare modelează corect toate intervalele de timp, inclusiv datele de volum. În timpul testului, calculele indicatorului sunt efectuate online.
După finalizarea testului, puteți deschide modelul de diagramă cu toate punctele de intrare/ieșire și datele indicatorilor, așa că dacă strategiile sau indicatorii au erori, acestea vor apărea cu siguranță. Valorile indicatoarelor calculate pe baza istoricului pot diferi de valorile din momentul testului.
Rezultatele testelor pot fi încărcate în Excel sau în orice alt software ca o secvență de date cu delimitatori.
Nu uita: n în nici un caz utilizați în calcule un set incomplet de cotații sau importuri parțiale din diverse surse. Ofertele pentru minute ar trebui recalculate automat și introduse în calcule fără intervale de timp sau schimbări.
Si ca o concluzie...
Testarea strategiilor de tranzacționare vă permite să evaluați corectitudinea și profitabilitatea algoritmului fără a tranzacționa efectiv pe piață. Pe lângă bani, acest lucru economisește timp - un test pe cotații pe o perioadă de câțiva ani poate dura doar câteva ore, poate fi oprit în orice moment, poate schimba instrumentul, condițiile de calcul sau parametrii de optimizare. Sursă:
Butoane sociale pentru JoomlaPopular:
- 14.11.2013 06:32 |
- Indicator de inversare - determinând sfârșitul tendinței 55948
- 04.02.2015 10:04 |