Praleisti ir pereiti prie turinio
Visos strategijos

Strategijos

Deribit BTC mėnesinė vienos ilgos opciono pozicijos tendencijos išgaubtumo strategija (taikomas pigaus-IV filtras, kryptinė abiem kryptimis)

Rezultatas: Atsisakyta

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV

Rezultatų suvestinė

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV buvo sąmoningai pasirinkta ilgos vega ir ilgos kryptinės pozicijos priešingybė pipeline trumpųjų volatiliteto ir nekryptinių opcionų portfeliams: perkamas vienas OTM pirkimo arba pardavimo opcionas, kad BTC tendencijos vertinimas virstų iš anksto apibrėžtos rizikos išgaubtu išmokos profiliu; strategija nesunkiai įveikė kelių dalių vykdymo ir Layer-3 patikras, kurios buvo sustabdžiusios panašias strategijas. Tačiau per testavimą buvo sudaryta tik 9 sandorių, nes……Rodyti daugiauRodyti mažiau

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV buvo sąmoningai pasirinkta ilgos vega ir ilgos kryptinės pozicijos priešingybė pipeline trumpųjų volatiliteto ir nekryptinių opcionų portfeliams: perkamas vienas OTM pirkimo arba pardavimo opcionas, kad BTC tendencijos vertinimas virstų iš anksto apibrėžtos rizikos išgaubtu išmokos profiliu; strategija nesunkiai įveikė kelių dalių vykdymo ir Layer-3 patikras, kurios buvo sustabdžiusios panašias strategijas. Tačiau per testavimą buvo sudaryta tik 9 sandorių, nes katalogo mėnesinė Deribit BTC grandinė apima vos ~12 galiojimo terminų nuo -2025 vidurio, o variklis pažymėjo metrikas kaip nepatikimas: antraštėje pateiktas Sharpe rodiklis 3.43 turėjo pasikliautinąjį intervalą nuo -13 iki +11, o visa grynoji grąža gauta per vieną vasario 2026 mėnesį. Vertintojas nusprendė revise_hypothesis, pažymėdamas, kad tai buvo antras identiškas 9 sandorių bandymas ir kad joks kodo pakeitimas negali pridėti mėnesinių periodų prie trumpos grandinės. Išgaubtumo tezė niekada nebuvo paneigta; jos tiesiog nebuvo galima patikrinti pagal turimus opcionų istorinius duomenis, todėl strategijos atsisakyta, užuot trečią kartą kartojus bandymus atsitrenkti į tą pačią kliūtį.

Hipotezė

Išreikškite BTC tendencijos vertinimą per SINGLE ilgą opciono poziciją, o ne nuolatinio kontrakto poziciją, paversdami tendencijos sekimo išmoką išgaubta, iš anksto apibrėžtos rizikos struktūra. Kai BTC yra patvirtintame kylančiame režime AND numanomasis kintamumas yra pigus, pirkite Deribit vieną ~5% OTM mėnesinį CALL; kai patvirtintame krentančiame režime AND IV yra pigus, pirkite vieną ~5% OTM mėnesinį PUT. Apsidraudimo pozicijos nėra, maržos trumpajai pozicijai nereikia — didžiausias nuostolis yra sumokėta……Rodyti daugiauRodyti mažiau

Išreikškite BTC tendencijos vertinimą per SINGLE ilgą opciono poziciją, o ne nuolatinio kontrakto poziciją, paversdami tendencijos sekimo išmoką išgaubta, iš anksto apibrėžtos rizikos struktūra. Kai BTC yra patvirtintame kylančiame režime AND numanomasis kintamumas yra pigus, pirkite Deribit vieną ~5% OTM mėnesinį CALL; kai patvirtintame krentančiame režime AND IV yra pigus, pirkite vieną ~5% OTM mėnesinį PUT. Apsidraudimo pozicijos nėra, maržos trumpajai pozicijai nereikia — didžiausias nuostolis yra sumokėta premija. Tai sąmoningai priešinga pipeline esančioms trumpojo kintamumo, pinigais užtikrintų pardavimo opcionų pozicijoms ir nekryptinei ilgajai straddle pozicijai: čia turime LONG vegą ir LONG kryptinę poziciją, siekdami pasinaudoti storomis BTC grąžos dešinėmis ir kairėmis uodegomis, kurių nuolatinio kontrakto tendencijos sekimo strategijos negali pagauti, nes jas išsekina mokesčiai ir nuostolingas pozicijų uždarymas dėl stopų. Viena pozicija leidžia išvengti kelių dalių opcionų vykdymo kelio, kuris niekada nepraėjo patikros (L2). Deribit BTC yra likvidžiausia kriptovaliutų opcionų rinka, kataloge pateikiami graikai ir IV, o vienos pozicijos Deribit BTC struktūros jau praėjo Layer-3 smėliadėžės patikrą (ilgoji straddle pozicija ir CSP pozicijos pardavimas pasiekė backtest_review), tad duomenų prieinamumo ir vykdymo rizika sumažinta. Kartu užpildomos dvi mažiausiai atstovaujamos kategorijos: opcionų prekybos vieta (~5%, kai tikslas yra 15%) ir long_short kryptis (15%, kai yra tikslas), taikant vidutinio ir ilgo laikotarpio horizontą ir tik 4 parametrus.

3 iteracijos pataisa Layer-3 vykdymo laiko limitui (>300s) įveikti. Visa signalų logika jau praėjo Layers 1 ir 2, todėl pataisa apsiriboja tik grįžtamojo ryšio nurodytomis vieno baro sąnaudomis. Priežastis: _realized_vol_cheap() slenkamąjį standartinį nuokrypį skaičiavo Python ciklu per visą uždarymo kainų istoriją (`for i in range(n): rolls[i] = rets[i:i+w].std()`) — O(n·w) kiekvienam iškvietimui; kaip pigus-IV atsarginis būdas jis buvo vykdomas kiekviename bare, kuriame DVOL istorija trumpa (t. y. per visą……Rodyti daugiauRodyti mažiau

3 iteracijos pataisa Layer-3 vykdymo laiko limitui (>300s) įveikti. Visa signalų logika jau praėjo Layers 1 ir 2, todėl pataisa apsiriboja tik grįžtamojo ryšio nurodytomis vieno baro sąnaudomis. Priežastis: _realized_vol_cheap() slenkamąjį standartinį nuokrypį skaičiavo Python ciklu per visą uždarymo kainų istoriją (`for i in range(n): rolls[i] = rets[i:i+w].std()`) — O(n·w) kiekvienam iškvietimui; kaip pigus-IV atsarginis būdas jis buvo vykdomas kiekviename bare, kuriame DVOL istorija trumpa (t. y. per visą ankstyvą ir trūkstamų duomenų atkarpą), būtent pagal diagnostikoje aprašytą šabloną „kiekviename bare iš naujo sudaromas sąrašas funkcijoje on_bar“. Pataisa: (1) ciklas pakeistas visiškai vektorizuotu slenkamojo standartinio nuokrypio skaičiavimu iš kaupiamųjų sumų (populiacijos standartinis nuokrypis, ddof=0 — toks pat kaip numatytoji np.std reikšmė), todėl atsarginis skaičiavimas yra O(n) ir nenaudoja Python ciklo; (2) pigus-IV rezultatas įsimenamas kiekvieno baro laiko žymai (_iv_cheap_ts/_iv_cheap_val), todėl pakartotiniai iškvietimai tame pačiame bare per periodų ar pozicijų paiešką yra O(1); DVOL kelias jau buvo O(log n), naudojant np.searchsorted, ir liko nepakeistas. Importai, klasės struktūra, režimų logika, pozicijų perkėlimo logika ir įėjimo bei išėjimo filtrai nepakeisti, todėl Layers 1 ir 2 rezultatai negali suprastėti. Papildomai, siekiant apsidrausti nuo didelės pozicijų barų apimties (tokio paties gedimo, kaip susijusių slenkančių opcionų strategijų atveju), konfigūracijoje nuolatinio kontrakto pagrindinis AND, rolling_options pozicijos `timeframe`, apribotas iki 1-DAY (plėstuvas pagal numatymą pozicijas nustato į 1-HOUR, o tai sukelia 6-24x pozicijos barų šuolį), o lookback_days apribotas iki 365 (~12 mėnesinių periodų).

Įgyvendinimas

BTC Deribit MONTHLY vienos ilgos opciono pozicijos tendencijos išgaubtumo strategija; taikomas pigaus-IV filtras, kryptinė abiem kryptimis. Pagrindinis BTC-PERPETUAL.DERIBIT (1-DAY) nustato pozicijų perkėlimo laikrodį ir pateikia dienos uždarymo kainų seką; prekiaujamos pozicijos yra susieti mėnesiniai ~5% OTM pirkimo ir pardavimo opcionų kontraktai. Kai BTC yra patvirtintame kylančiame režime (kaina virš kylančio 50 dienų SMA) AND numanomasis kintamumas yra pigus (DVOL procentilis <= 0.40, realizuoto kintamumo procentilio atsarginis rodiklis), ji perka vieną OTM mėnesinį CALL; patvirtintame krentančiame režime AND pigus IV ji perka vieną OTM mėnesinį PUT. Vienam mėnesio galiojimo terminui laikoma daugiausia viena ilgoji pozicija; ji perkeliama į vėlesnį terminą 5 DTE iki galiojimo pabaigos, o režimui apsivertus prieš pozicijos kryptį arba pasiekus -70% premijos nuostolio stopą uždaroma anksčiau. Ilga vega ir ilga kryptinė pozicija, didžiausias nuostolis = sumokėta premija, nėra trumpųjų ar apsidraudimo pozicijų.

Patikros rezultatai

Patikra nepavyko (Layer 3 — smėliadėžės atgalinis testas): dūmų testas viršijo 300s vykdymo laiko limitą. Beveik visada tai reiškia, kad kiekvieno baro darbas didėja kartu su istorijos ilgiu, pavyzdžiui, iš naujo nuskaitoma visa finansavimo ar papildomų duomenų seka arba kiekviename bare iš naujo sudaromas sąrašas ir kviečiamas min()/sorted() funkcijoje calculate_signal()/on_bar(). Iš anksto apskaičiuokite surikiuotus laiko žymų masyvus ONCE funkcijoje __init__ ir naudokite bisect arba talpykloje saugokite paieškos rezultatus pagal laiko žymą, kad vieno baro sąnaudos būtų O(log n), o ne O(n).

Analitike, patvirtinkite total_trades per visą laikotarpį; dėl dviejų filtrų taikomos mėnesinių ilgųjų opcionų strategijos gali būti sudaryta per mažai sandorių patikimai išvadai. Apsvarstykite galimybę pratęsti lookback_days už 365, kad būtų sukaupta daugiau galiojimo terminų.

Mažas sandorių skaičius / statistinė galia. Mėnesinis terminas (dte 30) ir 365 dienų opcionų grandinės laikotarpio peržiūra (~12 galiojimo terminų), papildomai taikant patvirtintos tendencijos režimo filtrą BOTH ir pigaus-IV filtrą AND, realiai leis per visą laikotarpį atidaryti gerokai mažiau nei 10 ilgųjų pozicijų (smėliadėžėje iš viso sudaryta 9). Tai gerokai mažiau už ~100 sandorių ribą, reikalingą pranašumui aiškiai atskirti nuo triukšmo; platus Sharpe rodiklio CI intervalas ([-13.1, 11.1], PSR 0.77) patvirtina, kad įvertis mažai patikimas. Tai būdinga mėnesinių opcionų strategijai su dviem filtrais, todėl analitikui tai yra išlyga, o ne kodo defektas; vis dėlto šios strategijos Sharpe rodikliu ar PF pasitikėti negalima be gerokai ilgesnio laikotarpio.

Patikrinkite, ar BacktestRunner._apply_fees apima DERIBIT opcionų pozicijų instrumentus; prieš pasitikėdami avg_trade_return_pct, patvirtinkite, kad per visą atgalinį testą komisiniai nėra nuliniai.

Smėliadėžės ataskaitoje nurodyta, kad total_commission=0.0001 (beveik nulis) per 9 opcionų sandorius. Deribit opcionų mokesčiai (0.03% bazinio turto vertės už kontraktą, bet ne daugiau nei 12.5% premijos vertės) yra reikšmingi LONG opcionams, už kuriuos mokama premija ir mokesčiai mokami tiek atidarant, tiek uždarant poziciją. Beveik nuliniai komisiniai leidžia įtarti, kad įterptų pozicijų instrumentams opcionų mokesčiai gali būti nemodeliuojami, o tai išpūstų grynąją grąžą premiją mokančių ilgųjų opcionų portfelyje. Tai atgalinio testo variklio arba mokesčių problema, o ne strategijos kodo defektas.

Apsvarstykite galimybę, kai nei DVOL, nei RV neįmanoma išmatuoti, pagal numatymą nustatyti False (praleisti įėjimą), kad kiekvienas įėjimas iš tiesų atitiktų pigaus-IV sąlygą; arba pagal žurnalus patvirtinkite, kad dėl lanksčios atsarginės taisyklės nebuvo atidaryta nė viena pozicija.

Pigaus-IV filtras, kai nėra prieinamas nė vienas kintamumo matas, yra PERMISSIVE: jei DVOL istorija trumpa (< min_iv_samples) AND ir neįmanoma apskaičiuoti realizuoto kintamumo atsarginio rodiklio, _iv_cheap grąžina True, todėl pozicija gali būti atidaryta WITHOUT patvirtintos pigaus-IV sąlygos. Pagal hipotezę pigus IV yra būtina sąlyga („patvirtintas režimas AND IV yra pigus“). BTC Deribit DVOL šis laikotarpis greitai užsipildo, tad poveikis apribotas ankstyva atgalinio testo dalimi ir atkarpomis su trūkstamais duomenimis; tačiau bet kokie sandoriai šioje srityje atitinka tik režimo, o ne nurodytą režimo-AND-pigaus-IV sąlygą.

Analitike, patikrinkite, ar vienam sandoriui išleidžiama premija, palyginti su nuosavu kapitalu, yra pagrįsta (ilgųjų opcionų rizika iš anksto apibrėžta, tad vienam sandoriui turėtų būti rizikuojama maža kapitalo dalimi); jei 1 kontraktas, palyginti su nuosavu kapitalu, yra per didelis, pereikite prie pozicijos dydžio nustatymo pagal premijos biudžetą (risk_frac).

Smėliadėžėje avg_position_pct=93.6%. Kiekvienam įėjimui taikomas fiksuotas 1 kontrakto dydis pagal paveldėtą _leg_size (contracts=1.0). Ilgojo opciono atveju tikroji rizika yra sumokėta premija (rizika iš anksto apibrėžta, o -70% stopas ją dar labiau apriboja), todėl tikėtina, kad didelis nurodomas position_pct atspindi variklio opciono NOTIONAL vertinimą (kontraktai x bazinis turtas), o ne rizikuojamą premiją. Verta patikrinti, ar fiksuotas 1 kontrakto dydis nesukelia per didelės portfelio koncentracijos esant mažam nuosavam kapitalui ir ar per visą atgalinį testą premijos išlaidos, palyginti su nuosavu kapitalu, nėra neįtikėtinai didelės.

Istorinio testo peržiūra

Sharpe
3,43
Bendra grąža
10,15%
Didžiausias nuosmukis
9,79%
Iš viso sandorių
9
Pelningų sandorių dalis
44,4%
Pelno faktorius
1,86

Mechanizmas pagrįstas ir patikrą praėjo: viena ilgoji opciono pozicija yra iš anksto apibrėžtos rizikos, išgaubta tendencijos vertinimo išraiška, kuriai nereikia kelių dalių vykdymo kelio.

Užpildo dvi nepakankamai atstovaujamas kategorijas (opcionų prekybos vieta ir long_short kryptis).

Ten, kur sudaromi sandoriai, vieno sandorio išgaubtumas atrodo palankus (PF 1.86, teigiamas asimetriškumas 1.55, tik max_dd 9.8%).

Per visą turimą opcionų istoriją sudaryta tik 9 sandorių; variklis pažymi metrics_reliable=false.

Visa grynoji grąža gauta per vieną išskirtinį mėnesį (2026-02 +14.3%); per kitus 8 mėnesius rezultatas apytikriai nulinis.

sharpe_ci_low = -13.1 — Sharpe rodiklis CI, jo intervalas apima 0; deflated_sharpe neįmanoma apskaičiuoti. Metrikos statistiškai beprasmės.

Katalogo mėnesinė Deribit BTC opcionų grandinė apima tik ~12 galiojimo terminų (nuo 2025-07); lookback_days=365 jau ją apima — joks kūrėjo pakeitimas negali pridėti mėnesinių periodų.

Tai antras bandymas, kurio rezultatas vėl identiškas: 9 sandorių; pakartotinės iteracijos susidūrus su ta pačia duomenų kliūtimi yra bergždžios.

Analizė

NOT neoptimizuoti pagal 9 sandorius (variklis pažymėjo metrics_reliable=false, o visa +100% grąža yra vienas vasario-2026 išskirtinis atvejis). Pagrindinė priežastis yra duomenų aprėptis, ne logika: rolling_options.lookback_days yra 365, todėl mėnesinė grandinės plėtra rado tik ~12 laikotarpius (nuo 2025-07). Paaukštintas CSP seserinis elementas naudojo lookback_days=1100 ir gavo 36 laikotarpių grandinę atgal iki 2023. FIX: padidinti rolling_options.lookback_days iki ~1100, kad mėnesinė „Deribit“ BTC grandinė apimtų 2023-2026, suteikdama ~36 įėjimo galimybių (~3x sandoriai) ir statistiškai išbandomą imtį, apimančią tiek 2024 bulių rinką, tiek 2025-26 nuosmukį. Pakartoti backtestą ir patvirtinti, kad pranašumas išlieka per ~30+ sandorius (teigiama tikėtina vertė NOT priklausoma nuo vieno mėnesio, win_rate ir profit_factor stabilūs) prieš skiriant optimizavimo skaičiavimų resursus. Viską kitą palikti nepakeistą.

Rezultatų suvestinė

Mechaniškai pagrįstos ir patikrą praėjusios opcionų strategijos vis tiek negalima validuoti, jei kataloge yra tik ~12 mėnesinių galiojimo terminų: 9 sandorių, Sharpe rodiklis CI, kurio intervalas nuo -13 iki +11, ir visa grąža iš vieno mėnesio nepagrindžia optimizavimo, todėl prieš kartojant iteracijas būtina patikrinti opcionų grandinės gylį.

Atgalinio testo vertintojas, atlikdamas patikrą prieš optimizavimą, grąžino „revise_hypothesis“: mechanizmas buvo pagrįstas ir praėjo patikrą, tačiau katalogo mėnesinė Deribit BTC opcionų grandinė apima tik ~12 galiojimo terminų (nuo 2025-07), taigi lookback_days=365 ją jau apima ir kūrėjas negali pridėti periodų; be to, tai buvo antras bandymas, kurio rezultatas vėl buvo 9 sandorių, todėl tolesnės iteracijos reikštų bergždžiai kartoti bandymus susidūrus su duomenų kliūtimi. Galutinio etapo atsisakyta.

Vienos ilgos opciono pozicijos strategija Deribit BTC mėnesiniams galiojimo terminams, kryptinį tendencijos vertinimą išreiškianti išgaubtai: patvirtintame kylančiame režime, kai IV pigus, perkamas ~5% OTM pirkimo opcionas; patvirtintame krentančiame režime, kai IV pigus, perkamas ~5% OTM pardavimo opcionas. Laikoma daugiausia viena iš anksto apibrėžtos rizikos pozicija (didžiausias nuostolis = premija), kas mėnesį ji perkeliama į vėlesnį terminą.

Per atgalinį testą per turimą opcionų istoriją sudaryta tik 9 sandorių (6 pirkimo opcionų, 3 pardavimo opcionų, vidutinis įėjimas IV 0.323, grynoji įėjimo vega +751, ~24 DTE), o metrics_reliable=false: nominalus Sharpe rodiklis 3.43 ir pelno koeficientas 1.86, teigiamas asimetriškumas ir 9.8% didžiausias nuosmukis, tačiau sharpe_ci_low iš -13.1 (CI apima nulį), o visa grynoji grąža gauta per vieną išskirtinį mėnesį (2026-02, +14.3%). Optimizavimo etapas nebuvo vykdomas.

„Stratmill“ yra tyrimų ir popierinės prekybos įrankis, o ne finansų konsultantas ar brokeris. Testavimo ir popierinės prekybos rezultatai yra hipotetiniai. Prekyba susijusi su nuostolio rizika.