Kauplemisstrateegiate testimine. Kauplemisstrateegiate testimine tõeliste puukide peal. Kauplemissüsteem Excelis

Riis. 1. Kauplemisstrateegiate algoritmide mitmemõõtmelise ruumi optimeerimine.

Kauplemisstrateegiate optimeerimine

Algoritmilise kauplemise protsessis on pidev vajadus kauplemisstrateegia algoritmide parameetrite kohandamiseks. Kõigi võimalike parameetrite kombinatsioon muutub suureks mitmemõõtmeliseks strateegiavõimaluste ruumiks. Kõige kasumlikumate ja stabiilsemate strateegiate saamiseks peate seda ruumi uurima ja valima kauplemiseks optimaalsed parameetrid.

Enamik Parim viis mis tahes hulga uurimine on kõigi selle elementide täielik loetelu. Arvestades aga tohutut andmehulka, millega optimeerimise käigus tuleb tegeleda, on reeglina sellist uuringut ammendava otsinguga lihtsalt võimatu läbi viia. Peame rakendama erinevaid analüütilisi algoritme, mis võimaldavad meil äärmuste otsimise protsessis tegelikku uurimistöö mahtu vähendada.

Enamik neist algoritmidest on hästi tuntud: Monte Carlo meetod, gradiendi laskumise meetod, simuleeritud lõõmutamise meetod, evolutsioonilised algoritmid jne. Sel juhul on nende optimeerimisalgoritmide jaoks mitmesuguseid modifikatsioone. Algoritmilises kauplemises on reeglina geneetiliste algoritmide ja Monte Carlo rakendused. Nii või teisiti kasutavad kõik need algoritmid "juhuslike arvude maagiat" või teaduslikult öeldes mittelineaarset stohhastilist optimeerimist.

Stohhastiliste optimeerimisalgoritmide klassikaline probleem on see, et need ei ole tüüpilised väikeste tegelike uuringute ja väikeste valimite jaoks. Näiteks Monte Carlo ei ole efektiivne multi-äärmuslikus ruumis, see keskendub uuringus globaalsele ekstreemumile, jättes silmist kohalikud, kuid mitte vähem huvitavad ekstreemumid. Algoritm ei sea endale selliseid ülesandeid, ta peab lihtsalt leidma kõige tulusama strateegia. Geneetiline algoritm võib läbida ka ebaõnnestunud mutatsioonide haru ja peatuda mõnel lokaalsel ekstreemumil jne.
Seda seetõttu, et need optimeerimisalgoritmid on sisse lülitatud varajased staadiumid peate tegema otsuseid piiratud hulga andmete kohta veel uurimata ruumis ja võite kergesti uuringust välja kukkuda olulised valdkonnad. Selle vältimiseks on vaja andmeproove ja uurimisaega suurendada ning meie puhul on aeg kulda väärt. Ruumi äärmusi on vaja uurida võimalikult üksikasjalikult ja minimaalse ajakuluga. Samal ajal on börsil kauplemise kiiresti muutuvates tingimustes oluline pöörata tähelepanu mitte ainult kasumlikele, vaid ka kauplemisstrateegiate stabiilsetele parameetritele. Stabiilsete parameetrite all mõistetakse sarnaste tulemustega klastrite moodustamist. Kasumlikud strateegiad, mis on väljaspool klastrit, ei pruugi olla stabiilsed ja viia tõsiste kahjudeni. Klastrist lähtuv strateegia on omakorda vähem allutatud turumuutustele.

Stohhastilise klastri optimeerimise meetod

Võttes arvesse vahetusstrateegiate optimeerimise iseärasusi, töötati välja hübriidalgoritm (vt ), millel osutus üks meeldiv. kõrvalmõju- ta tuvastas ja uuris edukalt klastreid. Andsin saadud algoritmile nime - "Stohhastilise klastri optimeerimise meetod".

Seetõttu toimub uurimisprotsess kahes etapis:

  1. Strateegiate ruumi uurimine kahjumlike ja riskitundlike piirkondade eemaldamisega
  2. Ruumi ekstreemide ja klastrite üksikasjalik uuring
1. etapp. Strateegiaruumi uurimine kahjumlike ja riskialtite alade eemaldamisega.

Et vabaneda ebakindlusest andmete puudumise korral uuringu algfaasis, ei sea algoritm ülesandeks leida tulusaid strateegiaid, vaid vastupidi, otsib kõige kahjumlikumad ja eemaldab need ruumist, koos nendega piirnevate potentsiaaliga aladega kõrged riskid kaotused.

Tööd tehakse järgmises järjekorras:

  • Kauplemisstrateegia kõigist võimalikest parameetritest moodustub mitmemõõtmeline ruum.
  • Strateegiad valitakse ruumist juhuslikult ja testitakse määratud parameetritega ajalooliste andmete põhjal.
  • Testimise tulemuste põhjal eemaldatakse kõige kahjumlikumate strateegiate ümbert piiripealsed mikropiirkonnad. See vähendab uurimisruumi ja keskendub edasistes iteratsioonides tulusamatele ja stabiilsematele valdkondadele.
  • Testimise iteratsioonid viiakse läbi seni, kuni strateegiaruum on vajalikul määral läbi uuritud.
Joonisel fig. Joonisel 2 on näha, kuidas uuring on nihkumas äärmuste poole, samas kui oht, et väikesed, võimalike heade ja stabiilsete parameetritega klastrid puuduvad, on minimaalne.
Riis. 2. Algoritmi "Stochastic Cluster Optimization" esimene etapp on strateegiaruumi uurimine.

2. etapp. Klastrite ja äärmuste üksikasjalik uurimine.

Pärast uuringu esimest etappi muutuvad ekstreemitüübid heaks. Algoritmi iseärasuste tõttu (paljud mikroregioonid on välja lõigatud) osutub aga ruum “räbalateks” ja mõnda ekstreemsust ei saa eriti detailselt uurida. Kõigi huvitavate klastrite täielikuks uurimiseks alustab optimeerimisalgoritm uurimisprotsessi täpselt vastupidisel viisil. Selleks valitakse välja kõik parimad strateegiad ja nende ümber eraldatakse täiendavalt mikrodomeenid. Kui neis piirkondades leitakse uurimata strateegiaid, testitakse neid täiendavalt (vt joonis 3).


Riis. 3. "Stohhastilise klastri optimeerimise" algoritmi teine ​​etapp on äärmuste üksikasjalik uurimine.

Selle tulemusena uuritakse pärast algoritmi käitamist kõiki meile huvitavaid ruumivaldkondi ja testitakse üksikasjalikult kasumlike strateegiatega klastreid. Samal ajal ei moodusta tegelik uurimistöö maht reeglina rohkem kui 25-50% strateegiavalikute ruumi kogumahust (vt joonis 4).

Riis. 4. "Stohhastilise klastri optimeerimise" algoritmi (vasakul) uurimise kiirus on 2-4 korda suurem kui "toore jõu" algoritm (paremal).

Minge optimeerimisega edasi

Näib, et parameetrid on optimeeritud ja võite kauplema hakata. See ei ole aga uurimisprotsessi lõpp. Optimeerimisprotsessiga kaasneb oht, et parameetrid "sobivad" või optimeeritakse uuesti protsessis kasutatud ajalooliste andmetega, seega peate saadud tulemusi täiendavalt kontrollima. Selleks kasutatakse meetodit Kõndige edasi. Meetodi olemus seisneb selles, et strateegiate parameetreid testitakse ajaloolistel andmetel, mis erinevad optimeerimisprotsessis kasutatavatest.

Selleks jagatakse kogu ajalooliste andmete hulk proovideks, mis koosnevad komplektidest:

  • IS ("näidis")- optimeerimiseks kasutatud näidis
  • OOS ("Out Of Sample")- optimeerimistulemuste testimiseks kasutatud näidis
Veelgi enam, valimivahemikud on moodustatud nii, et OOS-andmed järgneksid üksteise järel (vt joonis 5).
Riis. 5. Edasikäigu optimeerimise skeem.

Uuringute mahu vähendamiseks tulemuste kontrollimise etappides on võimalik kehva jõudlusega strateegiad kohe pärast optimeerimist välja filtreerida, vähendades sellega kogu testimise aega. Sellise kontrolli tulemusena saame kauplemisstrateegiate objektiivsed parameetrid, mis on kaitstud üleoptimeerimise eest (vt joonis 6 ja joonis 7).


Riis. Joonis 6. Optimeerimise tulemused "In Sample" andmetel.
Riis. 7. "Out Of Sample" andmete optimeerimistulemuste kontrollimine.

Tulemuste analüüs

Pärast Walk Forward meetodil kontrollimist ei näe enamik kauplemisstrateegiaid reeglina enam nii atraktiivsed kui pärast optimeerimist. Ideaalis peaksid strateegiad kinnitama oma statistilisi näitajaid, samas kui äärmused ja klastrid peaksid säilitama oma kuju ja positsiooni ruumis.

Tulemuste mugavaks analüüsiks visualiseerisin iga parameetri strateegiate mitmemõõtmelise ruumi soojuskaardi vormingus (vt joonis 1). Riis. 8). Kaart hindab visuaalselt klastrite kuju ja suurust, äärmuste asukohta, kontrollib parameetrite mõju strateegia efektiivsusele, hindab muutusi pärast uuesti optimeerimise kontrollimist jne.


Riis. 8. Ruumi lõigu näide optimeeritud parameetrite ja sihtfunktsiooni järgi.

Walk Forwardi optimeerimise tulemuste igakülgseks hindamiseks koostatakse maatriks kõigi filtreerimise läbinud sammude ja parameetritega. rohelises sammud, mille käigus parameetrid on oma toimivust kinnitanud, on vastavalt esile tõstetud ja punased, kui neid pole kinnitatud. Kauplemiseks sobivamaks võib pidada parameetreid, mis toimisid hästi paljudel sammudel (vt joonis 9).


Riis. 9. Matrix Walk Forward koos kõigi OOS-i andmete kontrollimise tulemustega.

Vajadusel saab tulemusi eksportida kolmandate osapoolte analüüsisüsteemidesse täpsemaks uurimiseks. Näiteks R, Excelis või Mathlabis (vt joonis 10).


Riis. 10. Optimeerimistulemuste eksport Excelisse.

Et lõpuks veenduda valitud parameetrite õigsuses, viiakse läbi strateegiate üksikasjalikud testid, hinnatakse tootluskõvera sujuvust, kuvatakse orderid graafikul ja uuritakse tehingulogi (vt joonis 11).


Riis. 11. Kauplemisstrateegia parameetrite üksikasjalik analüüs.

Järeldus

Pärast optimeerimist ja kõiki kontrollimisi on meil strateegiad, mis sobivad potentsiaalselt reaalseks kauplemiseks börsil.

Lõpuks kontrollisime kõik üle, ehk on juba võimalik kauplema hakata? Tegelikult oleme alles poolel teel, kauplemisalgoritme on veel vara lahingusse saata. Järgmisena tuleb:

  • Testimise käigus saadud näitajate kinnitamiseks testige strateegiaid Exchange'i "reaalajas" andmetel.
  • Riskide hajutamiseks moodustage kauplemisstrateegiate portfell. Muide, seda tuleb ka optimeerida.
  • Reaalse kauplemise käigus vähendage perioodiliselt testitulemustega saadud tulemusi, et kohandada testija-optimeerija sätteid.
Aga sellest võib-olla mõni teine ​​kord.
Head kauplemist kõigile!

Sildid: lisa sildid

Enne pärisrahaga kauplemist tuleks veenduda, et valitud strateegia on võimeline järjepidevalt kasumit teenima.

Selles artiklis uuritakse kolme strateegiat ja nende tõhusust viimase 10–18 aasta jooksul. Need on täiesti erinevad strateegiad, nii et iga kaupleja suudab neist midagi huvitavat leida ja seda oma kauplemisel kasutada.

Siin esitatud ideed ei ole täielikud, kuid võivad olla heaks lähtepunktiks.

Gapdown kauplemisstrateegia

Vahel on näha, kuidas tugevad aktsiad, mis on oma sektori või isegi turu kui terviku liidrid, kukuvad üle 10% kokku, et järgmisel kauplemissessioonil naasta ligikaudu oma esialgsele tasemele.

See juhtus Netflixiga (NFLX), kes avaldas aruande 16. juulil pärast turu sulgemist.

Ettevõte näitas investorite ootustega võrreldes aeglasemat uute tellijate juurdevoolu kasvu.

16. juulil lõpetas Netflixi aktsia 50-päevase libiseva keskmise päeva väärtuses 400,48 dollarit. Juba järgmisel hommikul kaubeldi aga 344 dollaril, mis on 14% langus. Lõppkokkuvõttes jõudis hind päeva lõpuks 379 dollarini, olles peaaegu täielikult kahjumi tagasi võitnud.

Ajalooline analüüs

Alates 2000. aastast on S&P 500 sulgunud 536 korda kõrgemal kui 50 päeva libisev keskmine, olles piisavalt mahuga, et järgmisel hommikul avaneda rohkem kui 10% madalamal.

Analüüs näitab, et kui avaksime pärast iga sellist langust pika positsiooni ja sulgeksime selle sama päeva lõpus, siis oleks sellised tehingud edukad 47% juhtudest ja keskmine kasum oleks 0,43% (ilma vahendustasudeta). ).

Siin on mõned tulemused, samuti tasakaalukõver, mis peegeldab tulemuste dünaamikat ajas:

  • Tehingute arv: 536
  • Keskmine kasum/kahjum (P/L) tehingu kohta: 0,43%
  • Riskiga korrigeeritud tootlus (RAR): 123,34%
  • Kasumlike tehingute protsent: 47,95%
  • kolmap kasum: 5,83%
  • kolmap . kaotus: -4,54%
  • Kasumikordaja: 1,21


Nagu näete, on see strateegia viimase 18 aasta jooksul näidanud üsna suurt volatiilsust, mistõttu oleks enamikul kauplejatel raske seda kasutada.

Kuigi kaubandusstatistika on üsna korralik, näitab bilansikõver, et see süsteem on alates 2010. aastast halvasti toiminud. Ja seda hoolimata asjaolust, et komisjonitasuga ei arvestatud.

Korraliku kauplemissüsteemi loomiseks, mis põhineb S&P 500 aktsiate ostmisel pärast üleöist langust enam kui 10% ja päeva lõpus väljumisega, tuleb teha rohkem tööd.

Keskmine tagasipööramisstrateegia

Seda strateegiat saab kasutada koos Russell Microcap indeksi mikrokapitali aktsiate trendi järgiva strateegiaga.

Keskmise tagasipööramise põhimõtte kohaldamise keerukus sellistele aktsiatele seisneb selles, et selliste väärtpaberitega kauplemismahud on väikesed ja uudistevoog nende kohta on napp. See toob kaasa asjaolu, et nad võivad pikka aega lihtsalt olla "triivis". Seda silmas pidades vajab hea kauplemisstrateegia loomine mingit katalüsaatorit, et vältida sattumist aktsiatesse, mis ei vii kuhugi.

Selle strateegia idee põhineb uue madalseisu otsimisel ning päevakäibe hüppeline tõus (aktsiate arv x sulgemishind) on potentsiaalne katalüsaator kiireks hinnatõusuks. Seega peate leidma aktsia, mis moodustas uue madalseisu, mille järgmisel ribal järsku ilmubja hind hakkab tõusma.

Täielik reeglite komplekt näeb välja selline:

Osta:

  • Eilne sulgemine< минимальная цена закрытия за 50 дней
  • Ja tänane käive > 250 000 dollarit
  • Ja tänane käive on > 2 standardhälvet üle 20 päeva libiseva keskmise
  • JA IBS > 0,2
  • Ja tänane sulgemishind on vahemikus 0,5–20 dollarit

Soodustus:

  • Viimase 5 baari kõrgeim sulgemishind
  • VÕI 10 päeva pärast

Tehingu näide

Joonisel on näide sellisest tehingust OVID-i aktsia kohta:


Siin on näha, et 10. augustil 2017 moodustab OVID uue madala 50 päeva. Sellele järgneb mahu järsk tõus 11. augustil ja IBS on 0,72.

Seega saad järgmise päeva avamisel sisestada pika tehingu (roheline nool). 7 päeva pärast läks hind High 5 baarile, seega on kauplemine järgmise päeva avamisel suletud (punane nool). Kasum oli 32,53% (ilma vahendustasudeta).

Russell Microcapi indeksi kõigi aktsiate järeltestimine ajavahemikul 8/2008 kuni 1/2018 andis järgmised tulemused:

(Tulemused sisaldavad komisjonitasu 0,2% tehingu kohta. Positsioonid on fikseeritud $ 250. Kõik kanded ja väljumised tehti järgmise kauplemispäeva alguses. Varasemaid perioode ei testitud).

  • Tehingute arv: 6052
  • Keskmine kasum/kahjum (P/L) tehingu kohta: 1,02%
  • kolmap hoidmise kestus, taktid: 6.04
  • Riskiga korrigeeritud tootlus: 51,13%
  • Kasumlike tehingute protsent: 53,72%
  • kolmap . kasum: 7,35%
  • kolmap . kaotus: -6,33%
  • Kasumikordaja: 1,35


Nagu näete, annab see reeglistik üsna häid tulemusi väga laias valikus odavate aktsiate tehingutest. Tasakaalukõver on sile.

Need on paljulubavad tulemused, seetõttu tasub nende reeglite põhjal välja töötada täisväärtuslik kauplemissüsteem realistliku portfelli suuruse, aktsia reitingu ja positsiooni suuruse arvutamisega.

Kauplemisstrateegia tagasitõmbamine

Aktsiate puhul kasutatakse laialdaselt tagasitõmbavat kauplemist. See hõlmab ostmist, kui pikaajalise trendi ajal toimub lühiajaline tagasitõmbumine. Kui aga aktsia ei ole piisavalt volatiilne, seob selline kauplemine märkimisväärse kapitali.

Seetõttu on huvitav uurida, kuidas hakkab selline süsteem käituma futuuriturul, kus laenukapitalile juurdepääsu (võimenduse) võimalused on palju suuremad.

Selle strateegia reeglid on väga lihtsad:

Osta:

  • Sulgemishind > 200-päevane MA
  • Ja sulgemishind< 10-дневной СС

Soodustus:

  • Sulgemishind > 10-päevane MA
  • VÕI peatage kaotus 10%

Siin on mõnede futuuriinstrumentide ajaloo testimise tulemused:


Nagu näha, näitasid aktsiafutuurid (S&P 500 E-Mini ja Dow Jones E-Mini) stabiilseid tulemusi. Head tulemused olid ka USA riigikassa (USA kaks aastat ja kümme aastat) osas. Kulla (Gold mini) ja õli (Oil) puhul töötas süsteem halvasti.

Need tulemused põhinevad ainult ühe lepinguga kauplemisel ja mitte. Hinna sees on tasu 10 dollarit ühel suunal.

Nagu arvata võis, näitavad need tulemused, et see strateegia toimib kõige paremini pulliturul. Seetõttu on soovitatav kasutada sellega mingit turusuuna filtrit. Pulliturul võib see strateegia olla väga tulus. Igal juhul tasub ettepoole testida rohkem.

Lühikese komponendi tagasitõmbumisega kauplemise strateegia täiendamine

Samuti on soovitatav täiendada ülaltoodud tagasitõmbetega kauplemise strateegiat lühikeste tehingutega. ES (S&P 500 E-Mini) jaoks on tehtud asjakohane järeltestimine. Pikad kauplemisreeglid jäävad samaks, kuvatakse ainult järgmine lisareegel lühikeseks kauplemiseks. Tegelikult on see pikkade tehingute reegli peegelpilt, otsides ainult karuturul bullish tagasitõmbeid.

Lühikeseks müümine:

  • Sulgemishind< 200-дневной СС
  • JA sulgemishind > 10-päevane MA

Positsiooni katvus:

  • Sulgemishind< 10-дневной СС
  • VÕI peatage kaotus 10%
  • Tehingute arv: 323
  • Puhaskasum: 77 445 dollarit
  • Aastane kogutulu (CAR): 5,34%
  • Maksimaalne väljavõtmine (MDD): -16,45%
  • Keskmine kasum/kahjum (P/L): 3,66%
  • Kasumikordaja: 1,49


Nagu näete, parandas lühikese komponendi lisamine selle strateegia kauplemistulemusi ES-is. Puhaskasum kasvas sama aja jooksul 53 901 dollarilt 77 445 dollarile, samas kui maksimaalne väljamakse jäi samale tasemele. Tasakaalukõver näeb ka päris hea välja.

Loomulikult nõuab see süsteem täiendavat testimist ja selgitamist.. Sellegipoolest võib nii lihtsa strateegia puhul esimesi tulemusi pidada julgustavateks.

Selles artiklis näitame lihtsa kauplemisstrateegia testimise tulemusi kolmes režiimis: " OHLC M1-l" kasutades ainult minutiribade avatud, kõrge, madala ja sulgemise hindu; seejärel üksikasjalik simulatsioon jaotises " Kõik puugid" ja kõige usaldusväärsem testimine režiimis " Iga puuk põhineb tõelistel puugidel" kasutades ajaloost salvestatud puuke.

See võimaldab meil mõista, millise kvaliteedi me erinevates režiimides saavutame, ja näidata, kuidas testrit õigesti kasutada, et saada kiireid tulemusi. Režiim "OHLC on M1" võimaldab saada kiiret hindamistesti, simulatsioon režiimis "Kõik puugid" annab meile hea ligikaudse reaalsuse ning päris puukide testimine annab kõige täpsemad tulemused, kuid nõuab vastavas koguses aega. Lisaks võivad kauplemisroboti loogikavead mõjutada kauplemisoperatsioonide arvu ja viia selleni, et strateegia ajaloo põhjal testimise tulemused sõltuvad valitud testimisrežiimist.

Millist kauplemisstrateegiat testisime

Oleme loonud uusimatel RangeLength ribadel põhineva lihtsa vahemiku läbimurdmise kauplemisstrateegia. Selles kauplemise reeglid on järgmised: äsja avatud baaril kõrgeima ja kõrgeima vahemik madalad hinnad viimase N takti jaoks. Lisatud Expert Advisoris on vaikeparameeter RangeLength 20 riba ja see tähendab selle akna laiust, millesse me vahemiku koostame.

Pärast vahemiku esimest pausi üles või alla hakkab kogunema sissetulevate puukide statistika: mitu puuki osutus purustatud vahemiku tasemest kõrgemaks ja kui palju allapoole. Niipea kui sissetulevad puugid muutuvad TicksForEnter =30-st suuremaks või sellega võrdseks, tehakse otsus turule siseneda praeguse hinnaga. Kui vahemik oli murtud ülespoole, peaks läbimurdetasemest kõrgemal olevate puukide arv olema suurem kui sellest tasemest allpool olevate puukide arv. Sel juhul sooritatakse ost. Lühikese positsiooni sisestamiseks on vastupidi.

Avatud positsioonist väljumine toimub aja jooksul BarsForExit ribade kaudu. Nagu näete, on kauplemisreeglid lihtsad. Selguse huvides on need näidatud joonisel:

Vaatame, kuidas muutuvad selle strateegia testimise tulemused kolmes erinevas puugi simulatsiooni režiimis.

Kuidas me testisime

Kauplemisstrateegiat testiti EURUSD-l 2016. aasta I poolaastal - 01.01.2016 kuni 30.06.2016. Kõik Expert Advisori parameetrid olid seatud vaikeväärtustele, kuna meie ülesanne oli lihtsalt testida strateegiat erinevates simulatsioonirežiimides.


Tulemuste võrdlus erinevatel testimisrežiimidel

Erinevates režiimides testimise tulemused on kokku võetud tabelis. Esiteks torkab silma erinevus kauplemisoperatsioonide arvus. Sellest lähtuvalt on erinevad ka kõik muud testinäitajad. Samal ajal võttis testimine režiimis "OHLC on M1" aega 1,57 sekundit, mis on 23 korda kiirem kui režiimis "All ticks". Selline erinevus on kauplemissüsteemi sisendparameetrite optimeerimisel väga oluline.

Režiim "Every tic based on reality tics" oli omakorda veelgi aeganõudvam - 74 sekundit versus 36,7 sekundit "Kõik puugid" režiimis. Seda on lihtne seletada asjaoluga, et päris puukide kasutamisel simuleeriti üle 34 miljoni puugi, mis on peaaegu 2 korda rohkem kui režiimis "Kõik puugid". Seega, mida rohkem linnukesi testimisel kasutame, seda rohkem aega kulub strateegiatestis ühe läbimise jaoks.

Parameeter
OHLC M1-l
Kõik puugid
Iga puuk
põhineb tõelisel
Tikov
731 466
18 983 485
34 099 141
Netokasum
169.46 -466.81
-97.24
Kaupleb
96
158 156
Pakkumised
192
316 312
Aktsiate mahavõtmine (%)
311.35 (3.38%)
940.18 (9.29%)
625.79 (6.07%)
Saldo mahavõtmine281.25 (3.04%)
882.58 (8.76)
591.99 (5.76%)
Kasumlikud tehingud (%)
50 (52.08%) 82 (51.90%) 73 (46.79%)
Keskmine pidev võiduseeria
2
2
2
Testimisaeg, sealhulgas puukide genereerimise aeg
1.6 sekundit
36.7 sekundit
74 sekundit (1 minut 14 sekundit)

Oleme kogunud katsearuandeid erinevates simulatsioonirežiimides animeeritud GIF-ide kujul, et saaksite näha statistika erinevust.


Sellest lähtuvalt on erinevused ka bilansi- ja omakapitali graafikutel. Kuid samas on selge, et see lihtne strateegia ei tundu atraktiivne – kasvuperiood asendub langusperioodiga ning iga testi graafikud näevad välja nagu juhuste ahel. Sellise süsteemiga kaubelda ei saa, tulemus on sarnane mündi viskamisega.



Kauplemissüsteemid sõltuvad puukide saabumisest

Demonstreeritud kauplemissüsteem sõltub väga palju modelleerimismeetodist - sissetulevate linnukeste arvust ja nende laekumise järjekorrast. Režiimis "OHLC on M1" testides simuleerime kõige vähem puuke ja neist ei pruugi alati turule sisenemiseks piisata. Režiimid "Kõik puugid" ja "Iga puuk tõeliste puukide põhjal" võivad olla täiesti erineva puukide järjestusega. "Iga puugi" modelleerimisel saame monotoonselt suureneva või monotoonselt kahaneva puukide jada, mis praktiliselt garanteerib turule pääsemise vahemiku katkemisel. Režiimis "Iga puuk tõeliste puukide baasil" testimisel kasutatakse puukide salvestatud ajalugu ja seal võib hinnamuutuste dünaamika olla täiesti ootamatu.

Selle tulemusena näeme isegi testimisintervalli alguses, et nii sisenemise kui ka väljumise tase ise on graafikutel erinev ning mõned tehingud jäetakse vahele.



Neli puukide genereerimise režiimi

MetaTrader 5 terminalis olev strateegiatester võimaldab testida kauplemisstrateegiaid neljas linnukese simulatsiooni režiimis, neid kirjeldatakse artiklis MetaTrader 5 testimise põhitõed. Kiireim ja konarlikum on " Ainult avamishinnad", milles kauplemisoperatsioone saab teha ainult uue baari avamisel. Selles režiimis pole EA-le saadaval ühtegi riba sees toimingut ja see sobib hästi strateegiate testimiseks, mis ei võta arvesse, kuidas hind areneb baari sees.

Järgmine modelleerimise täpsuse osas on režiim " OHLC M1-l", mis simuleerib iga testitud ajaloovahemikus sisalduva minutiriba avatud, kõrge, madala ja sulgemise hindu. Seega, kui testitakse H1 ajakava ühe tunni jooksul, helistatakse ekspertnõustajale 240 korda: igal 60-st Minutiribadel kutsutakse OnTick() käitleja 4 korda – üks kord iga OHLC hinna kohta.Selle simulatsiooniga saate juba kasutada Trailing Stopi, vaadata vajaduse korral hinna arengut muude ajavahemike ja näitajate kohta. Näiteks testige selliseid strateegiaid nagu " 3 vanemat ekraani".

Kui vajate strateegiatesteris täiesti usaldusväärset ajaloo rekonstrueerimist, kasutage nuppu " Kõik puugid tõeliste puukide põhjal". Selles režiimis laadib tester iseseisvalt maakleri kauplemisserverist alla salvestatud tõelised puugid ja koostab nende põhjal hinnaarengu. Ajaloosegmentide puhul, kus pole reaalseid linnukesi, modelleerib tester hinda samamoodi nagu " Kõik puugid". Seega, kui maakleril on kogu vajalike sümbolite jaoks salvestatud ajalugu, saate tegelikke ajaloolisi andmeid testida ilma kunstliku modelleerimiseta. Sellise linnukese haaval täpsuse hind on aga testimisaja märkimisväärne pikenemine, nagu näidatud tabelis kolme režiimi võrdlemise tulemustega .

Alustage süsteemi arendamist režiimiga "OHLC on M1".

Nagu näete, on võimatu kõike korraga võita - kui tahame aega vähendada ja kauplemisideed kiiresti testida, kaotame lihtsate simulatsioonirežiimide korral täpsuse. Kui testimiseks on vaja tagada sisenemishindade täpsus ja kauplemissignaalide järjestus, siis tuleb kasutada täpsemaid režiime, mis nõuavad rohkem aega.

Enne kauplemisstrateegia testimise alustamist peate selgelt teadma, et valitud simulatsioonirežiim määrab tulemuste täpsuse ja nende hankimisele kuluva aja. Kui teil on vaja oma kauplemisstrateegiat kiiresti hinnata ja testida, kasutage režiimi "OHLC on M1". Selles saate kiiresti hinnata kauplemissüsteemi potentsiaali.

Järgmine etapp on silumine ja režiim "Iga linnuke".

Kui esialgsed tulemused osutusid rahuldavaks, siis saab jätkata kauplemissüsteemi peenhäälestamist ja analüüsimist täpsemates simulatsioonirežiimides. Siin tuleb appi strateegia silumine testimisrežiimis - saab määrata murdepunkte ja kontrollida muutujate olekut ja EA-s sätestatud tingimuste täitmist. Siin võite oodata ebameeldivaid üllatusi kui unustasite oma süsteemi mõningaid nüansse arvesse võtta.

Testimise täpsus vs kiirus

Nagu nähtub kirjeldatud kauplemissüsteemi kolmes režiimis testimise tulemustest, saab kaupleja alati ja peakski valima oma kauplemisstrateegiale sobiva linnukese simulatsiooni režiimi. Kui testite süsteemi igapäevase aja jooksul, siis " Ainult avamishinnad"- suur testimiskiirus ei lähe tulemuste kvaliteedi arvelt.

Kui kirjutate skaleerimis- või arbitraažistrateegiat või kui teie strateegia põhineb indeksite või sünteetiliste näitajate reaalajas arvutamisel, on vajalik režiim "". Testimine võtab palju rohkem aega, kuid tulemused on nii reaalsusele lähedased kui võimalik. Tõsi, me ei tohi unustada, et ajalugu ei kordu kunagi ja seetõttu ei garanteeri isegi selles režiimis optimeerimise abil ideaalselt valitud sisendparameetrid roboti päris kontol käivitamisel edu.

Nende kahe äärmuse vahel on " OHLC M1-l"Ja" Kõik puugid", mis on kiiremad kui " Iga puuk põhineb tõelistel puugidel", kuid annavad madalama testimise täpsuse. Üldiselt saame sõnastada seaduse, mis kirjeldab testimise aega ja täpsust:

Mida kiiremini test läbib, seda väiksem on kauplemissimulatsiooni täpsus. Mida detailsem ja täpsem on hinnaareng ajaloost lähtuvalt modelleeritud, seda rohkem aega kulub testimiseks.

Kauplemisserverid on juba aastaid kogunud tõelist puukide ajalugu ning MetaTrader 5 strateegia testija režiimis "Iga tick põhineb tõelistel puugidel" laadib kogu vajaliku ajaloo automaatselt alla. Kuid mida usaldusväärsem on testimine, seda rohkem ressursse see nõuab. Seetõttu vali tasakaal täpsuse ja kiiruse vahel.

Kõik strateegiad ei vaja üksikasjalikku modelleerimist varases arenguetapis. Õige valik testimisrežiim aitab säästa aega ja välja juurida suur kogus valed strateegiad!

Ja alles pärast põhiülesande lahendamist - kasumliku automaatse kauplemissüsteemi loomist - saate optimeerida tõeliste puukide järgi. Selles etapis vajate juba hajutatud arvutivõrgu võimsust.

Mis tahes indikaatorit või kauplemissüsteemi (tasuline, tasuta, kolmanda osapoole või enda loodud) saab reaalsele kontole paigutada alles pärast edukat proovisõitu mitmel viisil ja mitmel viisil. kauplemistingimused. Kauplemisstrateegiate optimeerimine ja pädev testimine - nõutav protsess edukaks kauplemiseks.

Kauplemissüsteemi arendamine nõuab palju aega ja vaeva, mistõttu pole empiirilisi meetodeid parameetrite valimiseks pikka aega kasutatud. Tänaseks on testimisetapist saanud tehnilise analüüsi vajalik komponent ja see võimaldab säästa kapitali reaalseks kauplemiseks.

Kauplemisstrateegiate testimise protsess tähendab algoritmi käitamist ajaloolistel või simuleeritud andmetel. Test peaks "nägema" vahetama "signaale" ostu/müügi tehingute genereerimiseks ja andma "võimaliku" tehingu tulemuse - tulu/kahjumi suurus on reaalseks tööks sobivuse näitaja.

Peamised eesmärgid ja meetodid

Kõigepealt peate kontrollima:

  • strateegias sisalduvad tulemusnäitajad;
  • turumudelid (varad, likviidsus, kulud, kiirus, libisemine, risk) ilma reaalse kauplemiseta;
  • parameetrite optimaalsus vastavalt tagasitesti tulemustele;
  • programmi kood arendusvigade jaoks.

Test peaks sisaldama mineviku analüüsi/tulevikuennustust ning koostama aruande koos graafiliste ja kvantitatiivsete tulemustega. Testerisse saate alla laadida:

  • ajalugu - rida varem moodustatud ribasid hindade, mahtude, näitajate parameetritega: seejärel moodustatakse analüüsiks hind "minevik" ja "tulevik", et hinnata "tuleviku" reaktsiooni "mineviku" dünaamikale;
  • stsenaariumi järgi modelleeritud hinnaväärtused: seejärel sisestage testeri sisendisse linnukese andmed (ajalugu või tegelikud) ja saate liikumise prognoosi.

Esimene meetod annab lihtsuse, kiiruse, kuid madala täpsuse ning teise puhul käitub strateegia testijas täpselt nii nagu päris kauplemisel. Simuleeritud tulemusi saab salvestada väliste failidena, mida saab terminali laadida menüü "Fail" - "Ava võrguühenduseta" kaudu.

Kauplemisstrateegiaid saab testida, kasutades:

  • igasugune matemaatiline tarkvara (Matlab või MS Excel koos lisandmoodulitega aktsia kauplemiseks);
  • süsteemid mehaaniliste süsteemide loomiseks (MetaStock, Wealth-Lab, Omega);
  • Java, Scala või C++/C# programmeerimiskeeled kauplemisrobotite loomiseks ja testimiseks;
  • kauplemisplatvormidesse sisseehitatud testijad.

Traditsiooniliselt rakendatakse testimisprotsessis stabiilsete ja õigete tulemuste saamiseks järjekindlalt järgmist:

  • Indikaatori või süsteemi visuaalne test: eeldab hinnaajaloo vaatamist pikema perioodi jooksul (üks-kaks aastat). Seda aeganõudvat protsessi lihtsustab käsitsi strateegiatestija tarkvara.
  • Ekspertnõustaja loomine, testimine ja optimeerimine.
  • Pika ajaloo test automaatrežiimis.
  • Testi demokontol või sendikontol: tehakse pärast kahe esimese meetodi stabiilsete tulemuste saamist - pikk, kuid kõige täpsem arvutus. Demokonto ja sendikonto erinevus on ainult psühholoogiline.

Ebasoodsate tulemuste korral peate kulutama aega nõustaja parameetrite valimisele ja sisseehitatud optimeerimisvõimalus on selleks sobivaim mehhanism.

Kauplemisstrateegia testijad

Need on mitme valuutaga analüütilised tööriistad välistest failidest laaditud ajaloo töötlemiseks. Protsess sorteerib järjestikku hinnapakkumisi, analüüsib algoritmi reaktsiooni ja avab virtuaalsed tehingud. Parima valiku valimiseks võite korraga arvestada mitme varaga.

Kauplemisstrateegiate testimisel simuleerib juhusliku täitmise viivitusrežiim võrguprobleeme edasimüüjate korralduste tegeliku täitmise ajal. Visualiseerimisrežiim näitab protsessi reaalajas: kõik avatud tehingud kuvatakse hinnagraafikul, seaded tehakse vastavalt kriteeriumidele: kiirus, kvaliteet, kasum, periood, erinevaid tingimusi kaubandus.

Tulemus esitatakse graafilise ja statistilise teabe kujul: kasumi/kahjumi protsent, kaotavate/kasumlike tehingute arv, riskitegurite näitajad, matemaatiline võiduootus jne.

Kauplemisstrateegiate "edasi" testimise mehhanism aitab vabaneda parameetrite "sobitamise" probleemidest: ajalugu on jagatud kaheks osaks - optimeerimine toimub ühel poolel ja teine ​​osa peab kinnitama tulemust. Testijad saavad toetada hajutatud testimise metoodikat, st kaasata protsessi täiendavaid võimalusi, sealhulgas pilvandmetöötlusvõrkudes.

Põhinõuded seadistustele kauplemisstrateegiate testimisel:

  • alla laadida kõigi perioodide andmed; ajaloo vahemik on vähemalt 5 aastat, kohustuslikult kriisi/mittestandardse dünaamikaga perioodide kaasamine (näiteks 2008-2009);
  • kui kasutate väiksemat perioodi, peaks see sisaldama trendi ja tasase liikumise perioode;
  • simuleeritud tehingute arv on alla 300;
  • testige algoritmi mitmel vedelal instrumendil.

Katseparameetrite määramisel arvestage:

  • kauplemiskulud (vahed, vahendustasud);
  • libisemine/viivitused;
  • varade likviidsuse mõju (mahuline dünaamika);
  • turutingimuste muutumine;
  • kauplemiskorralduste tüübid, mida kavatsetakse kasutada (turu- või limiitkorraldused).

Kui turukorraldus täidetakse kohe, kuid selle lõplikku hinda testimiseks ei ole määratletud, võivad limiitkorraldused “oodata” tehingu jaoks sobivaimat hinda. Limiitkorraldust peetakse passiivseks vahendiks, kuna korralduste vähesuse korral võib see olla täitmata või osaliselt täidetud. Kui tellimusraamatu käitumist ei modelleerita täpselt, näitab reaalajas test halvemaid tulemusi kui tagasitest.

Ärge unustage: enne seansside sulgemist võib vahe suureneda mitu korda, seega ärge nädalavahetusega arvestades lühikesi teste läbi viima – saate palju suuremaid kulusid.

Tavaliselt kasutatakse kolme arvutusmeetodit:

  • Avamishinnad: kiireim, kuid kõige ebatäpsem meetod, enamik strateegiaid, kui seda testitakse kuni 1 aasta jooksul, ei pruugi üldse avada ühtegi tehingut;
  • Kontrollpunktide jaoks: täpsuse ja aja osas kõige tasakaalustatum, kuid saadud andmete usaldusväärsus on madal;
  • Kõigi puukide jaoks: kõige täpsem, tegelikkusele lähedane meetod.

Mis tahes pikaajalise testimismeetodi korral on viimase paari aasta tulemused kõige täpsemad nii trendi- kui ka tagasitõmbesüsteemide puhul.

Ärge unustage: reaalsete mudelite ja simuleeritud andmete mahtude rakendamine täpseks testimiseks nõuab tehnilisi ressursse ja sisse visualiseerimine aeglustab arvutusprotsessi.

Kauplemisstrateegiate testimine modelleerib õigesti kõiki ajavahemikke, sealhulgas mahuandmeid. Testi käigus arvutatakse näitajad veebis.

Pärast testi lõpetamist saate avada diagrammi mudeli koos kõigi sisenemis-/väljapääsupunktide ja indikaatorite andmetega, nii et kui strateegiatel või indikaatoritel on vigu, siis need kindlasti ilmuvad. Ajaloost arvutatud indikaatori väärtused võivad erineda testi ajal kehtinud väärtustest.

Katsetulemusi saab piiritletud andmete jadana üles laadida Excelisse või muusse tarkvara.

Ära unusta :n sa ei saa kasutada arvutustes mittetäielikku noteeringute kogumit või osalist importi erinevatest allikatest. Minutipakkumised tuleb automaatselt ümber arvutada ja sisestada arvutusse ilma ajutiste lünkade ja nihketeta.

Ja kokkuvõtteks...

Kauplemisstrateegiate testimine võimaldab teil hinnata algoritmi õigsust ja kasumlikkust ilma tegelikult turul kauplemata. Lisaks rahale säästab see aega – hinnapakkumiste test mitme aasta jooksul võib võtta vaid mõne tunni, selle saab igal ajal peatada, muuta instrumenti, arvutustingimusi või optimeerimisparameetreid. Allikas:

Joomla sotsiaalsed nupud

Populaarne:

  • 14. november 2013 06:32 | Pööramise indikaator - määrake trendi 55948 lõpp
  • 04.02.2015 10:04 | VSA indikaator loeb turgu nagu avatud raamat 53422
  • 23.09.2014 11:08 | Forexi nõustaja konstruktor võimaldab teil luua mis tahes kauplemisroboti 48882


Esiteks graafika kohta. Paremal ülaosas on volatiilsuse naeratus. Vasakpoolses alanurgas on praeguse asukoha profiil. (pruun joon on volatiilsuse kalle, mis näitab, kuidas volatiilsus võib hinna muutumisel muutuda). Ülejäänu on minu arvates selge.

Funktsionaalne. Lisaks kiirele positsioonijooksule (Start) ja aktsiate vaatamisele (kiirendas töötlemisprotseduuri) ja samm-sammult käitamisele (StepByStep) lisasin profiili ja volatiilsuse muutuste arvestuse.

Kuidas kasutada. (vt eelmist blogi). Tulemuse nägemiseks vajutage nuppu Start. Samm-sammult vaatamiseks märkige kastist StepByStep vasakul pool. Positsiooniprofiili vaatamiseks klõpsake nuppu Profiil. Kui vajutate sammhaaval ja ei soovi iga kord nuppu Profiil vajutada, märkige ruut Profiil nupust vasakul. Kui soovite vaadata tavalist (standardset) profiili, tühjendage märkeruut Volatiilsus. Kui märkeruut (Volatiilsus) on märgitud, koostatakse profiil, võttes arvesse muudatust ( võimalik muutus) volatiilsus. (pruun joon graafikul).

Üles