Egyik kedves ügyfelem újabb vendégposztja következik: szükséges-e minden esetben a pontos adatokkal történő backtesztelés?

A cikket Schasbrich Csaba írta, köszönjük!

Több ezer órányi MT4-es optimalizálás után azon kezdtem el gondolkodni, vajon szükséges-e az első vagy éppen második körös back testhez vagy éppen optimalizáláshoz tick data?

MT4-ben az expert advisorok fejlesztéséhez, teszteléséhez a legnagyobb elérhető adatpontosságot biztosító Birt Tick Data Suite megjelenése óta szinte mindenhez tick adatot használtam. Előnye, hogy a piac minden mozzanatát leköveti, hátránya a gigantikus adatmennyiség, ami egy bonyolultabb expert advisornál szinte végtelen számítási erőforrást követelne.

Az adatokat a Dukascopytól szoktam beszerezni, így nem csak tick, hanem akár 1 perces adatot is kérhetek. Vajon az 1 perces adat elégséges egy nagyvonalú – leginkább belépéseket kereső – expert advisor optimalizáláshoz? Erre kerestem a választ.

Kiválasztottam az egyik Breakout Expert Advisort, amit Radu nekem készített. Van egy jó kis beállítás hozzá, minden hajnalban 1 órakor fut, 1:3 kockázat:hozam aránnyal 1 órás EURJPY páron. Azt már tudom, hogy MT4-ben minden tick futtatásával a 99 százalékos teszt tick datán 2011-01-01 és 2013-01-16, azaz több mint két év adatán 2 perc 15 másodpercig tart. Azt még elárulom, minden kötés 1 százalékos tőkekockázattal futott.

Az eredmények:

Tulajdonság Érték
Bars in test 12726
Ticks modelled 29770466
Modelling quality 99.00%
Mismatched charts errors 0
Kezdő betét 1000
Összes nettó profit 1533.05
Bruttó profit 5192.63
Bruttó veszteség -3659.57
Profit tényező 1.42
Várt eredmény 3.83
Teljes visszaesés 6.76
Maximális lehívás: 348.85 (14.67%) Relative drawdown: 15.06% (210.95)
Összes kereskedés 400
Short pozíciók (won %) 202 (43.56%)
Long pozíciók (won %) 198 (41.92%)

A 2,4 gigás CSV fájlok kezelése viszont elég macerás, szemben az 1 perces adatokéval. Az 1 perces EURJPY adat CSV-je a Dukascopytól alig 65 megás, töredéke a tick datának.

Mit jelent ez sebességben?

8 másodperc! a korábbi 135 másodperccel szemben, az 1 perces adatokon. És mit ér az adat, ha pontatlan? De ki mondta, hogy pontatlan? A százalék szintén 99, és lássuk az eredményeket!

Tulajdonság Érték
Bars in test 17905
Ticks modelled 1074240
Modelling quality 99.00%
Mismatched charts errors 0
Kezdő betét 1000
Összes nettó profit 1789.35
Bruttó profit 5970.14
Bruttó veszteség -4180.79
Profit tényező 1.43
Várt eredmény 3.79
Teljes visszaesés 49.71
Maximális lehívás: 441.59 (16.48%) Relative drawdown: 19.44% (258.04)
Összes kereskedés 472
Short pozíciók (won %) 232 (41.81%)
Long pozíciók (won %) 240 (43.33%)

Eltérés tapasztalható, de nem olyan mértékű, ami befolyásolná a tesztelést. A stratégia „hasznát” mindkét teszt igazolja. Hiszen most azt akartuk megnézni az 1 perces adatokkal, mennyivel gyorsabb MT4-ben optimalizálni. Több száz órányi optimalizálás után még mindig finomíthatunk tick data-n, de az eredmény sokkal hamarabb jön. Hamarabb kiderül, ha stratégiailag mit sem ér a robotunk.

Természetesen azt is érdemes figyelembe venni, hogy ha robotunk természetszerűleg minden tickre fut (és nem csak lezárt gyertyánként) akkor az 1 perces adatokon történő tesztelés jóval nagyobb különbségeket képes okozni!

A pontos adatokból a CSV2FXT szkripttel készítettem FXT és HST fájlokat.

Csaba korábbi cikke a tick adatos, gyors backtesztelésről ide kattintva olvasható el.