A backtestek hazudnak. Curve-fitting, előretekintő torzítás, túlélési torzítás, irreális végrehajtási feltételezések - jól dokumentált, hogyan tudja egy backtest becsapni.
De ha komolyan veszi a szisztematikus kereskedést, akkor is tesztelnie kell. A kérdés nem az, hogy backtestelünk-e. Hanem az, hogyan csináljuk anélkül, hogy becsapnánk magunkat.
Itt vannak azok a módszertanok, amelyek valóban működnek.
Kezdje a Logikával, Ne az Adatokkal
Mielőtt egyetlen tesztet is futtatna, fogalmazza meg, miért kellene működnie a stratégiájának.
Nem azért, "mert történelmileg működött." Ez körkörös érvelés. Piaci alapú okra van szüksége: az intézményi viselkedés hozza létre ezt a mintát, az emberi pszichológia termeli ezt a tendenciát, a piacszerkezet generálja ezt a hatékonyságot.
Ha nem tudja megmagyarázni a logikát, adatbányászatot végez. Bármilyen "előnyt" talál, az valószínűleg zaj, ami jelnek tűnt.
Jó alapok:
- A ciklusok léteznek, mert a tőke az akkumulációs és disztribúciós fázisokon keresztül forog
- A volumen megerősíti az irányt, mert a pénzáramlás felfedi az intézményi szándékot
- A konfluencia működik, mert a független rendszerek egyezése csökkenti a hamis jeleket
Írja le a hipotézisét tesztelés előtt. Ez megakadályozza, hogy utólag magyarázatokat illesszen az eredményekhez.
Építsen Be Reális Költségeket
A legtöbb backtest tökéletes végrehajtást feltételez. A valós kereskedésnek súrlódása van.
Minden tesztbe foglalja bele:
- Spread: Az ask-on vesz, a bid-en ad el. Modellezze ezt explicit módon
- Csúszás: Feltételezzen a jelárfolyamnál 0,1-0,5%-kal rosszabb végrehajtásokat
- Jutalékok: Még az "ingyenes" brókereknek is vannak SEC díjaik és payment for order flow költségeik
- Piaci hatás: A megbízása mozgatja az árat, különösen a kevésbé likvid instrumentumokon
Egy stratégia, amely trade-enként 0,1%-ot keres 0,15% oda-vissza költséggel, vesztes. Jobb most tudni, mint valós veszteségek után.
A Mintán Kívüli Protokoll
Itt a legfontosabb technika az őszinte backtestinghez: mintán kívüli tesztelés.
- Ossza fel az adatait. Válassza szét mintán belülire (mondjuk 70%) és mintán kívülire (30%)
- Csak mintán belül fejlesszen. Minden tesztelést, beállítást és optimalizálást a mintán belüli adatokon végezzen
- Egyszer teszteljen mintán kívül. Amikor van egy végleges rendszere, tesztelje a soha nem látott mintán kívüli adatokon
- Egy esély. Csak egy esélye van. Ha mintán kívül tesztel, beállít és újra tesztel, az már nem mintán kívüli
Ha a teljesítmény jelentősen romlik a mintán kívüli adatokon, túlillesztést végzett. Ha tartja magát, lehet, hogy valami valódi.
Walk-Forward Elemzés
Az egyszerű mintán kívüli tesztelésnél is jobb a walk-forward elemzés:
- Optimalizáljon az 1. időszakra (mondjuk 2015-2018)
- Teszteljen a 2. időszakra (2019)
- Jegyezze fel az eredményeket
- Optimalizáljon a 2. időszakra (2016-2019)
- Teszteljen a 3. időszakra (2020)
- Ismételje
Ez szimulálja, amit valójában csinálna: rendszeresen újraoptimalizálni a rendszerét friss adatokkal, majd előre kereskedni.
Ha a "teszt" időszakok következetesen jól teljesítenek, a rendszere robosztus. Ha a teszt időszakokban a teljesítmény sokkal rosszabb, mint az optimalizációs időszakokban, curve-fittinget végez.
A Monte Carlo Valóságellenőrzés
A backtestje 25%-os maximális drawdownt mutat. Kényelmes, igaz?
De ez csak egy út a történelmen keresztül. A véletlenszerű variáció sokkal rosszabbat is produkálhatott volna.
A Monte Carlo elemzés véletlenszerűsíti a trade-ek sorrendjét (vagy visszatevéses mintavételt alkalmaz) és több ezer szimulációt futtat. Ez megmutatja az eredmények tartományát, amelyek ugyanazokkal a trade-ekkel különböző sorrendekben előfordulhattak volna.
Ha a maximális drawdownja más szerencsével 50% is lehetett volna, 50%-os drawdownra kell méretezni, nem 25%-osra.
A Lényeg
A backtesting nem bizonyíték az előnyre. Egy módszer a rossz ötletek cáfolására - ha őszinte vagy ezzel kapcsolatban.
Egy jó backtest:
- Egyszerű szabályokat használ piaci alapú logikával
- Elkerüli az előretekintő és túlélési torzítást
- Tartalmaz reális tranzakciós költségeket
- Fenntart mintán kívüli adatokat a végső validáláshoz
- Stressztesztel walk-forward és Monte Carlo elemzéssel
A cél nem egy szép equity görbe. Hanem a jövőbeli teljesítmény realisztikus becslése. Ezek nagyon különböző dolgok.
A nem-átrajzoló indikátorok elengedhetetlenek az őszinte backtestinghez. Ha a tesztelt rendszer cikluselemzést, volumenrezsim-érzékelést és momentum-szavazást használ, amelyek mind a gyertya zárásánál véglegesednek, a történeti áttekintése pontosan azt mutatja, amit élőben látott volna. Nincs előretekintő torzítás. Nincsenek fantomjelek. Amit tesztel, azt kereskedné is valójában.
A Pentarch nem-átrajzoló jelei őszinte backtestingre terveztek - amit a történelemben lát, pontosan az, amit élőben látott volna, előretekintő torzítás nélkül.
Teszteljen magabiztosan →