Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Deribit ETH Weekly Bull-Put Credit Spread — Pag-ani sa Mayamang Put Skew, May Trend-Regime Gate, Takda ang Panganib

Resulta: Inabandona

DeribitEthWeeklyBullPutSpreadSkewHarvest

Tunay na ipinapatupad sa code ang takdang panganib (bineberipika ang dalawang leg kada expiry; inaalis ang hindi naipares na short), kaya naiiwasan nito nang tama ang bitag ng drawdown mula sa hubad na short

Hypothesis

Pag-aani ng premium sa options na DEFINED-RISK sa DERIBIT ETH — puntirya ang bucket na pinakakulang sa portfolio (pinagsamang options 4.9% kumpara sa quota na 15%; BINANCE_OPTIONS ay may 1 eksperimento, DERIBIT naman ay 4.9%). Sadyang DIFFERENT ito sa nakabinbin nang simetrikong BTC iron-condor: isa itong ETH (BTC lang ang survival na 2%), nakahilig sa direksiyon at iisang wing ang istruktura, na umaani sa PERSISTENT NEGATIVE SKEW sa crypto index options — sistematikong sobra ang presyo ng OTM puts (dahil sa……Magpakita ng higit paMagpakita ng mas kaunti

Pag-aani ng premium sa options na DEFINED-RISK sa DERIBIT ETH — puntirya ang bucket na pinakakulang sa portfolio (pinagsamang options 4.9% kumpara sa quota na 15%; BINANCE_OPTIONS ay may 1 eksperimento, DERIBIT naman ay 4.9%). Sadyang DIFFERENT ito sa nakabinbin nang simetrikong BTC iron-condor: isa itong ETH (BTC lang ang survival na 2%), nakahilig sa direksiyon at iisang wing ang istruktura, na umaani sa PERSISTENT NEGATIVE SKEW sa crypto index options — sistematikong sobra ang presyo ng OTM puts (dahil sa talamak na demand para sa crash hedge) kumpara sa dalas ng aktuwal na pag-crash ng ETH sa mga rehimeng hindi downtrend. Sa bawat lingguhang cycle, kapag ETH ay NOT sa downtrend, SELL tayo ng put na ~0.20-delta at BUY ng put na ~0.08-delta na mas malayo (bull put credit spread). Mahigpit na nililimitahan ng long wing ang maximum loss, na tuwirang tumutugon sa mga kabiguan ng risk_reject/52–74%-DD na hubad/istruktural na short exposure (L48). Pinipigilan tayo ng payak na trend-regime gate (presyong lampas sa mabagal na moving average nito) na magbenta ng puts sa makapal na kaliwang buntot — umiiwas tayo sa downtrend sa halip na saluhin ang bagsak. NOT ito sa lipas nang template na “i-gate ang galaw ng presyo sa 4H gamit ang karagdagang feed” (L46): ang edge ay premium ng options DECAY + yaman ng skew (cash flow na 1–4% ng notional sa bawat istruktura), hindi hinulaang galaw ng presyo sa isang direksiyon, kaya lampas ito nang isa o dalawang order of magnitude sa bayad sa options na ~0.06% RT. ~1 istruktura lang bawat linggo, hawak hanggang malapit sa expiry → halos walang bawas na bayarin. Payak: 3 na parameter (delta ng short put, DTE/lapad ng wing, at haba ng trend lookback) para makaiwas sa libingan ng overfit na 300x.

Ang L67 defined-risk Deribit options VRP structure ay may negatibong edge kada notional, batay sa sample ng iisang regime na hindi masusukat sa estruktura nito — hindi sulit ang 2 oras ng optimization. Kaakit-akit ang pangunahing resulta (Sharpe 6.87, PF 2.36, +2.17% return, 50% panalo), pero avg_trade_return_pct ay NEGATIVE sa -0.80% dahil sinusukat ang return kada trade batay sa notional ng defined-risk wing; ayon sa L67 (BTC iron-condor at ETH bull-put na mga kapatid na strategy, parehong iniwan dahil sa……Magpakita ng higit paMagpakita ng mas kaunti

Ang L67 defined-risk Deribit options VRP structure ay may negatibong edge kada notional, batay sa sample ng iisang regime na hindi masusukat sa estruktura nito — hindi sulit ang 2 oras ng optimization. Kaakit-akit ang pangunahing resulta (Sharpe 6.87, PF 2.36, +2.17% return, 50% panalo), pero avg_trade_return_pct ay NEGATIVE sa -0.80% dahil sinusukat ang return kada trade batay sa notional ng defined-risk wing; ayon sa L67 (BTC iron-condor at ETH bull-put na mga kapatid na strategy, parehong iniwan dahil sa kaparehong pattern), likas sa defined-risk credit spread ang kombinasyong positibo ang Sharpe/PF pero negatibo kada notional, at hindi nito maaabot ang minimum na viability. Kaya hindi dapat maging dahilan ang Sharpe para mag-optimize. Hindi rin ito masusukat: umiiral lang ang mga option leg mula ~2026-06 hanggang 2026-09 (data_days 57); kaya kahit may 2019-2026 perp clock, ~3 buwan / 16 trade / effective_daily_obs 8 lang ang aktuwal na kasaysayan ng options. Itinatakda ng engine ang metrics_reliable=FALSE, at ang Sharpe na 6.87 (CI [6.54, 7.42]) ay bunga lang ng maliit na sample: 8 araw na positibo ang theta decay sa iisang uptrend noong kalagitnaan ng -2026, kung saan walang sample ng crash regime na pinipresyuhan ng skew. Sapilitan ang 90-day window dahil sa timeout ng per-instrument catalog loading ng engine, isang limitasyon sa imprastraktura na isiniwalat ng developer at hindi maaayos ng pag-ulit sa strategy code — kaya hindi mapupunan ang walk-forward at holdout. Pattern ng pagkabigo: fee_edge/no_edge defined-risk Deribit options VRP (negatibo kada notional) + structurally unmeasurable na sample ng options mula sa iisang regime (L67).

Implementasyon

Lingguhang bull put credit spread na may takdang panganib sa Deribit ETH options. Sa bawat lingguhang cycle, nagbibigay ang chain resolver ng dalawang front-week (7 DTE) put: ang ~5% OTM put ay SOLD at ang ~10% OTM put ay BOUGHT bilang wing, kaya mahigpit na nalilimitahan ang maximum loss sa lawak na 5% strike. Binubuo lang ang posisyon kapag wala sa downtrend ang ETH — nagsasara ang underlying sa presyong lampas sa simple moving average nito na kinuwenta sa loob ng 720 bar (30 araw) — kung hindi, tuluyang……Magpakita ng higit paMagpakita ng mas kaunti

Lingguhang bull put credit spread na may takdang panganib sa Deribit ETH options. Sa bawat lingguhang cycle, nagbibigay ang chain resolver ng dalawang front-week (7 DTE) put: ang ~5% OTM put ay SOLD at ang ~10% OTM put ay BOUGHT bilang wing, kaya mahigpit na nalilimitahan ang maximum loss sa lawak na 5% strike. Binubuo lang ang posisyon kapag wala sa downtrend ang ETH — nagsasara ang underlying sa presyong lampas sa simple moving average nito na kinuwenta sa loob ng 720 bar (30 araw) — kung hindi, tuluyang nilalaktawan ang linggong iyon. Hinahawakan ang mga posisyon hanggang 2 oras bago mag-expiry, saka isinasara. Kinukuha ang papel ng bawat leg batay sa pagkakasunod-sunod ng strike sa loob ng expiry (mas mataas na strike = short, mas mababa = wing), at itinitrade ang isang linggo nang ONLY kung na-resolve ang dalawang leg: inaalis ang short put na walang kapareha sa halip na ibenta ito nang walang proteksiyon, kaya nananatiling takda ang panganib kahit hindi makahanap ng wing ang resolver. Nakabatay sa kapital ang sizing (notional = equity × 0.5, minimum na isang contract), kaya ~2.5% ng equity ang capped loss sa bawat structure. 90 araw ang rolling chain window (~13 lingguhang structure) dahil nililimitahan ng per-instrument catalog loading ng backtest engine ang dami ng option leg na kasya sa takdang wall clock ng Layer-3. Tatlong parameter ang puwedeng i-tune: trend_lookback_bars, trend_buffer, roll_buffer_hours.

ITERATION 3 — ONE CONFIG VALUE CHANGED (lookback_days 365 -> 90). Magkapareho nang byte-for-byte ang strategy LOGIC; nagdagdag lang sa docstring ng seksiyong nagpapaliwanag sa limitasyon. THE FEEDBACK'S DIAGNOSIS DOES NOT APPLY HERE, at sinuri ko ito sa halip na magpalagay. Walang trabahong bawat bar sa strategy na lumalaki kasabay ng kasaysayan: isang list append lang na may takdang laki ang ginagawa ng bawat pangunahing bar (pinuputol sa trend_lookback_bars + 2), kasama ang pag-scan ng nakapirming bilang ng……Magpakita ng higit paMagpakita ng mas kaunti

ITERATION 3 — ONE CONFIG VALUE CHANGED (lookback_days 365 -> 90). Magkapareho nang byte-for-byte ang strategy LOGIC; nagdagdag lang sa docstring ng seksiyong nagpapaliwanag sa limitasyon. THE FEEDBACK'S DIAGNOSIS DOES NOT APPLY HERE, at sinuri ko ito sa halip na magpalagay. Walang trabahong bawat bar sa strategy na lumalaki kasabay ng kasaysayan: isang list append lang na may takdang laki ang ginagawa ng bawat pangunahing bar (pinuputol sa trend_lookback_bars + 2), kasama ang pag-scan ng nakapirming bilang ng period x leg ng base, at wala nang iba; iisang 720-elementong numpy mean lang ang trend SMA, kinukuwenta lamang kapag sinusubukan ang lingguhang pagpasok sa FIRST at pagkatapos ay naka-cache kada expiry; walang karagdagang seryeng muling ini-scan at walang sorted()/min() sa madalas gamiting bahagi. THE ACTUAL CAUSE IS PER-INSTRUMENT DATA LOADING IN THE ENGINE, WHICH MEASURED ko. Isa-isang nilo-load ng src/backtesting/runner.py ang mga extra — `for ebt_str in extra_bar_types: self.catalog.bars(bar_types=[str(ebt)], start=start, end=end)`. Sa catalog na ito (2,476 ETH direktoryo ng Deribit option bar, ~10k sa kabuuan), umaabot iyon ng 7.26s PER OPTION INSTRUMENT: 20 instrumento ang inabot ng 145.1s nang isa-isang i-load. Ang lingguhang chain na 365-araw ay may ~52 period x 2 leg = ~104 instrumento = ~755s sa pag-load bago pa iproseso ng engine ang unang bar — humigit-kumulang 2.5x sa limitasyong 300s, na eksaktong tumutugma sa naobserbahang kabiguan at hindi maaabot mula sa code ng strategy. THE FIX APPLIED ko IS THE ONLY LEVER Ang STRATEGY HAS: bilang ng leg. Sa humigit-kumulang 7.3s bawat leg, mga 25 leg ang kasya nang ligtas sa loob ng 300s, kaya magiging 90 araw ang chain window (~13 lingguhang period x 2 leg = ~26 instrumento, ~190s sa pag-load, at may matitirang ~110s para sa run). THE FIX THE ENGINE SHOULD APPLY — sinukat ko rin ito dahil dito nakasalalay kung masusuri man nang maayos ang hypothesis na ito: kapag ipinasa ang buong listahan sa catalog.bars() sa iisang tawag na ONE, nilo-load ang kaparehong 20 instrumento sa loob ng 7.8s (0.39s bawat isa), na 18.6x na pagbilis. Sa ganitong batch read, ~40s lang ang pag-load sa buong chain na 365-araw at makakabalik agad ang strategy sa lookback_days=365. Isang linya lang ang kailangang baguhin sa extras loop ng runner.py at maa-unblock ang EVERY rolling-options strategy sa factory, hindi lang ito — iuulat ko ito sa backtest engineer bilang pinakamahalagang dapat unahin, dahil pinupunan ngayon ang options bucket at binabayaran ng bawat strategy roon ang halagang ito. HONEST COST OF MY WORKAROUND. Nagbibigay ang 90 araw ng ~13 lingguhang istruktura, at sa kasaysayan ay pumapasa sa trend gate ang halos 48% ng mga linggo, kaya umasa sa humigit-kumulang 6-7 trade. Pasado ito sa minimum na ebidensiya na >=5 trade / >=10 araw pero manipis pa rin: hindi sapat ang sample na 7 trade para sa makabuluhang walk-forward o holdout, kaya dapat ituring ng analyst ang kalalabasang resulta bilang smoke test ng mekanismo, hindi ebidensiya ng matibay na edge; nararapat talagang muling patakbuhin ang strategy sa 365 araw kapag naipatupad na ang batch read. Hindi nito NOT binabago ang pagtatasa ko sa pinagbabatayang edge, na sinukat ko sa iteration 1 at hindi ko ginalaw: sa loob ng 279 lingguhang cycle, kumikita ang istruktura ng +0.357% ng spot bawat linggo kapag may trend gate (t=+2.48, panalo 0.83, pinakamasamang linggo -4.36%) sa mga presyo ng Black-Scholes na may flat DVOL — konserbatibong modelo ito dahil hindi isinasaalang-alang ng flat IV ang mismong put skew na inaani. NO REGRESSION: hindi nagbago ang imports, walang ipinagbabawal na import, hindi nagbago ang ayos ng klase, at eksakto pa ring pumapasa ang beripikasyon ng wing na may takdang panganib at ang mga hindi aktibong FactoryStrategy hook (na pumipigil sa pagti-trade sa pinagbabatayang perp) gaya ng naipasa na sa Layer 1 at 2.

Mga Resulta ng Beripikasyon

CLEAN RESTART 2026-09-04 — inalis ang kasaysayan ng mga hatol at tala ng pagkatuto sa run na ito, at sinimulan itong muli mula sa beripikasyon. Ang dating pag-abandona rito ay dulot ng pipeline, hindi ng merkado: mali ang pagkakaugnay ng harness ng Layer-2 sa mga @staticmethod helper (naayos na), naglabas ang QA ng pinal na hatol sa performance batay sa smoke test na hindi pa na-optimize (inalis na — correctness na lang ang hinahatulan ngayon ng QA), at ang mga sandbox timeout ay dulot ng kakulangan sa backtest slot (naayos na). Hindi nagbago ang hypothesis at ang code ng strategy. Suriin ang code batay sa merito nito; ang performance ay pagpapasyahan sa susunod ng buong backtest at optimizer.

Pagsusuri ng Backtest

Sharpe
6.87
Kabuuang Return
2.17%
Max Drawdown
0.41%
Kabuuang Trade
16
Win Rate
50.0%
Profit Factor
2.36

Tunay na ipinapatupad sa code ang takdang panganib (bineberipika ang dalawang leg kada expiry; inaalis ang hindi naipares na short), kaya naiiwasan nito nang tama ang bitag ng drawdown mula sa hubad na short

Malinis na options plumbing na pinapatakbo ng iskedyul; pinupunan ang kulang na Deribit bucket

signature ng options sa Deribit na may takdang panganib: kaakit-akit na headline (Sharpe 6.87, PF 2.36, +2.17% return) pero avg_trade_return_pct ay NEGATIVE sa -0.80% dahil sinusukat ang return kada trade batay sa notional ng wing na may takdang panganib — likas ito sa credit spread at hindi maaabot ang minimum na viability

Hindi masusukat sa estruktura ang sample: umiiral lang ang mga option leg mula ~2026-06 hanggang 2026-09 (data_days 57); kaya kahit may orasan na 2019-2026 ETH-perp, ~3 buwan lang ang mabisang kasaysayan ng options, 16 trade, effective_daily_obs 8; itinatakda ng engine ang metrics_reliable=FALSE

Ang Sharpe na 6.87 at CI [6.54, 7.42] ay isang di-kapani-paniwalang epekto ng maliit na sample sa 8 obserbasyon, lahat sa iisang uptrend noong kalagitnaan ng -2026, kung kailan naging walang halaga ang puts — walang nasampolang crash regime na isinasaalang-alang sa presyo ng skew

Sapilitan ang window na 90 araw dahil sa timeout sa pag-load ng catalog bawat instrumento (limitasyon ng engine na inilahad ng developer), kaya hindi mapupunan ang mga window ng walk-forward/holdout at hindi nasusubok ang panganib sa buntot

Kasaysayan ng Iterasyon

Nabigo ang beripikasyon (Layer 1 — static na pagsusuri): - Hindi naipatupad ang kinakailangang method: should_enter (linya None) - Hindi naipatupad ang kinakailangang method: should_exit (linya None) - Hindi naipatupad ang kinakailangang method: position_size (linya None) - Hindi naipatupad ang kinakailangang method: calculate_signal (linya None)

Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na limitasyon ng wall clock. Halos palaging nangangahulugan ito ng trabahong bawat bar na lumalaki kasabay ng kasaysayan — halimbawa, muling pag-scan sa buong serye ng funding/karagdagang datos, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na timestamp array ONCE sa __init__ at gumamit ng bisect, o mag-cache ng mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos bawat bar.

Nabigo ang beripikasyon (Layer 4 — pagsusuri ng QA): - STRUCTURALLY UNMEASURABLE TRADE COUNT. Limitado sa 90 araw ang chain window; ayon sa sariling tantiya ng developer, katumbas ito ng ~13 lingguhang istruktura, kung saan pumapasa sa trend gate ang ~48% -> ~6-7 trade. Mas mababa ito sa minimum na ~30 trade na kailangan ng strategy sa options para maihiwalay ang edge ng pag-aani ng premium sa ingay, at hindi nito mapupunan ang walk-forward na may 3 window o holdout na 15 araw (maglalaman ang bawat window ng 1-2……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo ang beripikasyon (Layer 4 — pagsusuri ng QA): - STRUCTURALLY UNMEASURABLE TRADE COUNT. Limitado sa 90 araw ang chain window; ayon sa sariling tantiya ng developer, katumbas ito ng ~13 lingguhang istruktura, kung saan pumapasa sa trend gate ang ~48% -> ~6-7 trade. Mas mababa ito sa minimum na ~30 trade na kailangan ng strategy sa options para maihiwalay ang edge ng pag-aani ng premium sa ingay, at hindi nito mapupunan ang walk-forward na may 3 window o holdout na 15 araw (maglalaman ang bawat window ng 1-2 istruktura). Direkta itong sinasabi ng developer: “Hindi sapat ang sample na 7 trade para sa makabuluhang walk-forward o holdout ... ituring ang kalalabasang resulta bilang smoke test sa halip na ebidensiya ng matibay na edge.” Mas malala, hindi man lang maaasahang smoke test ang sandbox ng Layer-3 — data_days=5, metrics_reliable=false, sharpe_note='Hindi maaasahan: 5 lang ang araw-araw na returns', at nagkakasalungatan ang mga bilang bawat trade (avg_trade_return_pct -0.71% NEGATIVE samantalang positibo ang avg_trade_pnl_usd +184 at total_return; 10 trade na may average na hawak na 6d22h sa nasukat na 5-araw na window). Hindi mapagkakatiwalaan ang mga iniulat na sukatan para sa anumang konklusyon, at mauubos ang oras sa buong backtest + 3-phase optimization kahit hindi masusukat ang sample. - Paglihis sa pagpili ng strike mula sa hypothesis na DISCLOSED. Tinutukoy ng hypothesis ang short put na ~0.20-delta at wing na ~0.08-delta; pumipili ang code ng strike ayon sa MONEYNESS (5% / 10% OTM), na sa vol na ~70 ng ETH ay pumapatak sa ~-0.28 / -0.12 delta. Inilalahad ito ng developer at makatwiran ang paliwanag: lampas na sa lalim kung saan maaasahang may candle ang mga kontrata ang lingguhang wing na 15%-OTM, at kapag hindi nalutas ang wing, magiging hubad na short ang spread na may takdang panganib. Pinananatili ng istrukturang 5/10 ang parehong bull-put-spread na ayos, na may TIGHTER na hangganan sa panganib (lapad na 5%) sa mga strike na aktuwal na naititinda. Makatwiran itong paglihis na nagpapababa ng panganib, hindi pagpapalit ng mekanismo — buo pa rin ang pangunahing edge (pag-ani sa mayamang put skew sa loob ng istrukturang may takdang panganib at may trend gate) — kaya babala ito, hindi hadlang.

Dahilan ng Pag-abandona

istruktura ng options sa Deribit na may takdang panganib na VRP at negatibong edge kada notional, sa sample na may iisang regime na likas na hindi masusukat — hindi sulit ang 2 oras ng optimization. Kaakit-akit ang headline (Sharpe 6.87, PF 2.36, +2.17% return, win 50%) pero avg_trade_return_pct ay NEGATIVE sa -0.80% dahil sinusukat ang return kada trade batay sa notional ng wing na may takdang panganib; batay sa aral noon (BTC iron-condor, ETH bull-put na mga kapatid na estratehiya ay parehong tinalikuran dahil……Magpakita ng higit paMagpakita ng mas kaunti

istruktura ng options sa Deribit na may takdang panganib na VRP at negatibong edge kada notional, sa sample na may iisang regime na likas na hindi masusukat — hindi sulit ang 2 oras ng optimization. Kaakit-akit ang headline (Sharpe 6.87, PF 2.36, +2.17% return, win 50%) pero avg_trade_return_pct ay NEGATIVE sa -0.80% dahil sinusukat ang return kada trade batay sa notional ng wing na may takdang panganib; batay sa aral noon (BTC iron-condor, ETH bull-put na mga kapatid na estratehiya ay parehong tinalikuran dahil sa eksaktong signature na ito), likas sa defined-risk credit spread ang kombinasyong positibo ang Sharpe/PF pero negatibo kada notional at hindi nito maaabot ang minimum na viability, kaya hindi dapat maging dahilan ng optimize ang Sharpe. Hindi rin ito masusukat: umiiral lamang ang mga option leg mula ~2026-06 hanggang 2026-09 (data_days 57), kaya kahit may 2019-2026 perp clock, humigit-kumulang 3 buwan / 16 trade / effective_daily_obs 8 lang ang epektibong kasaysayan ng options; itinatakda ng engine ang metrics_reliable=FALSE, at ang Sharpe 6.87 (CI [6.54, 7.42]) ay artifact ng maliit na sample: 8 araw na positibo ang theta-decay sa iisang uptrend noong mid-2026, kung kailan walang sample mula sa crash regime na sinasalamin ng skew sa presyo. Sapilitan ang 90-araw na window dahil sa timeout habang naglo-load ang catalog kada instrumento ng engine, isang limitasyon sa imprastraktura na isiniwalat ng developer at hindi malulutas ng pag-ulit sa strategy code — kaya hindi mapupunan ang walk-forward at holdout. Pattern ng kabiguan: fee_edge/no_edge options sa Deribit na may takdang panganib na VRP (negatibo kada notional) + sample ng options na may iisang regime na likas na hindi masusukat.

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.