2026. november 3. · végrehajtás

Papíron kereskedtünk egy bázisügyletet. Egy láb teljesült.

Papíron kereskedtünk egy bázisügyletet. Egy láb teljesült.

A függvényt enter_pack-nek hívták. Ez lett volna a figyelmeztetés. Egy kutatási ágens írt egy BTC cash-and-carryt: ha a perpetual több mint nyolc bázisponttal a spot fölött kereskedik, vegyél spotot, shortold a perpet, ülj nyugton. A funding és a bázis elintézné a többit. A backtest mindkét lábat ugyanabban a milliszekundumban teljesítette, mid áron, plusz egy tick udvariasságot. Az equity görbe egy lépcső volt. Senki sem nevezné izgalmasnak. Pont ez volt az eladási érv.

Hétfőn papírra léptettük elő.

Hétfő: a csomag, amely mindig teljesült

Az első jelzés 11:17 UTC-kor érkezett. A képernyőn a bázis 9.4 bps volt, a perp drága. A backtestben a enter_pack két teljesülést adott vissza, nulla reziduállal. Papíron egy 0.40 BTC-s spot teljesülést adott az askon, és egy könyvön álló shortot a perpen, amely nem kötött.

A spot 4 bp taker díjat fizetett és körülbelül 1 bp spreadet. A perp ár, amit akartunk, még a könyvön volt, aztán már nem. Húsz másodperccel később a jegyzett bázis 5 bps volt, mert épp megvettük a spotot az askon. Negyven másodperccel később a perp teljesült, a mozgás után. Csomagban voltunk. Csomagban voltunk egy olyan bázison, amely már nem fizette ki a be- és kilépést.

A backtest a „+9.4 bps carry, reziduális 0.” sort könyvelte volna. A blotteren 4 bps spot taker költség volt, egy 40 másodperces fedezetlen long, és egy körülbelül 5-ös belépési rés. Egyelemű mintám volt, és mégis túl sok bizalmam a lépcsőben.

Kedd: kinyitottuk a függvényt

enter_pack egy láblistát és egy cél-midet kapott. Ciklusban ment, minden lábat mid * (1 ± slip) áron teljesített, és egy portfóliósorba írt. Nem volt második időbélyeg. Nem volt olyan ág, amelyben a második láb nem létezik. A unit teszt a residual == 0 feltételt assertálta.

Ez az a teszt, amitől felnőttnek érzed magad. Soha nem fog elbukni.

A csomagot két megbízásra bontottuk, saját állapottal: beküldve, részleges, teljesült, törölve. Az incomplete első osztályú objektum lett. A historikus replaynek még mindig nem volt valódi könyve, ezért csaltunk. A második teljesülést késleltettük egy húzással a hétfői várakozásból (átlag 26 másodperc, egy farok, ami nem tetszett), és az árát elcsúsztattuk annyival, amennyit a spot abban az ablakban mozgott. Durva, de a lépcsőn már ebéd előtt bevágások nőttek: csomagok, amelyek 3 bps-en léptek be, csomagok, amelyek soha nem lettek csomagok.

Szerda: három másodperc, aztán dobjuk ki

Ha a második láb három másodpercen belül nincs meg, zárd az elsőt. Innen kellett volna kezdeni. Konzervatívnak hangzik, amíg meg nem árazod a megszakítást. A zárás azt jelenti, hogy a belépéshez keresztezted a spotot, és a kilépéshez is keresztezed. Két taker díj, két spread, nincs carry, nincs funding. Az átírt replayben ezek a megszakítások nem voltak ritkák. Azokon a barokon csoportosultak, ahol a bázis a „legvalódibbnak” tűnt, ami általában azok a barok, ahol már valami átfolyik a spoton.

Szerda estére tizenhét papírjelzésünk volt, amivel vitatkozhatunk.

17papírjelzés négy nap alatt
7csomag mindkét lábbal teljesülve
18 bpskésőbbi elmozdulás egy maradék long ellen
Backtest, hétfő reggelPapír, szerdára
BelépésMindkét láb mid áron, egy időbélyegSpot az askon; perp 5–40s később, vagy soha
ReziduálisMindig 0Fedezetlen 17-ből 10 jelzésen
Díjak egy működő ügyletenKét takerKét taker, vagy négy, ha megszakítjuk
PnL-hajtóerőBázis + fundingAmit a spot csinált, amíg vártunk
Egy csomag akkor kész, ha mindkét megbízás teljesült, különben egy irányított pozíció, amire nem méreteztél. A reziduálist az élő könyvhöz kell értékelni, amíg létezik. Ha nem tudod értékelni, nem futtathatod a stratégiát.

Egy kollégának még mindig van egy notebookja, amely a csomagot tőzsdei termékként kezeli, BTC_CARRY, lapos 2 bp „végrehajtási adóval”. Szerettem azt a notebookot. Ugyanazt a lépcsőt hozta, mint az ágens. Az adó egy átlag. Az árvák egy eloszlás. Az átlagokat nem gázolják el egy vékony órában; 0.40 BTC maradék spotot igen.

Csütörtök: maradék, aztán kávé

Három másodperc szinte mindent megszakított, amint a sorra is vártunk. A papírt tizenötre lazítottuk. Csütörtökön 02:11 UTC-kor a spot teljesült, a perp nem. Még a „ott fog állni, majd felemelik” gyászfázisban voltam, amikor elmentem kávét főzni.

02:11:08 teljesült BTCUSDT 0.40 buy
02:11:08 beküldve BTCUSDT-PERP 0.40 sell, post-only
02:11:41 még dolgozik
02:26:00 reziduális mark −18.1 bps

A BTC 18 bps-t esett egy csendes ablakban. A reziduális volt az egész ügylet. A funding, amikor kinyomtatódott, egy olyan perpre írt jóváírást, ami nem volt nálunk. A spot csak ült ott longként. Az eredeti backtest overnight pályája soha nem tartalmazott egylábú pozíciót, így soha nem tette fel a kérdést, amit minden más könyvnél felteszünk: mi a legrosszabb bar, amit ez a maradék kinyomtathat, és hol van a stop egy olyan pozícióra, amit nem akartunk tartani?

A hét teljes csomag sem volt hős. Mire a második láb kinyomtatódott, a saját spotvételünk már ránehezedett az indexre, és a belépési bázis 3–5 bps-szel volt rosszabb, mint a snapshot, amely a jelzést kiváltotta. A nyolc bps-es küszöb egy szám volt a képernyőn.

Amit legközelebb kihagynánk

Nem szállítanánk ki egy több lábú ügyletet egyetlen fill függvényként. Ugyanez a szabály egy perp-spot carryre, egy calendarra, vagy arra a call verticalra, amelyet egy ágens két limitként ad be, majd ünnepel, amikor mindkettő „teljesül” mid áron.

  1. Lábankénti megbízásállapot, a részlegesekkel együtt. A csomagot két ticket szülőjeként kezeld.
  2. Egy max-árva időzítő, amely tényleg elsül, és egy záró útvonal, amely két spreadet fizet kifelé.
  3. Mark-to-book a reziduálison, a maradékra méretezett stoppal. A becsomagolt nettó a rossz névleges.
  4. Nincs jóváírt carry, nincs felhalmozott funding, amíg mindkét láb nincs meg. A hiányos hiányos.
  5. Utasítsd el a mid-on-midet alapértelmezettként bármire, aminek két ticketje van. Ha tippelned kell, tippelj rosszabbat a vékony lábon, és későbbre a második teljesülésre.

És nem engednénk a test_pack_is_atomic-t a repóba. Az atomic a matching engine tulajdonsága, nem egy segédfüggvényé. A BTC spot és a BTC perpetual két könyv, amelyek néha rímelnek. A papír az, ahol abbahagyják a rímelést, és pont ezért volt valaha is érdekes a lépcső.

backtestingcash-and-carryvégrehajtáspapírkereskedéskriptofutures
← Összes bejegyzés