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.
Kedves látogató!
A bejegyzés megjelenése óta már jóval könnyebb és kényelmesebb megoldás is létezik a jó minőségű adatok előállításához és használatához, melyről ide kattintva olvashatsz.