ETH implikált elmozdulásának túllépése, az opciós piac reakciója alapján osztályozva: folytassa a legalább 2-szigmás, DVOL-normalizált, 24 órás elmozdulást, ha a Deribit ETH DVOL újraárazása emelkedik; vegyen fel ellentétes pozíciót, ha DVOL változatlan marad vagy csökken (ETHUSDT.BYBIT 4H, long/short, rögzített 48 órás időzítés és gyertyán belüli stop)
Eredmény: Elvetve
EthDvolReactionShockClassifier
Eredmény összegzése
Az EthDvolReactionShockClassifier azt vizsgálta, hogy az opciós piac reakciója (a Deribit ETH DVOL változása) megkülönbözteti-e a követésre érdemes, valódi ETH sokkokat a kifakulásra érdemes, forgalomvezérelt sokkoktól. A megvalósítás a leírt hipotézist követte, és körülbelül 5.5 év alatt 117 alkalommal jelzett, közel az előre jelzett eseményszámhoz, de 7.52% veszteséget ért el, -0.28 Sharpe-mutatóval és -0.555% átlagos ügyletenkénti hozammal. Minden volatilitási rezsimben és költségek előtt is veszteséges volt, a végrehajtott jelzésnek pedig nem volt mérhető információtartalma (IC -0.002). Az elemző ezért a backteszt felülvizsgálatakor, egyetlen iteráció után, még az optimalizálás előtt elvetette. Az ítélet csak az ötlet ezen változatára vonatkozik, a DVOL-alapú rezsimkapuzásra általánosságban nem.
Egyinstrumentumos, long/short, eseményvezérelt kereskedés a ETHUSDT.BYBIT instrumentumon (Bybit lineáris USDT perp, 4-HOUR gyertyák, adatok 2021-03-től). Az árgyertyákon kívüli egyetlen bemenet a Deribit ETH DVOL implikáltvolatilitás-indexe (kiegészítő kulcs: deribit_dvol, órás adatok 2021-03-tól). Az ötlet szerint egy nagy, 24 órás ETH elmozdulást ahhoz mérünk, amit az opciós piac előzetesen beárazott, nem pedig a múltbeli realizált volatilitáshoz. A DVOL által implikált 1 napos szigma értéke DVOL_24h_ago / 100……Több megjelenítéseKevesebb megjelenítése
Egyinstrumentumos, long/short, eseményvezérelt kereskedés a ETHUSDT.BYBIT instrumentumon (Bybit lineáris USDT perp, 4-HOUR gyertyák, adatok 2021-03-től). Az árgyertyákon kívüli egyetlen bemenet a Deribit ETH DVOL implikáltvolatilitás-indexe (kiegészítő kulcs: deribit_dvol, órás adatok 2021-03-tól). Az ötlet szerint egy nagy, 24 órás ETH elmozdulást ahhoz mérünk, amit az opciós piac előzetesen beárazott, nem pedig a múltbeli realizált volatilitáshoz. A DVOL által implikált 1 napos szigma értéke DVOL_24h_ago / 100 / sqrt(365). Ha az elmozdulás átlépi ezt az implikált sávot (|z| >= k), az opciós piac ugyanazon 24 órás reakciója mutatja meg, hogyan értelmezzük. (a) DVOL megugrik: az opcióvevők többet fizetnek, a dealerek nettó short gammába kerülnek, és az elmozdulást új információként kezelik, ezért a short gamma fedezése várhatóan tovább hajtja az ármozgást -> az elmozdulással WITH kereskedünk. (b) DVOL változatlan vagy csökken: a volatilitás eladói elnyelik az elmozdulást, a dealerek long gammában vannak és ellene pozicionálnak, így a mozgás inkább forgalmi hatásnak vagy zajnak tűnik -> az elmozdulással AGAINST kereskedünk. A köztes elmozdulásokat kihagyjuk. A stratégiaépítő műhelyben korábban még nem készült ilyen. A korábbi DVOL munka a DVOL szintjének és a realizált volatilitásnak a különbségét használta lassú rezsimkapuként; a korábbi sokk utáni folytatódást vizsgáló stratégiák (L214) pedig az azonnali forgalommal, nem az opciókkal osztályozták a sokkokat. Az eseménygyakoriság eseményszám, nem teljesítményvizsgálat. k=2.0 és 48 órás esemény-összevonási idő mellett 2021-03 óta ~166 esemény történt (~30 évente). Körülbelül 46% esetben nőtt DVOL legalább 3 volatilitási ponttal, ~26% esetben pedig DVOL változása nulla vagy negatív volt. Ez ~115 kereskedhető eseményt jelent (~20 évente). Az események után az átlagos abszolút, 48 órás előretekintő elmozdulás ~4.4%. Ennek 15-20% megragadása ügyletenként 0.65-0.9%, szemben a Bybit körülbelül 0.11% oda-vissza taker díjával, valamint ~0.05% slippage-dzsel és finanszírozással. Azonos, rögzített beállításokkal futtatandó kontrollok: classification_mode = always_continue és always_fade. A hipotézis szerint dvol_conditioned mindkettőt felülmúlja. Végrehajtás: a Bybit 24/7 ügyleteket, ezért a megbízás piaci megbízás a jelzést adó gyertya zárásakor, ami a platformon a következő gyertya nyitásán történő teljesülésnek felel meg (use_equivalent, itt megadva). A stop platformhoz igazított, gyertyán belüli, csak pozíciócsökkentő stop_market, nem tőzsdére kihelyezett megbízás. Kockázatkezelési útvonal (a): a stopnál legfeljebb a saját tőke 1% része veszhet el.
no_edge: negative_expectancy. Díjküszöb-összehasonlítás: avg_trade_return_pct értéke -0.555%, szemben a +0.15% BYBIT küszöbértékkel, megbízható, 2,033 nap alatt lezárt 117 ügyletből álló mintán. PF értéke 0.835, a Sharpe-mutató -0.28, a teljes hozam pedig -7.52%. A bruttó P&L a jutalék, az árhatás és a finanszírozás előtt szintén negatív (névértékre vetítve körülbelül -0.2%), tehát nem a díjak okozzák a problémát. A végrehajtott jelzés IC értéke -0.002 (t = -0.06), így az öt hangolható paraméternek (z_entry,……Több megjelenítéseKevesebb megjelenítése
no_edge: negative_expectancy. Díjküszöb-összehasonlítás: avg_trade_return_pct értéke -0.555%, szemben a +0.15% BYBIT küszöbértékkel, megbízható, 2,033 nap alatt lezárt 117 ügyletből álló mintán. PF értéke 0.835, a Sharpe-mutató -0.28, a teljes hozam pedig -7.52%. A bruttó P&L a jutalék, az árhatás és a finanszírozás előtt szintén negatív (névértékre vetítve körülbelül -0.2%), tehát nem a díjak okozzák a problémát. A végrehajtott jelzés IC értéke -0.002 (t = -0.06), így az öt hangolható paraméternek (z_entry, hold_bars, shock_bars, dvol_up_pts, dvol_flat_pts) nincs olyan információja, amely alapján hangolni lehetne. A stratégia nyugodt, normál és stresszes piaci rezsimben is veszít. QA aggálya a teljes múltbeli adatsoron beigazolódik. QA egy lehetséges 1 órás DVOL előretekintési torzítást is felvetett; ez csak kedvezőbbé tehette volna ezt az ágat, így az ítéletet nem változtatja meg. A always_continue és always_fade kontrollokat nem futtatták le külön. Mivel maga a feltételes ág sem mutat bruttó információt, ezek nem menthetik meg a mechanizmust. Hatókör: ez a kutatási vezető ötletmegvalósítását veti el (Deribit ETH DVOL 24 órás változási osztályozás, amely a ETHUSDT.BYBIT 4H idősíkon a legalább 2 szigma mértékű implikált elmozdulás túllépéseit sorolja be, 48 órás időzített kilépéssel). Általánosságban nem veti el a DVOL-alapú rezsimkapuzást. Nem állít számviteli vagy adathibát.
Megvalósítás
ETHUSDT.BYBIT 4H long/short eseménystratégia. Minden gyertyán: z = ln(close/close[shock_bars ago]) / (DVOL[shock start]/100*sqrt(window/365d)), vagyis az elmozdulást a mozgás előtt beárazott, Deribit ETH DVOL által implikált szigmához mérjük (24h, shock_bars=6 mellett). A |z|>=z_entry túllépés egy 12 gyertyás (48 órás) esemény-összevonási időn kívül eseménynek számít. Az eseményt a DVOL azonos időszak alatti változása osztályozza: >= dvol_up_pts volatilitási pont -> az elmozdulással WITH kereskedünk; <=……Több megjelenítéseKevesebb megjelenítése
ETHUSDT.BYBIT 4H long/short eseménystratégia. Minden gyertyán: z = ln(close/close[shock_bars ago]) / (DVOL[shock start]/100*sqrt(window/365d)), vagyis az elmozdulást a mozgás előtt beárazott, Deribit ETH DVOL által implikált szigmához mérjük (24h, shock_bars=6 mellett). A |z|>=z_entry túllépés egy 12 gyertyás (48 órás) esemény-összevonási időn kívül eseménynek számít. Az eseményt a DVOL azonos időszak alatti változása osztályozza: >= dvol_up_pts volatilitási pont -> az elmozdulással WITH kereskedünk; <= dvol_flat_pts -> FADE kereskedünk; közte -> kihagyjuk. Kontrollok a classification_mode beállítással: always_continue / always_fade. Belépés piaci megbízással a jelzést adó gyertya zárásakor (24/7 tőzsde: a platformon ez a következő gyertya nyitásán történő teljesülésnek felel meg). Kilépés: rögzített időzítés hold_bars után (12 gyertya = 48 óra), továbbá csak pozíciócsökkentő, gyertyán belüli stop_market stop, amelyet a teljesüléskor helyezünk el, a teljesülési ártól számított, implikált sokkablak-szigma stop_sigma-szeresénél. Pozícióméret = a kockázatnak kitett saját tőke 1% része / stop távolsága, legfeljebb a saját tőke x tőkeáttétel max_notional_frac-szerese (x0.95 fedezeti puffer). A dvol_max_staleness_hours-nél régebbi vagy hiányzó DVOL megfigyelések nem jelentenek eseményt (nincs pozíció; nincs árfolyamalapú tartalékmegoldás).
Közvetlenül valósítja meg a hipotézist: az opciós piac reakciója (DVOL átárazása) az implikált elmozdulás áttörését információként (folytatás, a dealerek gamma-kitettsége negatív) vagy megbízási áramlásként (visszafordulás, a dealerek gamma-kitettsége pozitív) osztályozza. Az implikált szigma a sokkablak kezdetekor érvényes DVOL értéket használja, időponthoz kötött kereséssel (_supp_arrays + bisect, elavulásvédett); a betöltő DVOL gyertyáit rendelkezésre állási időbélyeggel látja el. A minden gyertyán visszaadott……Több megjelenítéseKevesebb megjelenítése
Közvetlenül valósítja meg a hipotézist: az opciós piac reakciója (DVOL átárazása) az implikált elmozdulás áttörését információként (folytatás, a dealerek gamma-kitettsége negatív) vagy megbízási áramlásként (visszafordulás, a dealerek gamma-kitettsége pozitív) osztályozza. Az implikált szigma a sokkablak kezdetekor érvényes DVOL értéket használja, időponthoz kötött kereséssel (_supp_arrays + bisect, elavulásvédett); a betöltő DVOL gyertyáit rendelkezésre állási időbélyeggel látja el. A minden gyertyán visszaadott jel a nyers, DVOL-normalizált z; az esemény irányát skalárattribútumként számítja ki, és should_enter-ben küszöböli. Minden időlogika (klasztermentesítés, 48 órás tartás) a gyertyák időbélyegéhez igazodik, nem az üzemidő-számlálókhoz; az összes pozícióállapot skalár. Kockázati útvonal (a): a stop loss legfeljebb a saját tőke 1% része; a jellemző DVOL ~70 mellett a 24 órás szigma ~3.7%, a stop ~5.5%, a pozíció pedig a saját tőke ~18% része. Végrehajtási helyettesítések: next_bar_open_fill -> piaci megbízás a jelző gyertya zárásakor (use_equivalent); exchange_resting_stop -> a platformhoz igazított, csak pozíciócsökkentő _submit_stop_market (use_equivalent). Az implikált szigmát a sokkablak négyzetgyökével skálázza, hogy shock_bars 3/6/12 összehasonlítható maradjon (6 = a hipotézis 24 órája).
Ellenőrzési eredmények
Tegye a lekérdezést a jelzőtől függetlenné: olvassa be a dvol_now értékét ts - 1h időpontban és a dvol_then értékét past_ts - 1h időpontban (egy DVOL gyertyával korábban), vagy ellenőrizze a betöltő időbélyegzését. Másik lehetőségként kérje meg az elemzőt a teljes backteszt megerősítésére SF_SUPP_AVAILABILITY_STAMPS=1 beállítással.
A _dvol_at() a bisect_right(ts_list, ts) - 1 függvényt használja. Ez ugyanaz az egyoldalú lekérdezés, mint a supp_as_of(), így maga a kód nem alkalmaz abs()-szerű előretekintést. A load_deribit_dvol azonban az órás DVOL gyertyákat a START időpontjukhoz rendeli, kivéve, ha a SF_SUPP_AVAILABILITY_STAMPS be van kapcsolva, ez a jelző pedig alapértelmezés szerint OFF a lookahead_guards.py fájlban; a konfigurációban és a systemd-ben sehol sem találtam bekapcsolva. Egy 4H gyertya T zárásakor a dvol_now ezért a T időbélyegű gyertya záróértéke, amely csak T+1h-kor válik ismertté. A klasszifikátor (dvol_now - dvol_then) ezért a döntés után akár egyórányi implikált volatilitási újraárazást is felhasznál. A konfiguráció indoklása szerint „a DVOL gyertyák időbélyegét a betöltő az elérhetőségükhöz igazítja”, ami csak akkor igaz, ha ez a jelző be van kapcsolva. Ez a platform alapértelmezett konvenciója, amelyet minden DVOL stratégia és a supp_as_of() használ; nem a kód lekérdezési hibája, ezért nem akadályozó tényező.
Módosítás nem szükséges. Igény esetén a pozíció alatt kihagyott eseményeket rögzítheti a diagnosztikában, hogy a kontroll-összehasonlítás következetesen számolja az eseményeket.
A should_enter() függvény csak akkor kerül lekérdezésre, amikor a stratégia pozíció nélkül van. A(z) 48 órás időzített kilépés gyertyáján (vagy nyitott pozíció mellett) észlelt esemény kimarad, de visszaállítja a last_event_ts értékét, így új lehűlési időszakot indít. Ha cooldown_bars=12, ami megegyezik az alapértelmezett hold_bars=12 beállítással, ez ritka. Ha az optimalizáló hold_bars > 12 értéket választ, néhány, összevonási időn kívüli esemény nem lesz megkereskedve. Ez elfogadható eseményvizsgálati módszertan (egyszerre egy pozíció), de az ügyletek száma kisebb lesz a nyers eseményszámnál.
Csak tájékoztató jellegű.
A pozíció állapota (held_direction, entry_ts, stop_level) a memóriában él. Nyitott pozícióval végrehajtott papírkereskedési újraindítás után a should_exit() True értéket ad vissza, és lezárja a pozíciót. Ez biztonságos, a backteszt pedig soha nem indul újra.
Próbafuttatás a sandboxban (optimalizálás nélkül, 2033 nap alatt ~117 lezárt ügylettel): avg_trade_return_pct -0.54%, szemben a ~0.15% küszöbértékkel; PF 0.84, Sharpe-mutató -0.27. Mindhárom volatilitási rezsimben veszít. A(z) 117 ügyletből 82 short, ezek nyerési aránya 39%, a longoké 57%. Ügyletenkénti tőkekitettség körülbelül a saját tőke 18% része, összhangban a 1% kockázatkezelési útvonallal. A(z) L211 szerint a pozícióméretezés megfelelő: 117 x -0.54% x ~0.18 körülbelül -11%, közel a jelentett -7.2% értékhez. A teljes backteszt előtt először futtassa az előzetesen regisztrált kontrollokat (always_continue, always_fade) ugyanazokkal a beállításokkal, és bontsa fel a P&L-t folytatási és kifakulási események szerint. Ellenőrizze újra az eredményt SF_SUPP_AVAILABILITY_STAMPS=1 beállítással, vagy a(z) DVOL értékét egy gyertyával korábbról beolvasva (lásd a 1 figyelmeztetést). Az aktuális alapbeállításnál a DVOL-változási osztályozó a döntési gyertya zárása után akár 1 órányi DVOL adatot is felhasználhat, ami csak az dvol_conditioned ágnak kedvezhet.
Backteszt-értékelés
Sharpe
-0,28
Teljes hozam
-7,52%
Maximális visszaesés
14,78%
Összes ügylet
117
Találati arány
45,3%
Profitfaktor
0,84
A megvalósítás megfelel a hipotézisnek. A sokkok DVOL-normalizáltak, a két irány: folytatás (DVOL emelkedés esetén) és visszafordulás (DVOL változatlan vagy csökkenő értéknél); az időalapú kilépés rögzített, napon belüli, csak pozíciócsökkentő stoppal, és 12 gyertyás klasztermentesítés van.
A pozícióméretezés a szándék szerint működik: pozíciónként a saját tőke körülbelül 18% része van kockázatban a 1%-kockázati útvonal mellett, a csúcstőkeáttétel 0.40, likvidálás nem történt, a számvitel egyezik.
A minta megbízható: 2,033 nap alatt lezárt 117 ügylet, ami közel van a hipotézis által előre jelzett nagyjából 115 eseményhez.
Díjküszöb-összehasonlítás: avg_trade_return_pct értéke -0.555%, szemben a +0.15% BYBIT küszöbértékkel. PF értéke 0.835, Sharpe-mutatója -0.28 (95% CI -1.25-től 0.53-ig), teljes hozama pedig -7.52%.
A stratégia költségek előtt is veszteséges. A jutalék ($2.26k), az árhatás ($0.62k) és a finanszírozás ($0.33k) együtt körülbelül $3.2k, miközben a nettó veszteség $7.5k, nagyjából $2.05M pozíciónévértéken. A bruttó eredmény így névértékre vetítve körülbelül -0.2%, tehát nem a díjak okozzák a veszteséget.
A végrehajtott jelzés IC értéke -0.002 (1,016 megfigyelésen, t = -0.06): nincs információtartalma. Az ítélet: rejected_no_information.
Mindhárom volatilitási rezsimben veszít: nyugodt -0.63%, normál -2.31%, stresszes -4.53%. A hat évből négy negatív, a drawdown pedig körülbelül 1,546 napig tartott.
A short ügyletek (82 a(z) 117 közül) mindössze 40% arányban nyernek. tail_ratio értéke 0.31.
QA nyitott előretekintési aggálya (DVOL a gyertya zárása után akár 1 óráig beolvasható) csak az dvol_conditioned ágnak kedvezhetett. Ennek javítása nem teheti pozitívvá ezt az eredményt.
Eredmény összegzése
Ebben a beállításban a DVOL 24 órás változása még költségek előtt sem jelezte, hogy folytatni vagy kifakulni érdemes-e a ETH 4H instrumentumon bekövetkező, 2-szigmás implikált elmozdulás túllépését. Mielőtt teljes stratégiát épít egy opciós reakciót osztályozó modellre, tesztelje a bruttó IC értékét a always_continue és always_fade kontrollokkal együtt.
A backteszt felülvizsgálatakor az elemző az él hiánya (negatív várható érték) miatt az elvetés mellett döntött. A jutalék, az árhatás és a finanszírozás előtti bruttó P&L szintén negatív volt (névértékre vetítve körülbelül -0.2%), tehát nem a díjak okozták a veszteséget; lényegében nulla IC mellett pedig a hangolható paraméterek nem tartalmaztak optimalizáláshoz felhasználható információt. Optimalizálásra és a későbbi szakaszokra nem került sor.
A ETHUSDT.BYBIT 4H gyertyákon minden 24 órás ETH elmozdulást a Deribit ETH DVOL implikált szigmájával skálázott, és legalább 2 szigmás túllépések esetén lépett: az elmozdulás irányába kereskedett, amikor DVOL legalább 3 ponttal emelkedett, és ellene, amikor DVOL változatlan maradt vagy csökkent; fix 48 órás időzítésig tartotta a pozíciót, gyertyán belüli stoppal, a saját tőke 1% részét kockáztatva.
A kezdeti backteszt 2,033 napot és 117 lezárt ügyletet ölelt fel. A teljes hozam -7.52%, a Sharpe-mutató -0.28 (95% CI -1.25-tól 0.53-ig), a profitfaktor 0.835, a(z) avg_trade_return_pct pedig -0.555% volt, szemben a Bybit +0.15% küszöbértékével. A jelzés IC értéke -0.002 (t = -0.06), és a stratégia nyugodt, normál és stresszes volatilitási rezsimben is veszített.
A Stratmill egy kutatási és papíralapú kereskedési eszköz, nem befektetési tanácsadás vagy bróker. A backteszt- és papírkereskedési eredmények hipotetikusak. A kereskedés veszteség kockázatával jár.