Spring til indhold
Alle strategier

Strategier

ETH Brud på implicit bevægelse klassificeret efter optionsmarkedets reaktion: Fortsæt en bevægelse på >= 2-sigma normaliseret med DVOL over 24h, når Deribit ETH DVOL omprissættes opad; gå imod den, når DVOL er uændret eller falder (ETHUSDT.BYBIT 4H, long/short, fast 48h exit efter tid + intrabar stop)

Resultat: Opgivet

EthDvolReactionShockClassifier

Resultatoversigt

EthDvolReactionShockClassifier testede, om optionsmarkedets reaktion (ændringen i Deribit ETH DVOL) kunne skelne reelle ETH-chok, der er værd at følge, fra flowdrevne chok, der er værd at gå imod. Den blev implementeret som den beskrevne hypotese og udløste 117 gange over omkring 5.5 år, tæt på det forventede antal, men tabte 7.52% med en Sharpe på -0.28 og et gennemsnitligt handelsafkast på -0.555%. Tab forekom i alle volatilitetsregimer og før omkostninger, og det eksekverede signal havde ingen målbar information (IC -0.002). Analytikeren opgav derfor strategien ved gennemgang af backtesten efter én iteration, før optimering; konklusionen gælder kun denne version af idéen, ikke regimefiltrering baseret på DVOL generelt.

Hypotese

Enkeltinstrumentstrategi med long/short og eventdrevet handel på ETHUSDT.BYBIT (Bybit lineær USDT-perp, 4-HOUR-timers candles, historik fra 2021-03). Det eneste input ud over pris-candles er Deribits ETH DVOL-indeks for implicit volatilitet (supplerende nøgle deribit_dvol, timeværdier fra 2021-03). Idé: En stor bevægelse på 24 timer på ETH måles mod det, optionsmarkedet prissatte på forhånd, ikke mod efterfølgende realiseret volatilitet. Den DVOL-implicitte 1-dagssigma er DVOL_24h_ago / 100 / sqrt(365). Når……Vis mereVis mindre

Enkeltinstrumentstrategi med long/short og eventdrevet handel på ETHUSDT.BYBIT (Bybit lineær USDT-perp, 4-HOUR-timers candles, historik fra 2021-03). Det eneste input ud over pris-candles er Deribits ETH DVOL-indeks for implicit volatilitet (supplerende nøgle deribit_dvol, timeværdier fra 2021-03). Idé: En stor bevægelse på 24 timer på ETH måles mod det, optionsmarkedet prissatte på forhånd, ikke mod efterfølgende realiseret volatilitet. Den DVOL-implicitte 1-dagssigma er DVOL_24h_ago / 100 / sqrt(365). Når bevægelsen overskrider dette implicitte interval (|z| >= k), viser optionsmarkedets egen reaktion over de samme 24 timer, hvordan den skal tolkes. (a) DVOL stiger kraftigt: optionskøbere betaler mere, market makers ender short gamma, og bevægelsen behandles som ny information, så afdækning med short gamma har tendens til at følge den -> handl i bevægelsens retning WITH. (b) DVOL er uændret eller falder: volatilitets-sælgere absorberer bevægelsen, market makers er long gamma og modvirker den, så den ligner flow eller støj -> handl mod bevægelsen AGAINST. Bevægelser imellem disse udfald springes over. Strategifabrikken har aldrig gjort dette før. Tidligere DVOL-arbejde brugte niveauet DVOL minus realiseret volatilitet som et langsomt regimesignal, og tidligere strategier for fortsættelse efter chok (L214) klassificerede chok ud fra spotvolumen, ikke optioner. Hyppigheden er et antal hændelser, ikke en analyse af resultater. Med k=2.0 og 48 timers afkobling er der ~166 hændelser siden 2021-03 (~30 om året). Omkring 46% har DVOL op 3 eller flere volapoint, og ~26% har DVOL på eller under nul ændring. Det giver ~115 handelbare hændelser (~20 om året). Den gennemsnitlige absolutte prisbevægelse 48 timer efter en hændelse er ~4.4%. At indfange 15-20% af den giver 0.65-0.9% pr. handel, mod ~0.11% for Bybits taker-gebyr tur-retur plus ~0.05% slippage og funding. Kontroller, der skal køres med faste indstillinger: classification_mode = always_continue og always_fade. Hypotesen forudsiger, at dvol_conditioned klarer sig bedre end begge. Udførelse: Bybit handler 24/7, så ordren er en markedsordre ved signal-candlens lukning, platformens ækvivalent til udfyldning ved åbningen af næste candle (use_equivalent, som angivet her). Stopordren er en platformstilpasset intrabar reduce-only stop_market, ikke en ordre, der hviler på børsen. Risikostyring, rute (a): højst 1% af egenkapitalen tabes ved stopordren.

no_edge: negative_expectancy. Sammenligning med gebyrgulvet: avg_trade_return_pct er -0.555% i forhold til +0.15% BYBIT-gulvet, baseret på et pålideligt udsnit med 117 lukkede handler over 2,033 dage. PF er 0.835, Sharpe -0.28 og samlet afkast -7.52%. Brutto-P&L før kommission, market impact og funding er også negativ (omkring -0.2% pr. notional), så problemet skyldes ikke gebyrer. Det eksekverede signals IC er -0.002 (t = -0.06), så de fem parametre (z_entry, hold_bars, shock_bars, dvol_up_pts, dvol_flat_pts)……Vis mereVis mindre

no_edge: negative_expectancy. Sammenligning med gebyrgulvet: avg_trade_return_pct er -0.555% i forhold til +0.15% BYBIT-gulvet, baseret på et pålideligt udsnit med 117 lukkede handler over 2,033 dage. PF er 0.835, Sharpe -0.28 og samlet afkast -7.52%. Brutto-P&L før kommission, market impact og funding er også negativ (omkring -0.2% pr. notional), så problemet skyldes ikke gebyrer. Det eksekverede signals IC er -0.002 (t = -0.06), så de fem parametre (z_entry, hold_bars, shock_bars, dvol_up_pts, dvol_flat_pts) indeholder ingen information at optimere efter. Strategien taber i rolige, normale og stressede regimer. QAs bekymring bekræftes af hele historikken. QA rejste også spørgsmålet om mulig 1h fremadskuende bias i DVOL; det kunne kun have pyntet på dette ben, så det ændrer ikke konklusionen. Kontrollerne always_continue og always_fade blev ikke kørt separat. Når selve det betingede ben ikke viser nogen bruttoinformation, kan de ikke redde mekanismen. Omfang: Dette afviser Research Leads operationalisering af idéen (Deribit ETH DVOL 24h ændringsklassificering af brud på implicit bevægelse på >= 2-sigma på ETHUSDT.BYBIT 4H med exit efter 48h). Det afviser ikke generelt regimefiltrering baseret på DVOL. Der påstås ingen regnskabs- eller datafejl.

Implementering

ETHUSDT.BYBIT 4H long/short-eventstrategi. For hver candle: z = ln(close/close[shock_bars candles siden]) / (DVOL[chokstart]/100*sqrt(vindue/365d)), dvs. bevægelsen målt mod den Deribit ETH DVOL-implicitte sigma, der blev prissat før bevægelsen (24 timer ved shock_bars=6). Et brud |z|>=z_entry uden for et 12-candles (48 timer) afkoblingsvindue er en hændelse. Hændelsen klassificeres efter ændringen i DVOL over samme vindue: >= dvol_up_pts volapoint -> handl i bevægelsens retning WITH; <= dvol_flat_pts -> handl……Vis mereVis mindre

ETHUSDT.BYBIT 4H long/short-eventstrategi. For hver candle: z = ln(close/close[shock_bars candles siden]) / (DVOL[chokstart]/100*sqrt(vindue/365d)), dvs. bevægelsen målt mod den Deribit ETH DVOL-implicitte sigma, der blev prissat før bevægelsen (24 timer ved shock_bars=6). Et brud |z|>=z_entry uden for et 12-candles (48 timer) afkoblingsvindue er en hændelse. Hændelsen klassificeres efter ændringen i DVOL over samme vindue: >= dvol_up_pts volapoint -> handl i bevægelsens retning WITH; <= dvol_flat_pts -> handl mod den FADE; imellem -> spring over. Kontroller via classification_mode = always_continue / always_fade. Indgang er en markedsordre ved signal-candlens lukning (24/7-handelssted: platformens ækvivalent til udfyldning ved næste candles åbning). Udgang: fast tidspunkt efter hold_bars (12 candles = 48 timer) samt en intrabar reduce-only stop_market, placeret ved udførelse til stop_sigma x implicit sigma for chokvinduet fra udfyldningsprisen. Positionsstørrelse = 1% af egenkapitalen i risiko / stopafstand, begrænset til max_notional_frac x egenkapital x gearing (x0.95 margensikkerhed). DVOL-observationer, der er ældre end dvol_max_staleness_hours eller mangler, betyder ingen hændelse (flad position; ingen prisbaseret reserve).

Implementerer hypotesen direkte: optionsmarkedets reaktion (DVOL reprissætning) klassificerer et brud på den implicitte bevægelse som information (fortsæt, dealere er short gamma) eller flow (gå imod, dealere er long gamma). Implicit sigma bruger DVOL pr. starten af chokvinduet via opslag på det pågældende tidspunkt (_supp_arrays + bisect, beskyttet mod forældede data); indlæseren tidsstempler DVOL-candles med deres tilgængelighedstidspunkt. Signalet, der returneres for hver bar, er den rå DVOL-normaliserede z;……Vis mereVis mindre

Implementerer hypotesen direkte: optionsmarkedets reaktion (DVOL reprissætning) klassificerer et brud på den implicitte bevægelse som information (fortsæt, dealere er short gamma) eller flow (gå imod, dealere er long gamma). Implicit sigma bruger DVOL pr. starten af chokvinduet via opslag på det pågældende tidspunkt (_supp_arrays + bisect, beskyttet mod forældede data); indlæseren tidsstempler DVOL-candles med deres tilgængelighedstidspunkt. Signalet, der returneres for hver bar, er den rå DVOL-normaliserede z; hændelsesretningen beregnes som en skalarattribut, og tærskelværdien anvendes i should_enter. Al tidslogik (adskillelse af hændelser, 48h fastholdelse) er forankret i bar-tidsstempler, ikke oppetidstællere; al positionstilstand er skalar. Risikorute (a): stop loss <=1% af egenkapitalen; med typisk DVOL ~70 er 24h sigma ~3.7%, stoppet ~5.5% og positionen ~18% af egenkapitalen. Udførelsessubstitutioner: next_bar_open_fill -> markedsordre ved signalbarens lukning (use_equivalent); exchange_resting_stop -> platformstilpasset reduce-only _submit_stop_market (use_equivalent). Den implicitte sigma skaleres med kvadratroden af chokvinduet, så shock_bars 3/6/12 forbliver sammenlignelige (6 = hypotesens 24h).

Verifikationsresultater

Gør opslaget uafhængigt af flaget: læs dvol_now ved ts - 1h og dvol_then ved past_ts - 1h (én DVOL-candle tidligere), eller kontrollér loaderens tidsstempling. Alternativt kan analytikeren bekræfte den fulde backtest med SF_SUPP_AVAILABILITY_STAMPS=1.

_dvol_at() bruger bisect_right(ts_list, ts) - 1. Det er det samme ensidige opslag som supp_as_of(), så selve koden har ingen fremadskuende bias af abs()-typen. load_deribit_dvol tidsstempler dog timebaserede DVOL-candler ved deres START, medmindre SF_SUPP_AVAILABILITY_STAMPS er slået til, og dette flag er som standard OFF i lookahead_guards.py; jeg fandt det ikke sat i config eller systemd. Ved lukning af en 4H-bar på tidspunkt T er dvol_now derfor lukningen af candlen tidsstemplet T, hvis værdi først kendes ved T+1h. Klassifikatoren (dvol_now - dvol_then) bruger dermed op til én times omprissætning af implicit volatilitet efter beslutningen. Begrundelsen i config siger, at 'DVOL-candler tidsstemples efter tilgængelighed af loaderen', hvilket kun er sandt, når flaget er slået til. Dette er en platformsstandard, der deles af alle DVOL-strategier og af supp_as_of(), ikke en fejl i denne kodes opslag, så det blokerer ikke.

Ingen ændring er nødvendig. Hvis du ønsker det, kan du registrere hændelser, der springes over, mens en position er åben, i diagnostikken, så kontrolsammenligningen tæller hændelser ensartet.

should_enter() konsulteres kun, når strategien er flad. En hændelse, der registreres på baren, hvor den tidsbaserede exit efter 48h udløses (eller mens en position stadig er åben), droppes, men nulstiller stadig last_event_ts og starter dermed en ny afkølingsperiode. Med cooldown_bars=12 lig standardværdien hold_bars=12 er det sjældent. Når optimisatoren vælger hold_bars > 12, bliver nogle hændelser efter frasortering ikke handlet. Det er acceptabel semantik for hændelsesstudier (én position ad gangen), men antallet af handler vil være lavere end det rå hændelsesantal.

Kun til orientering.

Positionsstatus (held_direction, entry_ts, stop_level) ligger i hukommelsen. Efter genstart af paper trading med en åben position returnerer should_exit() True og lukker positionen. Det er sikkert, og backtesten genstarter aldrig.

Smoke-kørsel i sandbox (ikke optimeret, 117 lukkede handler over ~2033 dage): avg_trade_return_pct -0.54% i forhold til ~0.15%-gulvet, PF 0.84, Sharpe -0.27. Den taber i alle tre volatilitetsregimer. 82 af de 117 handler er short med en short-vinderrate på 39% mod 57% for long. Positionen udgør omkring 18% af egenkapitalen pr. handel, i overensstemmelse med risikovejen på 1%. Ifølge L211 er positionsstørrelsen som tilsigtet: 117 x -0.54% x ~0.18 er omkring -11%, tæt på de rapporterede -7.2%. Ved fuld backtest skal du først køre de forhåndsregistrerede kontroller (always_continue, always_fade) med samme indstillinger og opdele P&L efter hændelser i fortsæt- og gå-imod-klassen. Kontrollér også resultatet igen med SF_SUPP_AVAILABILITY_STAMPS=1, eller med DVOL læst én candle tidligere (se advarsel 1). Med de nuværende standardindstillinger kan klassifikatoren for ændring i DVOL se op til 1h af DVOL efter beslutningsbarens lukning, hvilket kun kan pynte på dvol_conditioned-benet.

Backtest-gennemgang

Sharpe
-0,28
Samlet afkast
-7,52%
Maks. drawdown
14,78%
Handler i alt
117
Gevinstrate
45,3%
Profit factor
0,84

Implementeringen svarer til hypotesen. Chok normaliseres med DVOL, benene er fortsæt (DVOL op) og gå imod (DVOL uændret eller ned), exit efter en fast periode med intrabar reduce-only stop, og der er 12 bars mellem hændelser.

Positionsstørrelsen fungerer som tilsigtet: omkring 18% af egenkapitalen pr. position med risikovejen på 1%, maksimal gearing 0.40, ingen likvidering, og regnskabet stemmer.

Udsnittet er pålideligt: 117 lukkede handler over 2,033 dage, tæt på de cirka 115 hændelser, hypotesen forudsagde.

Sammenligning med gebyrgulvet: avg_trade_return_pct er -0.555% i forhold til +0.15% BYBIT-gulvet. PF er 0.835, Sharpe -0.28 (95% CI -1.25 til 0.53) og samlet afkast -7.52%.

Strategien er negativ før omkostninger. Kommission ($2.26k), market impact ($0.62k) og funding ($0.33k) udgør tilsammen omkring $3.2k mod et nettotab på $7.5k på en positionsnotional på cirka $2.05M. Det giver en brutto på omkring -0.2% pr. notional, så gebyrerne er ikke årsagen.

Det eksekverede signals IC er -0.002 (t = -0.06) på tværs af 1,016 observationer: ingen information. Konklusionen er rejected_no_information.

Den taber i alle tre volatilitetsregimer: rolig -0.63%, normal -2.31%, stresset -4.53%. Fire af seks år er negative, og drawdownet varede omkring 1,546 dage.

Short-handler (82 af 117) vinder kun 40%. tail_ratio er 0.31.

QAs bekymring om fremadskuende bias (DVOL kan aflæses op til 1h efter barens lukning) kunne kun pynte på dvol_conditioned-benet. En rettelse kan ikke gøre dette resultat positivt.

Resultatoversigt

I dette setup fortalte en ændring på 24h i DVOL dig ikke, om du skulle fortsætte eller gå imod et brud på implicit bevægelse på 2-sigma på ETH 4H, selv før omkostninger. Før du bygger en fuld strategi omkring en klassifikator for optionsreaktion, bør du teste dens brutto-IC sammen med kontrollerne always_continue og always_fade.

Ved gennemgang af backtesten valgte analytikeren at opgive strategien med henvisning til manglende edge (negativ forventet værdi). Brutto-P&L før kommission, market impact og funding var også negativ (omkring -0.2% pr. notional), så gebyrerne var ikke årsagen. Med en IC tæt på nul indeholdt parametrene ingen information at optimere efter. Optimering og senere faser blev aldrig nået.

På ETHUSDT.BYBIT 4H-bars skalerede den hver 24h ETH-bevægelse med den implicitte sigma fra Deribit ETH DVOL og reagerede på brud på mindst 2 sigma: den handlede med bevægelsen, når DVOL steg med mindst 3 point, og imod den, når DVOL var uændret eller faldt. Positionen blev holdt i en fast periode på 48h med et intrabar stop, der satte 1% af egenkapitalen på spil.

Den indledende backtest dækkede 2,033 dage med 117 lukkede handler. Det samlede afkast var -7.52%, Sharpe -0.28 (95% CI -1.25 til 0.53), profitfaktor 0.835 og avg_trade_return_pct -0.555%, mod Bybits +0.15%-gulv. Signal IC var -0.002 (t = -0.06), og strategien tabte i rolige, normale og stressede volatilitetsregimer.

Stratmill er et research- og papirhandelsværktøj, ikke finansiel rådgivning eller en mægler. Backtest- og papirresultater er hypotetiske. Handel indebærer risiko for tab.