A backtestünk 100 beadott megbízásból 91 teljesülést vett számításba. Paper kereskedésben ugyanez a stratégia 63 teljesülést ért el. A jelzéstől a megbízás visszaigazolásáig eltelt idő mediánja 84 milliszekundum volt, és a paperben elmaradt teljesülések közül 12 olyan limitmegbízás volt, amelyet a backtest már attól teljesültnek tekintett, hogy az ár elérte a limitárat.
Ez a 28 százalékpontos eltérés elsőre stratégiai problémának tűnt, amíg külön nem választottuk a megbízási döntéseket a teljesülési döntésektől. A stratégia mindkét futásban szinte ugyanazt az irányt, méretet és árat választotta. A végrehajtás útja tért el: néhány megbízás késve érkezett meg, néhány nyitva maradt, mások pedig már elmozdult piaccal találták szemben magukat.
Mit jelent a backtest és a paper rendszer megbízásainak egyezése?
Az egyezés azt jelenti, hogy a backtest és a paper rendszer összevethető döntéseket hoz ugyanabból az elérhető információból, majd a különböző végrehajtási modelleket kifejezetten figyelembe veszi. Nem jelenti azt, hogy minden szimulált teljesülésnek egyeznie kell egy paper teljesüléssel. A múltbeli gyertyákból nem állítható vissza a sorban elfoglalt hely, és a paper platform más párosítási modellt használhat, mint az éles tőzsde.
A hasznos kérdés szűkebb: minden, a stratégia által beadni kívánt megbízásnál meg tudod magyarázni, mi történt utána? A kötések száma és a végső hozam túl sok részletet rejt el. Minden döntéshez vezess összekapcsolt nyilvántartást, és használj állandó stratégiai döntésazonosítót a jelzés, a megbízás, a visszaigazolás, a visszavonás és a teljesülés eseményein keresztül.
| Összehasonlítás | Mire derít fényt | Példa |
|---|---|---|
| A döntés ideje és iránya | Eltérő bemenetek vagy ütemezés | A paper jelzés egy gyertyával később érkezik |
| A kért mennyiség és ár | Kerekítés, kockázati vagy platformszabályok | A backtest 0.013 BTC-t ad be; a paper rendszer 0.01-re kerekít |
| A megbízásállapotok változásai | Beadás, elutasítás és visszavonás körüli eltérések | A backtest kész tényként kezeli a visszavonási kérést |
| A teljesült mennyiség és ár | Túl optimista teljesülési modell vagy piaci elmozdulás | Az elért limitárú megbízás a backtestben teljes egészében teljesül, a paper rendszerben viszont nem |
Miért maradt el ennyi teljesülés az elért limitárú megbízásoknál?
A backtestünk 1 perces gyertyákat használt. Ha egy limitár beleesett a gyertya minimuma és maximuma közötti tartományba, a rendszer teljesültnek jelölte a megbízást. Ez a szabály arra ad választ, hogy a piac az adott percben járt-e valamikor ezen az áron. Arra nem, hogy a megbízásunk akkor már aktív volt-e, első volt-e a sorban, vagy érkezése után elegendő mennyiség cserélt-e gazdát.
A paper naplók feltárták az időzítési problémát. A stratégia 12:03:00.000-kor kiszámított egy jelzést, de a piaci adat eseménye 31 milliszekundummal később jutott el a megbízáskezelő folyamatig. A kockázati ellenőrzések további 22 milliszekundumot vettek igénybe, a platformszimulátor pedig újabb 31 milliszekundum után igazolta vissza a megbízást. Gyors piaci mozgásnál egy múltbeli gyertya alapján úgy tűnhet, hogy az ár elérhető volt, holott a limitmegbízás csak azután érkezett meg, hogy a piac már túljutott rajta.
Volt még egy csavar: tizenkét paper megbízás továbbra is nyitva volt, miközben a backtest már továbblépett. A szimulátor úgy fogadta el a visszavonási kérést, mintha a megbízás azonnal megszűnt volna. A paper rendszerben a visszavonás visszaigazolása később érkezett meg; ezalatt három megbízás teljesült. Emiatt megváltozott az a pozíció, amelyet a következő jelzés figyelembe vett.
Hogyan mérjem az eltérést úgy, hogy ne vezessem félre magam?
Kezdj egy egyszerű egyeztető jelentéssel, amely a megbízási szándék szerint csoportosít. A nevezőt mindig tüntesd fel. A „teljesülési arány” jelentheti a beadott megbízások közül teljesültek arányát, a teljesült mennyiség és a kért mennyiség hányadosát, vagy a platformhoz eljutott megbízások közül teljesültek arányát. Ezek különböző kérdésekre válaszolnak.
- Az eseményeket döntésazonosítóval vagy ügyféloldali megbízásazonosítóval kapcsolj össze, ne utólag megtippelt időbélyeggel.
- Először a döntéseket hasonlítsd össze: a jelzés idejét, az irányt, a kért mennyiséget, a megbízás típusát és a limitárat.
- Az egyező döntéseknél hasonlítsd össze a visszaigazolás késését, az elutasításokat, a nyitva töltött időt, a visszavonás idejét, a teljesült mennyiséget és a mennyiséggel súlyozott teljesülési árat.
- A mutatókat megbízástípus és piaci helyzet szerint is bontsd le. A 63%-os összesített teljesülési arány mögött megbújhat a piaci megbízások 90%-os és a passzív limitek 35%-os aránya.
A kategóriákat egyértelműen különítsd el. Az elutasított megbízás nem teljesületlen megbízás; a részleges teljesülés nem teljes egészében teljesült megbízás; a részleges teljesülés után visszavont megbízás pedig így is megváltoztatta a pozíciót. A megbízások számát és a kért mennyiséget is számold, hogy sok apró megbízás ne tüntesse fel kedvezőbbnek az eredményt, mint amilyen valójában.
Min kell változtatni a backtestben?
Olyan teljesülési szabályt használj, amely illik az adatok felbontásához és a megbízás tervezett működéséhez. Gyertyák használatakor az elért limitár csak a lehetséges teljesülés bizonyítéka, nem a biztos teljesülésé. Modellezz óvatosan részleges teljesüléseket, követelj meg az áron való átlépést, vagy hagyd ki azokat a passzív megbízásokat, amelyeknél nem becsülhető meg a sorban elfoglalt hely. Mindegyik választás más kérdésre ad választ; dokumentáld, és több életszerű szabály alapján is hasonlítsd össze az eredményt.
A megbízásállapotokat is modellezd. A megbízás aktív marad, amíg a rendszer nem kap róla végleges eseményt, a visszavonási kérés pedig nem szünteti meg a kitettséget. Ha a stratégia bead egy második megbízást, miközben az első még függőben van, a backtestnek modelleznie kell ezt az időzítési versenyhelyzetet, vagy tervezésből meg kell akadályoznia.
A teljesülési modell állítás arról, hogy mire lett volna képes a megbízásod. Fogalmazd meg a szabályt úgy, hogy meg tudd magyarázni, majd ellenőrizd a paper naplók alapján.
A mi 28 százalékpontos eltérésünkben az volt a meglepő, hogy a perces gyertyákon alapuló backtest túlbecsülte a passzív megbízások teljesülését. A stratégia pozíciója azonban már a következő döntése előtt eltért, mert kihagytuk a visszavonás időzítését. Miután kijavítottuk a megbízásállapotok modelljét, és felhagytunk azzal, hogy minden elért limitárat teljesülésnek tekintsünk, a paper összevetés kevésbé hízelgő, de hasznosabb lett.
A gyakorlatban ezt jelenti az egyezés: a szimulált és a paper működés közötti minden érdemi eltérésnek rögzített oka van, és a backtest nem állít bizonyosságot ott, ahol az adatok ezt nem teszik lehetővé.
← Összes bejegyzés


