Hoppa till innehåll
Alla strategier

Strategier

Deribit BTC Månatlig konvex trendexponering med lång option på ett enskilt ben (filtrerad på billig IV, riktningsbaserad åt båda hållen)

Utfall: Övergiven

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV

Utfallssammanfattning

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV var den avsiktliga långa vega- och riktningsmässiga inversen av pipelineflödenas korta volatilitets- och icke-riktade optionsböcker: den köpte en enda OTM köp- eller säljoption för att omvandla en BTC trendbedömning till en konvex avkastningsprofil med definierad risk, och klarade utan problem hindren för exekvering av strategier med flera ben och Layer-3 som hade stoppat närbesläktade strategier. Men backtestet kunde bara generera 9 affärer eftersom katalogens……Visa merVisa mindre

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV var den avsiktliga långa vega- och riktningsmässiga inversen av pipelineflödenas korta volatilitets- och icke-riktade optionsböcker: den köpte en enda OTM köp- eller säljoption för att omvandla en BTC trendbedömning till en konvex avkastningsprofil med definierad risk, och klarade utan problem hindren för exekvering av strategier med flera ben och Layer-3 som hade stoppat närbesläktade strategier. Men backtestet kunde bara generera 9 affärer eftersom katalogens månatliga Deribit-BTC-kedja bara omfattar ~12 förfall från mitten av -2025, och motorn flaggade måtten som otillförlitliga — en huvud-Sharpe på 3.43 vilade på ett konfidensintervall från -13 till +11, och hela nettoavkastningen kom från en enda månad i februari 2026. Granskaren bedömde revise_hypothesis och noterade att detta var det andra identiska försöket med 9 affärer och att ingen kodändring kunde lägga till månatliga perioder i en tunn kedja. Konvexitetstesen motbevisades aldrig; den kunde helt enkelt inte testas med den tillgängliga optionshistoriken, och strategin övergavs i stället för att itereras in i samma återvändsgränd en tredje gång.

Hypotes

Uttryck en BTC-trendsyn genom ett SINGLE långt optionsben istället för en perp, och omvandla den trendföljande payoffen till en konvex, definierad-risk-struktur. När BTC är i en bekräftad up-regime AND implicit vol är billig, köp en ~5% OTM månatlig CALL på Deribit; när i en bekräftad down-regime AND IV är billig, köp en ~5% OTM månatlig PUT. Inget hedgingben, ingen shorting-marginal — maxförlusten är den betalda premien. Detta är den medvetna inversen av short-vol cash-secured-put-skrivningarna och den……Visa merVisa mindre

Uttryck en BTC-trendsyn genom ett SINGLE långt optionsben istället för en perp, och omvandla den trendföljande payoffen till en konvex, definierad-risk-struktur. När BTC är i en bekräftad up-regime AND implicit vol är billig, köp en ~5% OTM månatlig CALL på Deribit; när i en bekräftad down-regime AND IV är billig, köp en ~5% OTM månatlig PUT. Inget hedgingben, ingen shorting-marginal — maxförlusten är den betalda premien. Detta är den medvetna inversen av short-vol cash-secured-put-skrivningarna och den icke-riktningsbestämda långa straddeln som redan finns i pipelinen: här är vi LONG vega + LONG riktning, och skördar den feta höger/vänster-svansen av BTC-avkastningar som perp-trendföljare inte kan fånga eftersom avgiftsmotstånd och stopp-piskor blöder ut dem. Enkelt ben håller det borta från multi-leg options-exekveringsvägen som aldrig har klarat verifiering (L2). Deribit BTC är den mest likvida kryptooptionsmarknaden, har greeks/IV i katalogen, och single-leg Deribit BTC-strukturer har redan klarat Layer-3-sandlådan (lång straddle, CSP write nådde båda backtest_review), så datatillgänglighet och exekvering är avriskade. Fyller de två mest underrepresenterade buckets på en gång: Options venue (~5% vs 15% target) och long_short-riktning (15% vs target), med en medellång till lång horisont och endast 4 parametrar.

Iteration 3-fix för Layer-3-väggklockstimeouten (>300s). All signallogik har redan passerat Layers 1 och 2, så fixen är strikt avgränsad till den per-bar-kostnad som feedbacken angav. Grundorsak: _realized_vol_cheap() beräknade sin rullande standardavvikelse med en Python for-loop över hela close-historiken (`for i in range(n): rolls[i] = rets[i:i+w].std()`) — O(n·w) per anrop, exekverad som cheap-IV-reserven på varje bar där DVOL-historiken är tunn (dvs. hela den tidiga/glappiga delen av backtesten), vilket……Visa merVisa mindre

Iteration 3-fix för Layer-3-väggklockstimeouten (>300s). All signallogik har redan passerat Layers 1 och 2, så fixen är strikt avgränsad till den per-bar-kostnad som feedbacken angav. Grundorsak: _realized_vol_cheap() beräknade sin rullande standardavvikelse med en Python for-loop över hela close-historiken (`for i in range(n): rolls[i] = rets[i:i+w].std()`) — O(n·w) per anrop, exekverad som cheap-IV-reserven på varje bar där DVOL-historiken är tunn (dvs. hela den tidiga/glappiga delen av backtesten), vilket exakt är det 'rebuilding a list inside on_bar on every bar'-mönster som diagnostiken beskriver. Fix: (1) ersätt den loopen med en fullt vektoriserad cumulative-sum rolling std (population std, ddof=0 — identisk med np.std default), så att reserven är O(n) utan Python-loop; (2) memoize:a cheap-IV-verdikten per bar-tidsstämpel (_iv_cheap_ts/_iv_cheap_val) så att upprepade anrop inom en bars period/leg-skanning är O(1); DVOL-vägen var redan O(log n) via np.searchsorted och är orörd. Inga imports, klassstruktur, regimenlogik, rollogik eller entry/exit-gating ändrades — så Layers 1 och 2 kan inte regressera. Som bälte-och-hängslen mot leg-bar-volym (samma felmodell som drabbade rolling-options-syskonen), pinnar konfigurationen perp primary AND the rolling_options leg `timeframe` till 1-DAY (expanderaren defaultar ben till 1-HOUR, en 6-24x leg-bar-uppblåsning) och takar lookback_days vid 365 (~12 månatliga perioder).

Implementation

BTC Deribit MONTHLY single-leg long-option trend-konvexitetsstrategi, cheap-IV-grindad, riktningsbestämd åt båda håll. Den primära BTC-PERPETUAL.DERIBIT (1-DAY) driver roll-klockan och levererar den dagliga close-serien; de handelsbara benen är de resolverade månatliga ~5% OTM call- och put-kontrakten. När BTC är i en bekräftad up-regime (pris över en stigande 50-dagars SMA) AND implicit vol är billig (DVOL percentil <= 0.40, realiserad-vol percentil som reserv), köper den en OTM månatlig CALL; i en bekräftad down-regime AND billig IV köper den en OTM månatlig PUT. Högst ett långt ben per månatlig expiry, rullat ut 5 DTE före expiry, med tidig exit vid en regimvändning mot benet eller en -70% premiekatastrof-stop. Lång vega + lång riktning, maxförlust = betald premie, ingen shorting/hedging.

Verifieringsresultat

Verifiering misslyckades (Layer 3 — sandbox-backtest): röktestet överskred tidsgränsen på 300s. Det betyder nästan alltid att arbete per stapel skalar med historiken — till exempel att hela finansierings-/tilläggsserien genomsöks på nytt, eller att en lista byggs om och min()/sorted() anropas inuti calculate_signal()/on_bar() vid varje stapel. Förberäkna sorterade tidsstämpelarrayer ONCE i __init__ och använd bisect, eller cachelagra uppslag med tidsstämpel som nyckel, så att kostnaden per stapel blir O(log n) i stället för O(n).

Analytiker: bekräfta total_trades under hela fönstret; ett dubbelt filtrerat program med månatliga långoptioner kan ge för få affärer för en tillförlitlig bedömning. Överväg att förlänga lookback_days bortom 365 för att samla fler förfall.

Lågt antal affärer / låg statistisk styrka. Månadslöptid (dte 30) över ett tillbakablickande fönster på 365 dagar för optionskedjan (cirka 12 förfall), ytterligare filtrerat av BOTH ett regimfilter för bekräftad trend AND ett filter för billig IV, innebär att färre än 10 långa ben realistiskt sett öppnas under fönstret (sandboxen gav totalt 9). Det är långt under tröskeln på cirka 100 affärer för att tydligt skilja edge från brus, och det breda Sharpe-intervallet CI ([-13.1, 11.1], PSR 0.77) bekräftar att skattningen har låg tillförlitlighet. Detta är inneboende i ett månatligt optionsprogram med dubbla filter, alltså en reservation för analytikern snarare än ett kodfel, men ingen Sharpe/PF från strategin bör betraktas som tillförlitlig utan ett betydligt längre fönster.

Verifiera att BacktestRunner._apply_fees omfattar DERIBIT-optionsbeninstrument; bekräfta att provisionerna inte är noll i hela backtestet innan avg_trade_return_pct bedöms som tillförlitligt.

Sandboxen rapporterar total_commission=0.0001 (cirka noll) över 9 optionsaffärer. Deribits optionsavgifter (0.03% av det underliggande per kontrakt, begränsade till 12.5% av premien) är betydande för LONG-optioner som betalar premie och avgifter både vid öppning och stängning. Nära noll i provision tyder på att optionsavgifterna kanske inte modelleras för de injicerade beninstrumenten, vilket skulle överskatta nettoavkastningen för en långoptionsbok som betalar premier. Det gäller backtestmotorn/avgifterna, inte ett fel i strategikoden.

Överväg att använda False som standard (hoppa över inträdet) när varken DVOL eller RV kan mätas, så att varje inträde faktiskt uppfyller villkoret för billig IV; eller bekräfta via loggar att inga inträden gjordes med den tillåtande reservlösningen.

Filtret för billig IV är PERMISSIVE när inget av volatilitetmåtten finns tillgängligt: om DVOL-historiken är tunn (< min_iv_samples) AND och reservlösningen för realiserad volatilitet inte kan beräknas, returnerar _iv_cheap True, så ett inträde kan tas WITHOUT ett bekräftat villkor för billig IV. Hypotesen kräver att billig IV ingår som ett nödvändigt villkor (”bekräftad regim AND IV är billig”). För BTC Deribit DVOL fylls detta fönster snabbt, så effekten begränsas till den tidiga/glest datalagda delen av backtestet, men eventuella affärer i den delen uppfyller endast regimvillkoret, inte regim-AND-billig-IV enligt specifikationen.

Analytiker: verifiera att premieutlägget per affär är rimligt som andel av kapitalbasen (långa optioner med definierad risk bör riskera en liten procent per affär); om kontraktet på 1 är för stort i förhållande till kapitalbasen, byt till positionsdimensionering baserad på en premiebudget (risk_frac).

avg_position_pct=93.6% i sandboxen. Positionerna dimensioneras med ett fast kontrakt på 1 per inträde via den ärvda _leg_size (contracts=1.0). För en lång option är den verkliga risken den betalda premien (definierad risk, och -70%-stoppet begränsar den ytterligare), så ett högt rapporterat position_pct speglar sannolikt att motorn värderar optionens NOTIONAL (kontrakt x underliggande) snarare än premien som riskeras. Det är värt att bekräfta att den fasta storleken på 1 kontrakt inte leder till alltför koncentrerade positioner vid låg kapitalbas eller en orimligt stor premieutgift i förhållande till kapitalbasen i hela backtestet.

Backtestgranskning

Sharpe
3,43
Total avkastning
10,15%
Max drawdown
9,79%
Totalt antal affärer
9
Vinstandel
44,4%
Vinstfaktor
1,86

Mekanismen är sund och klarar verifieringen: ett enda långt optionsben ger ett konvext uttryck med definierad risk för en trendbedömning, utan exekveringsväg med flera ben.

Fyller två underrepresenterade kategorier (optionshandelsplats + riktning av typen long_short).

Där den handlas ser konvexiteten per affär gynnsam ut (PF 1.86, positiv skevhet 1.55, max_dd endast 9.8%).

Endast 9 affärer under hela den tillgängliga optionshistoriken; motorn flaggar metrics_reliable=false.

Hela nettoavkastningen kommer från en extremmånad (2026-02 +14.3%); övriga 8 månader tar i stort sett ut varandra.

sharpe_ci_low = -13.1 — Sharpe CI straddles 0; deflated_sharpe oberäkningsbar. Måtten är statistiskt meningslösa.

Den månatliga Deribit-BTC-optionskedjan i katalogen omfattar bara cirka 12 förfall (2025-07 och framåt); lookback_days=365 täcker den redan — ingen utvecklarändring kan lägga till månatliga perioder.

Detta är det andra försöket med identiskt utfall på 9 affärer; att iterera igen mot samma datavägg är planlöst.

Analys

Optimera NOT inte på 9 trades (motorn flaggade metrics_reliable=false, och hela +100%-avkastningen är en enskild Feb-2026-outlier). Grundorsaken är datatäckning, inte logik: rolling_options.lookback_days är 365, så den månatliga kedjeexpansionen hittade bara ~12 perioder (2025-07 och framåt). Det befordrade CSP-syskonet använde lookback_days=1100 och fick en 36-periodskedja tillbaka till 2023. FIX: höj rolling_options.lookback_days till ~1100 så att den månatliga Deribit BTC-kedjan täcker 2023-2026, vilket ger ~36 entry-möjligheter (~3x trades) och ett statistiskt testbart urval som spänner över både 2024-bullen och 2025-26-drawdownen. Backtesta igen och bekräfta att kanten överlever över ~30+ trades (positiv expectancy NOT beroende av en månad, win_rate och profit_factor stabila) innan du spenderar optimeringsberäkning. Håll allt annat oförändrat.

Utfallssammanfattning

En mekaniskt sund optionsstrategi som klarat verifieringen kan ändå inte valideras om katalogen bara innehåller cirka 12 månatliga förfall — 9 affärer med en Sharpe på CI, ett intervall från -13 till +11 och all avkastning från en månad ger inte underlag för optimering. Därför måste optionskedjans djup bekräftas innan man itererar upprepade gånger.

Backtestgranskaren returnerade ”revise_hypothesis” vid grinden före optimering: mekanismen var sund och klarade verifieringen, men katalogens månatliga Deribit-BTC-optionskedja omfattar bara cirka 12 förfall (2025-07 och framåt), så lookback_days=365 täcker den redan och ingen utvecklarändring kan lägga till perioder — dessutom var detta det andra försöket med identiskt utfall på 9 affärer, vilket gör ytterligare iterationer till planlöst nötande mot en datavägg. Det sista steget överges.

En enbent långoptionsstrategi på Deribit med BTC månatliga förfall som uttryckte en riktad trendbedömning konvext: i en bekräftad uppåtgående regim med billig IV köpte den en call på cirka 5% OTM, och i en bekräftad nedåtgående regim med billig IV en put på cirka 5% OTM. Högst ett ben med definierad risk hölls (maximal förlust = premie), och det rullades månadsvis.

Backtestet genomförde endast 9 affärer under den tillgängliga optionshistoriken (6 calls, 3 puts, genomsnittligt inträde IV 0.323, netto-vega vid inträde +751, cirka 24 DTE) med metrics_reliable=false: nominell Sharpe 3.43 och vinstfaktor 1.86, med positiv skevhet och en maximal nedgång på 9.8%, men sharpe_ci_low av -13.1 (CI omfattar noll) och hela nettoavkastningen bars av en enda extremmånad (2026-02, +14.3%). Ingen optimeringsfas kördes.

Stratmill är ett research- och pappershandelsverktyg, inte finansiell rådgivning eller en mäklare. Backtest- och pappershandelsresultat är hypotetiska. Handel innebär risk för förlust.