A backteszt akkor is teljesültnek jelezheti a limitáras megbízásodat, ha valójában nem volt végrehajtható lehetőség. Ha egy gyertya minimuma elérte a vételi limitáradat, sok motor teljesülést számol. A minimumár azonban csak azt mutatja, hogy legalább egy kötés ezen az áron vagy alatta született. Arról nem árul el semmit, mekkora forgalom zajlott, mekkora sor állt előtted, vagy hogy a megbízásod időben bekerült-e a könyvbe.
Ez a különbség főként akkor számít, ha a stratégia előnye a gyakori passzív teljesülésektől függ. Egy modell, amely minden árérintést teljes teljesülésnek vesz, a türelmes beszállást képzeletbeli alfaforrássá változtathatja.
Azt jelenti a limitáram érintése a gyertyán belül, hogy teljesült a megbízásom?
Nem. Csak azt jelenti, hogy a gyertya rögzített ártartománya magában foglalta a limitáradat. Az, hogy teljesülhetett-e a megbízásod, a piac ajánlati könyvétől, a kötésáramlástól, a sorban elfoglalt helyedtől és a megbízás beérkezésének időpontjától függ.
Képzelj el egy $100.00-os vételi limitet. A gyertya $100.20-on nyit, a minimuma $99.98, a záróára pedig $100.10. Lehet, hogy $100.00-on két centtel áthaladó kötés született, de ha ezen az áron nagy sor állt előtted, és csak kis mennyiség forgott, a megbízásod érintetlen maradhatott. Pusztán az OHLCV-adatokból ezt a sort nem láthatod.
Van még egy bökkenő: a gyertya egy időszak eseményeit összesíti. Ha a jelzésed a gyertya záróárából számítod, nem feltételezheted, hogy a megbízásod már pihent a könyvben a gyertya minimumának kialakulásakor. A gyertya összesűríti azt az eseménysort, amely választ adna erre a kérdésre.
Mit tudnak valójában elárulni az OHLCV-adatok a limitáras teljesülésről?
Az OHLCV-adatok bizonyos teljesüléseket kizárhatnak, másokat pedig valószínűvé tehetnek. A sorban elfoglalt elsőbbséget nem tudják megállapítani, és azt sem garantálják, hogy a megbízásod számára elegendő mennyiség állt rendelkezésre.
| Megfigyelés | Mire ad alapot? | Mit nem bizonyít? |
|---|---|---|
| A gyertya minimuma a vételi limit felett maradt | Az adott gyertyában egy jelentett kötés sem érte el ezt az árat | Hogy a megbízás teljesült volna |
| A gyertya minimuma elérte a vételi limitet | A jelentett ár elérte a limitet | Hogy a megbízásod beérkezése után bármennyi mennyiség forgott volna ezen az áron |
| A gyertya minimuma a vételi limit alá esett | A limitáron vagy az alatt születtek kötések | Hogy elegendő mennyiség jutott el a sorban elfoglalt helyedig |
| A gyertya teljes forgalma meghaladta a megbízásod méretét | A gyertyában valahol legalább ekkora mennyiséggel kereskedtek | Hogy a mennyiség a limitáradon, a megbízásod beérkezése után forgott |
Ezért a gyertyák alapján dolgozó motornak szüksége van egy teljesülési feltételezésre. Kezeld ezt a feltételezést ismert vakfolttal rendelkező modellként, ne pedig a gyertyából kiolvasható tényként.
Hogyan modellezzem a limitáras megbízások teljesülését a backtesztben?
Kezdd a megbízás időzítésével. Határozd meg, mikor válik elérhetővé a jelzés, mikor érkezik meg a megbízás a tőzsdére, és mely későbbi piaci események hathatnak rá. Ha a jelzés csak a gyertya zárásakor ismert, konzervatív, gyertyákra épülő szabály, ha a megbízás csak a következő gyertyától válik teljesíthetővé.
Ezután válaszd külön az ár szerinti jogosultságot és a teljesülő mennyiséget. Attól, hogy a limitár már kereskedhető, még nem teljesül a teljes megbízás. Ha vannak kötésadataid, de nincs ajánlatikönyv-történeted, megkövetelheted, hogy a limitáron vagy annál kedvezőbb áron forgó mennyiség meghaladja a megbízás méretének valamely többszörösét. Ez a többszörös durva puffer a sorban előtted állókra, nem általános érvényű állandó. Próbálj ki több értéket, és mutasd be, hogyan változik az eredmény.
Tegyük fel például, hogy a stratégia 2 BTC értékű vételi limitet ad meg, és a választott áron 3 BTC forog, miután a megbízás teljesíthetővé vált. Az 5 BTC megfelelő mennyiséget megkövetelő modell teljesületlenül hagyná; az 1.0-s forgalmi szorzót használó modell teljesültnek venné. Egyik eredmény sem rekonstruálja a sort. Az összehasonlítás megmutatja, mennyire függ a stratégia egy olyan feltételezéstől, amelyet nem tudsz megfigyelni.
A teljesületlen megbízásokat is tartsd bent a szimulációban. Akkor töröld őket, amikor a stratégia is törölné, és hagyd elmaradni a lekésett ügyletet. Ha a stratégia minden limitár-érintéskor teljesülést kap, miközben a teljesülés nélkül lejáró megbízásokat figyelmen kívül hagyod, az torzítja a végrehajtást és a lehetőségek számát is.
Mikor van szükségem ajánlati könyv adataira?
Használj ajánlatikönyv-frissítéseket és kötésadatokat, ha a stratégia szempontjából kulcsfontosságú a sorban elfoglalt hely vagy a részleges teljesülés: például market makingnél, rövid életű passzív ajánlatoknál vagy olyan beszállásoknál, amelyek egy zsúfolt árszint elejéhez közeli pozíciótól függnek. Még ilyenkor sem feltétlenül mutatják meg a nyilvánosan elérhető múltbeli adatok a sorban elfoglalt pontos helyedet. Modellezned kell a megbízás beérkezését, az előtted álló megbízások törlését, a párosítási szabályokat és a saját piaci hatásodat.
Lassabb stratégiáknál a részletes ajánlati könyv növelheti a bonyolultságot anélkül, hogy feloldaná a fő bizonytalanságot. Egy hasznos, gyertyákra épülő vizsgálat így is összevetheti az érintéskor teljesülő felső korlátot a szigorúbb, forgalomhoz kötött forgatókönyvekkel. Ha a látszólagos előny azonnal eltűnik, amint hihető teljesülést követelsz meg, az értékes kutatási eredmény.
Hogyan állapíthatom meg, hogy az eredményem optimista teljesülésektől függ?
Futtasd ugyanazt a stratégiát néhány egyértelműen meghatározott teljesülési szabállyal, és ne csak a végső hozamot hasonlítsd össze. Kövesd a teljesült megbízások számát, a részleges teljesülések arányát, a könyvben töltött időt, a törölt mennyiséget, a teljesületlen megbízások utáni elmaradt ármozgásokat és a forgalmat. A stratégia megtarthatja a kiemelt hozamát úgy is, hogy közben jóval kevesebb, kedvezőbb ügyletre támaszkodik.
A következő hasznos ellenőrzés a papírkereskedés: küldd be a tényleges megbízási logikát, és rögzítsd a visszaigazolásokat, teljesüléseket és törléseket. A papírkereskedési teljesülések továbbra is a tőzsde vagy a szimulátor saját szabályaitól függenek, de olyan időzítési és megbízáskezelési kérdéseket is vizsgálnak, amelyeket egy gyertya nem mutat meg.
A limitár érintése az árról mond valamit. A teljesülés a végrehajtásra vonatkozó állítás. A backtesztednek láthatóvá kell tennie a kettő közötti különbséget.
← Összes bejegyzés


