Van egy kisebb kripto határidős stratégiád, amely több kontraktussal kereskedik, és éppen most léptél át a backtestről a papíralapú kereskedésre. Az első újrasúlyozás 0.037 BTC-t kér. A szimulátor elfogadja, a tőzsde viszont elutasítja, mert a kontraktus mennyiségi lépésköze 0.001, a megbízás pedig lefelé kerekítve a minimális névérték alá esik. A pozíciód változatlanul nulla marad, miközben a backtest teljesült ügyletet rögzít.
Könnyű ezt formázási hibának tekinteni. Pedig azt is megváltoztathatja, milyen eszközöket tartasz, mikor súlyozod újra a portfóliót, és mennyi kockázat marad egy sikertelen megbízás után. Kezeld az egyes tőzsdék kereskedési szűrőit a stratégia végrehajtási szabályainak részeként, és gondoskodj róla, hogy a backtested és a papíralapú kereskedés adaptere ugyanazokat a szabályokat, ugyanabban a sorrendben alkalmazza.
Milyen tőzsdei szűrők tehetnek érvénytelenné egy megbízást?
Kezdd azokkal az instrumentumadatokkal, amelyekre a megbízásnak ténylegesen szüksége van: mennyiségi lépésköz, minimális mennyiség, minimális névérték, árlépésköz, valamint az esetleges megbízásméret- és ársávkorlátok. Az elnevezések és az érvényességi kör tőzsdénként eltérhetnek. Egy spot pár minimális értéke különbözhet az örökös kontraktusáétól; a szűrő pedig a stratégia futása közben is változhat.
Tegyük fel, hogy egy pozíció célértéke $12 egy olyan kontraktusban, amelynél a minimális megbízási érték $10. Ha a mennyiségi lépésköz miatt a megbízásod $9.80-ra kerekül le, érvénytelen lesz, hiába érte el a kerekítés előtti cél a minimumot. A $10.20-ra kerekítés érvényessé teheti, de $0.20-szal túl is lépi a célt. Ez a különbség számottevő lehet kis számlánál vagy sok instrumentummal kereskedő stratégiánál.
| Szabály | Mit korlátoz? | Következmény a backtestben |
|---|---|---|
| Mennyiségi lépésköz | A megbízásméret megengedett változásai | A kerekített méret eltér a céltól |
| Minimális mennyiség vagy névérték | A legkisebb elfogadható megbízás | Egyes ügyletek nem eredményeznek műveletet, vagy felfelé kerekítésre van szükség |
| Árlépés | A megengedett limit- és aktiválási árak | Az ár kerekítése módosítja a megbízás teljesülési esélyét |
| Ársáv vagy méretkorlát | A tőzsde által meghatározott korlátok a megbízás mezőire | Volatilis piacon vagy nagy újrasúlyozáskor elutasíthatják a megbízásokat |
Hol kerekíts a megbízási folyamatban?
A kívánt pozícióváltozás kiszámítása után, de a beküldésről szóló döntés előtt kerekítsd a megbízás mezőit. Az elemzéshez őrizd meg a kerekítetlen célt, majd a jelenlegi pozícióból, a kontraktusszorzóból és a tőzsdei lépésközökből vezesd le a végrehajtható megbízást. Ha az eladási mennyiség lépésköze 0.001, a kívánt 0.0017-es csökkentés a rögzített szabályodtól függően 0.001 vagy 0.002 lesz. A két választás eltérő maradványpozíciót eredményez, ezért a „kerekítés a pontossághoz” önmagában nem teljes szabály.
Mennyiségeknél a nullához közelítő lefelé kerekítéssel elkerülheted, hogy a kért változáson túl növeld a kitettséget, de így apró maradványpozíciók maradhatnak, amelyekkel soha nem kereskedsz. A legközelebbi értékre kerekítés csökkenti az átlagos hibát, de átlépheti a célt. A minimális névérték kezeléséről külön kell dönteni: kihagyod az ügyletet, addig gyűjtöd a megbízást, amíg eléri a küszöböt, vagy növeled a méretet és elfogadod a céltúllépést. Ne válts észrevétlenül ezek között a megoldások között.
Azt is őrizd meg, hogy miért nem történt meg a megbízás. A „Nincs megbízás: a minimális névérték alatt” mást mond, mint az, hogy „teljesült nulla értéken”. Portfólió-újrasúlyozáskor egy kihagyott megbízás miatt a készpénz kihasználatlanul maradhat, vagy a régi eszközben tarthatod meg a kitettséget; ezt az eredményt rögzítsd a számla állapotában.
Hogyan hangolhatod össze a backtestet és a papíralapú végrehajtást?
Ha a rendszer felépítése lehetővé teszi, mindkét útvonalban ugyanazt a megbízásellenőrző függvényt használd. Ugyanazt az adott időpontra érvényes instrumentumszabályt, kívánt megbízást és számlaállapotot add át neki. A függvény normalizált megbízást vagy konkrét elutasítási okot adjon vissza. A szimulátor ezután a normalizált megbízásokra alkalmazhatja a teljesülési feltételezéseit, a papíralapú kereskedés adaptere pedig ezekkel egyenértékű mezőket küldhet a tőzsdének.
Minden futás mellé őrizd meg a szűrőadatok dátummal ellátott pillanatképét. Ha változik egy mennyiségi lépésköz vagy minimum, tudnod kell, melyik szabályt használta a backtest. Ha egy évvel korábbi stratégia visszajátszásakor a mai adatokat kéred le, a régi megbízások érvénytelennek tűnhetnek, vagy úgy látszhat, hogy a múltban lehetségesek voltak, holott nem voltak azok.
Ha a papíralapú kereskedés során a tőzsde elutasít egy megbízást, a jel megváltoztatása előtt hasonlítsd össze a beküldött mezőket a szűrőadatok pillanatképével. Ha a backtest megbízásnormalizálója 0.037 BTC-t állított elő, miközben a tőzsde 0.001 BTC-s lépésközöket engedett, akkor az eltérés az adapterben vagy a metaadatokban van. Ha a beküldött megbízás érvényes volt, de nem teljesült, akkor a végrehajtás jellemzőit vizsgálod, például az árat, a likviditást vagy az érvényességi időt.
Mit ellenőrizz, mielőtt megbízol az összehasonlításban?
Minden újrasúlyozásról vezess rövid ellenőrzési naplót: célpozíció, jelenlegi pozíció, nyers megbízás, normalizált megbízás, az alkalmazott szűrő verziója és a végső státusz. Ezután hasonlítsd össze a papíralapú és a szimulált nyilvántartást ugyanarra a döntési időpontra.
- Mindkét útvonal ugyanazt a kontraktusszorzót és mennyiségi egységeket használta?
- Ugyanazt a kerekítési irányt és minimális megbízási szabályt alkalmazták?
- A szűrőértékek érvényesek voltak a megbízás létrehozásakor?
- Az elutasított vagy kihagyott megbízás után mindkét számlán ugyanaz maradt a pozíció és a készpénzállomány?
A stratégiád akkor is lehet megalapozott, ha az első papíralapú újrasúlyozás kudarcot vall. Amíg azonban a szimulátor nem tudja megmagyarázni, miért fogadta volna el, kerekítette volna, hagyta volna ki vagy utasította volna el a megbízást, a részvénygörbéje egy másik végrehajtási rendszert ír le, mint amelyet futtatni próbálsz.
← Összes bejegyzés

