Přeskočit na obsah
Všechny strategie

Strategie

ETH Deribit týdenní put-credit spread — sklizeň prémie za riziko volatility + poklesového skew (opce s definovaným rizikem, podmíněné skewem, 3 parametrů)

Výsledek: Zrušeno

EthDeribitWeeklyPutCreditSpreadSkewVrp

ETH Deribit týdenní put-credit spread — sklizeň prémie za riziko volatility + poklesového skew (opce s definovaným rizikem, podmíněné skewem, 3 parametrů)

Hypotéza

DEFINED-RISK, single-venue opční strategie na DERIBIT ETH týdenních expiracích, která prodává trvale předraženou downside část krypto vol povrchu. Jednou za týdenní cyklus (front expirace ~5-7 DTE), a ONLY, když je downside pojištění prokazatelně drahé (25-delta put IV bohatší než ATM IV o skew marži AND ATM IV nad klouzavou realizovanou volatilitou), otevírá PUT CREDIT SPREAD: SELL jeden ~25-delta put a BUY jeden ~10-delta put stejné expirace. Max ztráta je zastropována na (šířka striků − čistý kredit), takže……Zobrazit víceZobrazit méně

DEFINED-RISK, single-venue opční strategie na DERIBIT ETH týdenních expiracích, která prodává trvale předraženou downside část krypto vol povrchu. Jednou za týdenní cyklus (front expirace ~5-7 DTE), a ONLY, když je downside pojištění prokazatelně drahé (25-delta put IV bohatší než ATM IV o skew marži AND ATM IV nad klouzavou realizovanou volatilitou), otevírá PUT CREDIT SPREAD: SELL jeden ~25-delta put a BUY jeden ~10-delta put stejné expirace. Max ztráta je zastropována na (šířka striků − čistý kredit), takže účet nemůže být zlikvidován ocasním pohybem — což přímo řeší největší obavu risk-review u short-vol strategií. Tím se záměrně zaplňuje jediná největší mezera v portfoliu factory: opce jsou 4.7% knihy vs kvóta ≥15%, s v podstatě nulovým předchozím pokrytím. Je záměrně odlišná od prostého krátkého strangle — jiný podklad (ETH), jiná struktura (vertikál s definovaným rizikem, nikoli nahá oboustranná), a jiný signál (bohatost put-SKEW + VRP, nikoli surový IV/RV). Pouze 3 laditelných parametrů, aby odolala overfittingu, který zabil 259 předchozích hypotéz. NOT funding-carry (L33), NOT momentum/trend-confluence port (vyčerpaný), NOT cenový reversal/fade — zdrojem P&L je strukturální pojistná prémie plus krypto put-skew prémie, nikoli směrová prognóza ceny.

Vrstva-3 'No trades produced / 0 evaluated bars' měla dvě konkrétní příčiny, a ani jednou nebyl vstupní práh (zpětná vazba správně uvádí, že prahy se nemají uvolňovat). Za prvé, řádek '0 evaluated bars' je pro tuto rodinu falešná stopa: RollingOptionsStrategy.on_bar plně přepisuje FactoryStrategy.on_bar a nikdy nedosáhne _process_primary, takže bars_seen je 0 pro každou rolling-options strategii včetně těch, které obchodují normálně — ověřil jsem to čtením rolling_options_template.py a base_template.py, místo……Zobrazit víceZobrazit méně

Vrstva-3 'No trades produced / 0 evaluated bars' měla dvě konkrétní příčiny, a ani jednou nebyl vstupní práh (zpětná vazba správně uvádí, že prahy se nemají uvolňovat). Za prvé, řádek '0 evaluated bars' je pro tuto rodinu falešná stopa: RollingOptionsStrategy.on_bar plně přepisuje FactoryStrategy.on_bar a nikdy nedosáhne _process_primary, takže bars_seen je 0 pro každou rolling-options strategii včetně těch, které obchodují normálně — ověřil jsem to čtením rolling_options_template.py a base_template.py, místo abych přidal volání super().on_bar(), které by směrovalo primární bary do bariéry zarovnání cross-leg v bázi, kde by přerušované opční legy (stejný časový rámec 1-DAY jako primární) navždy zablokovaly zpracování. Za druhé, skutečné blokátory: (a) ANNUALIZATION MISMATCH — zděděná nastavení realizované volatility byla hodinová (rv_window=168, bars_per_year=8760), zatímco běh je na barech 1-DAY, takže denní logaritmické výnosy byly anualizovány pomocí sqrt(8760) místo sqrt(365), což nafouklo RV faktorem 4.90x (normální páska 3%/den ETH ukazuje 281% místo 57%); brána VRP iv >= rv*(1+margin) pak porovnávala ~60% IV proti ~281% RV a byla False v každém cyklu. Opraveno odvozením bars_per_year z nakonfigurovaného typu baru a vyjádřením okna RV v kalendářních dnech, takže se odchylka nemůže opakovat na žádném intervalu (ověřeno: 1-DAY -> 365, 1-HOUR -> 8760, 4-HOUR -> 2190, a brána nyní prochází na normální pásce). (b) ROLE MAPPING — zděděné lešení klíčovalo legy podle druhu opce a vyžadovalo jeden call plus jeden put (strangle), takže dvě P legy put spreadu kolidovaly na jednom klíči, druhý byl odmítnut jako duplicitní, kontrola připravenosti vyžadovala neexistující call leg a každý leg byl odeslán SELL (dva nahé krátké puty, nikoli vertikál s definovaným rizikem). Legy jsou nyní mapovány podle striku na short/long, short se prodává a long kupuje při stejném cachovaném počtu kontraktů, atomicky. Také jsem odstranil zděděný stop na násobek prémie: dlouhé křídlo již omezuje ztrátu, takže stop na zastropované struktuře by pouze realizoval omezenou ztrátu předčasně a přidal poplatky. Aritmetika sizingu ověřena end-to-end (spread široký 150, kredit $22, max ztráta $128 -> 15 kontraktů = 1.9% riskovaného kapitálu). Vše, co prošlo vrstvami 1-2, jsem ponechal nedotčené: čisté importy, volnou funkci _bar_ts na úrovni modulu, která opravuje TypeError z rebindingu staticmethod ve vrstvě-2, parser DVOL, inverzi IV podle Black-Scholese a kontinuální calculate_signal. lookback_days je 49 (7 cyklů, 14 opčních legů), protože katalogový loader pro každý typ baru stojí ~10s na leg a větší řetězec riskuje wall clock vrstvy-3; to omezuje počáteční vzorek a je to vlastnost loaderu, nikoli vlastnost hypotézy.

verification_loop: Ověření selhalo (vrstva 4 — recenze QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct je -45.45% na 2 obchodech s metrics_reliable=false a data_days=1 — nejedná se o výkonnostní verdikt (výnos na nominál není u opčních legů smysluplný, kde nominál prémie << nominál křídla, a sandbox je 1-denní smoke test). Přenáší se pouze jako kontext: pokud bude níže uvedený problém loaderu/lookbacku vyřešen a naběhne skutečný vzorek týdenních opcí, analytik by měl znovu zkontrolovat, zda……Zobrazit víceZobrazit méně

verification_loop: Ověření selhalo (vrstva 4 — recenze QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct je -45.45% na 2 obchodech s metrics_reliable=false a data_days=1 — nejedná se o výkonnostní verdikt (výnos na nominál není u opčních legů smysluplný, kde nominál prémie << nominál křídla, a sandbox je 1-denní smoke test). Přenáší se pouze jako kontext: pokud bude níže uvedený problém loaderu/lookbacku vyřešen a naběhne skutečný vzorek týdenních opcí, analytik by měl znovu zkontrolovat, zda vybraný čistý kredit pokryje Deribit 0.03%/strana round-trip napříč 4 legy (open+close x short+long) plus případný skluz z přiřazení, protože hrana put-credit-spreadu na nominál je strukturálně tenká. - [critical] rolling_options.lookback_days=49 omezuje ENTIRE rozlišitelný opční řetězec backtestu ANY na ~49 dní končících 'now' = ~7 týdenních cyklů / ~14 opčních legů, bez ohledu na 6.5-letou historii opcí ETH na Deribitu. Strategie je po zbytek okna flat a obchoduje pouze na konci. Sandbox to empiricky potvrzuje: bars_processed=2400 (~6.5 let), přesto data_days=1 a total_trades=2 (trades_count=4). Hranu variance-risk-premium + skew nelze odlišit od šumu na ~7 cyklech / ~14 lezích — hluboko pod ~30-100 obchody potřebnými pro měřitelný opční vzorek. Jde o přesně tu past nákladů loaderu vs. velikosti vzorku-22, která způsobila, že téměř identický BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp (stejná venue, stejné lookback_days=49) byl před dny opuštěn ve vrstvě 4. Vlastní zdůvodnění vývojáře limit přiznává ('lookback_days je 49 (7 cyklů, 14 opčních legů), protože katalogový loader pro každý typ baru stojí ~10s na leg a větší řetězec riskuje wall clock vrstvy-3'). V této konfiguraci strategie nikdy nemůže vytvořit měřitelný plný backtest. — oprava: Nepouštět dál na ~7 cyklech. Před opětovným předložením vyřešte past nákladů loaderu vs. velikosti vzorku-22: dávkujte/paralelizujte nebo cachujte načítání catalog.bars() pro jednotlivé legy napříč bary, aby lookback_days dosáhl mnoha let týdenních cyklů (~200-300 cyklů) bez porušení wall-clock sandboxu, poté nastavte lookback_days tak, aby pokrývalo celé testovací okno. Pokud loader skutečně nedokáže v časovém rozpočtu rozlišit měřitelnou historii týdenních opcí, není tato rodina v současném harnessu na týdenní kadenci testovatelná a měla by být přepracována (např. méně, delších měsíčních cyklů napříč celým rozpětím), spíše

Implementace

Týdenní put-credit spread s definovaným rizikem na Deribitu ETH. V každém týdenním expiračním cyklu (přibližně 7 DTE) framework rolling options vybírá dvě put nohy (přibližně 5% a 10% OTM); strategie je podle realizační ceny mapuje na krátkou (vyšší realizační cena, delta přibližně 25) a dlouhou (nižší realizační cena, delta přibližně 10) nohu, SELLS krátkou a BUYS dlouhou při stejném počtu kontraktů 1:1 a drží je až do rezervy před rolováním, před evropským peněžním vypořádáním. Vstup je podmíněn dvěma testy……Zobrazit víceZobrazit méně

Týdenní put-credit spread s definovaným rizikem na Deribitu ETH. V každém týdenním expiračním cyklu (přibližně 7 DTE) framework rolling options vybírá dvě put nohy (přibližně 5% a 10% OTM); strategie je podle realizační ceny mapuje na krátkou (vyšší realizační cena, delta přibližně 25) a dlouhou (nižší realizační cena, delta přibližně 10) nohu, SELLS krátkou a BUYS dlouhou při stejném počtu kontraktů 1:1 a drží je až do rezervy před rolováním, před evropským peněžním vypořádáním. Vstup je podmíněn dvěma testy bohatosti měřenými během vstupního okna cyklu: poklesový skew (put IV krátké nohy >= DVOL Deribitu ATM IV x (1 + skew_margin)) a prémie za riziko variance (ATM IV >= realizovaná volatilita za posledních 14 dní x (1 + vrp_margin)). IV jednotlivých nohou se vypočítává inverzí z prémiové svíčky každé nohy USD pomocí Black-Scholesova modelu. Maximální ztráta na spread je (šířka realizačních cen − čistý kredit), pevně daná při vstupu, a podle ní se přesně určuje velikost pozice: kontrakty = floor(vlastní kapitál x risk_frac / max_loss), přičemž počet je omezen tak, aby hrubá šířka spreadu zůstala v rámci 50% vlastního kapitálu, a nejnižší možný počet je minimum 1 kontraktů ETH na Deribitu. 3 laditelné parametry (skew_margin, vrp_margin, risk_frac); páka 1.0; žádné obchodování perpetualů ani podkladového aktiva.

Výsledky ověření

Ověření selhalo (vrstva 4 — kontrola QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct je -45.45% u 2 obchodů s metrics_reliable=false a data_days=1 — nejde o verdikt o výkonnosti (výnos vztažený k nominální hodnotě nemá u opčních nohou smysl, protože nominální hodnota prémie << nominální hodnota křídla, a sandbox je zátěžový test na 1 dní). Tento údaj se předává dál pouze jako kontext: pokud se níže uvedený problém s loaderem/lookbackem vyřeší a nashromáždí se skutečný vzorek týdenních opcí,……Zobrazit víceZobrazit méně

Ověření selhalo (vrstva 4 — kontrola QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct je -45.45% u 2 obchodů s metrics_reliable=false a data_days=1 — nejde o verdikt o výkonnosti (výnos vztažený k nominální hodnotě nemá u opčních nohou smysl, protože nominální hodnota prémie << nominální hodnota křídla, a sandbox je zátěžový test na 1 dní). Tento údaj se předává dál pouze jako kontext: pokud se níže uvedený problém s loaderem/lookbackem vyřeší a nashromáždí se skutečný vzorek týdenních opcí, analytik by měl znovu ověřit, zda vybraný čistý kredit pokrývá round-trip náklady Deribitu 0.03%/strana napříč 4 opčními nohami (otevření+zavření x krátká+dlouhá) plus případný skluz při přiřazení, protože edge put-credit spreadu vztažený k nominální hodnotě je strukturálně nízký. - [kritické] rolling_options.lookback_days=49 omezuje ENTIRE dohledatelný opční řetězec backtestu ANY na přibližně 49 dní končících „teď“, tedy přibližně 7 týdenních cyklů / 14 opčních noh, bez ohledu na 6.5-letou historii opcí Deribitu ETH. Po zbytek okna strategie zůstává bez otevřené pozice a obchoduje pouze na jeho konci. Sandbox to empiricky potvrzuje: bars_processed=2400 (přibližně 6.5 let), přesto data_days=1 a total_trades=2 (trades_count=4). Edge založený na rizikové prémii variance a skew nelze odlišit od šumu na přibližně 7 cyklech / 14 nohách — což je hluboko pod přibližně 30-100 obchody potřebnými pro měřitelný opční vzorek. Právě tato závislost nákladů loaderu na velikosti vzorku-22 vedla před 4 dny k opuštění téměř totožné strategie BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp (stejné venue, stejné lookback_days=49). Vlastní zdůvodnění vývojáře tento limit potvrzuje („lookback_days je 49 (7 cyklů, 14 opčních noh), protože načtení katalogu podle typu baru stojí přibližně 10s na nohu a větší řetězec může překročit časový limit vrstvy-3“). V současném nastavení strategie nikdy nemůže vytvořit měřitelný úplný backtest. — oprava: Nepokračujte s přibližně 7 cykly. Před opětovným odesláním vyřešte závislost nákladů loaderu na velikosti vzorku-22: načítání catalog.bars() pro jednotlivé nohy dávkujte/paralelizujte nebo ukládejte do mezipaměti napříč bary, aby lookback_days mohl dosáhnout mnoha let týdenních cyklů (přibližně 200-300 cyklů), aniž by překročil časový limit sandboxu, a poté nastavte lookback_days tak, aby pokrýval celé testovací okno. Pokud loader skutečně nedokáže v časovém limitu zpřístupnit měřitelnou historii týdenních opcí, tuto rodinu nelze v současném testovacím prostředí testovat s týdenní frekvencí a měla by být přepracována (například na méně časté, delší měsíční cykly přes celé období) spíše

Historie iterací

Ověření selhalo (vrstva 2 — syntetické scénáře): Použité parametry: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'atm_offset', 'skew_margin', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'long_put_offset', 'rolling_options', 'short_put_offset', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] Zkontrolujte, zda __init__ nastavuje všechny atributy z self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts()……Zobrazit víceZobrazit méně

Ověření selhalo (vrstva 2 — syntetické scénáře): Použité parametry: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'atm_offset', 'skew_margin', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'long_put_offset', 'rolling_options', 'short_put_offset', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] Zkontrolujte, zda __init__ nastavuje všechny atributy z self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000)

Ověření selhalo (vrstva 2 — syntetické scénáře): Použité parametry: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'stop_mult', 'put_offset', 'call_offset', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'max_delta_ratio', 'rolling_options', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] Zkontrolujte, zda __init__ nastavuje všechny atributy z self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() přijímá 1……Zobrazit víceZobrazit méně

Ověření selhalo (vrstva 2 — syntetické scénáře): Použité parametry: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'stop_mult', 'put_offset', 'call_offset', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'max_delta_ratio', 'rolling_options', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] Zkontrolujte, zda __init__ nastavuje všechny atributy z self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() přijímá 1 poziční argument, ale bylo předáno 2 (časové razítko baru: 1735691040000)

Ověření selhalo (vrstva 3 — sandbox backtest): Nevznikly žádné obchody Použitý typ baru: ETH-PERPETUAL.DERIBIT-1-DAY-LAST-EXTERNAL, Zpracováno barů: 2400 Diagnostika: calculate_signal() nebylo nikdy vyhodnoceno (0 vyhodnocených barů) -> žádný primární bar nedosáhl signálové cesty základní šablony -> pokud přepisujete on_bar(), volejte super().on_bar(bar); zkontrolujte, zda bar_type odpovídá datům instrumentu. Nezmírňujte NOT vstupní prahové hodnoty — vstupní logika se nikdy nespustila. Zajistěte, aby vaše strategie generovala obchody s danými daty a parametry.

Ověření selhalo (vrstva 4 — recenze QA) [class=hypothesis_mismatch]: - [edge_concern] Není základem verdiktu — blokací je věrnost, nikoli výkonnost. (Pro záznam je sandbox rovněž záporný: -2.9%, PF 0.13, win 0.125, ocas -$2,149 na údajně zastavené knize — ale to je výsledek nesprávné strategie.) - WHOLE-STRATEGY SWAP / MISLINK. Hypotéza je ETH Deribit týdenní PUT CREDIT SPREAD (prodej ~25d putu, BUY ~10d putu — vertikál s definovaným rizikem). Kód je BTC Deribit týdenní delta-neutrální SHORT STRANGLE (název……Zobrazit víceZobrazit méně

Ověření selhalo (vrstva 4 — recenze QA) [class=hypothesis_mismatch]: - [edge_concern] Není základem verdiktu — blokací je věrnost, nikoli výkonnost. (Pro záznam je sandbox rovněž záporný: -2.9%, PF 0.13, win 0.125, ocas -$2,149 na údajně zastavené knize — ale to je výsledek nesprávné strategie.) - WHOLE-STRATEGY SWAP / MISLINK. Hypotéza je ETH Deribit týdenní PUT CREDIT SPREAD (prodej ~25d putu, BUY ~10d putu — vertikál s definovaným rizikem). Kód je BTC Deribit týdenní delta-neutrální SHORT STRANGLE (název třídy, docstring, zdůvodnění iter-3 a každý mechanismus jsou strangle). Instrument AND i mechanismus se liší → chybně vygenerovaný/chybně prolinkovaný artefakt, nikoli tato hypotéza. Znovu vygenerujte/prolinkujte správný ETH put-credit-spread. - Špatný instrument: hypotéza je ETH, ale instrument_id a bar_type jsou BTC-PERPETUAL.DERIBIT a rolling_options.underlying je 'BTC'. Nikde žádný ETH. - Špatná struktura / bez definovaného rizika: hypotéza omezuje max ztrátu křídlem PURCHASED ~10d putu. Kód odesílá TWO SELL legy bez NO nakoupeného křídla; ocas je omezen pouze měkkým stopem na prémium na příštím baru (sandbox largest_loss -$2,149 vs avg_win ~$214 ukazuje, že ocas neomezuje) — přesně nezastropovaný profil, kterému se hypotéza vyhýbá. - Chybí jádrová hrana: signálem hypotézy je bohatost downside-SKEW (25d-put IV vs ATM IV) plus IV>RV. Kód nepočítá žádný skew — pouze mean-strangle IV/RV VRP. Sklizeň put-skew, která tuto hypotézu odlišuje, není implementována.

Důvod zavržení

verification_loop: Ověření selhalo (vrstva 4 — recenze QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct je -45.45% na 2 obchodech s metrics_reliable=false a data_days=1 — nejedná se o výkonnostní verdikt (výnos na nominál není u opčních legů smysluplný, kde nominál prémie << nominál křídla, a sandbox je 1-denní smoke test). Přenáší se pouze jako kontext: pokud bude níže uvedený problém loaderu/lookbacku vyřešen a naběhne skutečný vzorek týdenních opcí, analytik by měl znovu zkontrolovat, zda……Zobrazit víceZobrazit méně

verification_loop: Ověření selhalo (vrstva 4 — recenze QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct je -45.45% na 2 obchodech s metrics_reliable=false a data_days=1 — nejedná se o výkonnostní verdikt (výnos na nominál není u opčních legů smysluplný, kde nominál prémie << nominál křídla, a sandbox je 1-denní smoke test). Přenáší se pouze jako kontext: pokud bude níže uvedený problém loaderu/lookbacku vyřešen a naběhne skutečný vzorek týdenních opcí, analytik by měl znovu zkontrolovat, zda vybraný čistý kredit pokryje Deribit 0.03%/strana round-trip napříč 4 legy (open+close x short+long) plus případný skluz z přiřazení, protože hrana put-credit-spreadu na nominál je strukturálně tenká. - [critical] rolling_options.lookback_days=49 omezuje ENTIRE rozlišitelný opční řetězec backtestu ANY na ~49 dní končících 'now' = ~7 týdenních cyklů / ~14 opčních legů, bez ohledu na 6.5-letou historii opcí ETH na Deribitu. Strategie je po zbytek okna flat a obchoduje pouze na konci. Sandbox to empiricky potvrzuje: bars_processed=2400 (~6.5 let), přesto data_days=1 a total_trades=2 (trades_count=4). Hranu variance-risk-premium + skew nelze odlišit od šumu na ~7 cyklech / ~14 lezích — hluboko pod ~30-100 obchody potřebnými pro měřitelný opční vzorek. Jde o přesně tu past nákladů loaderu vs. velikosti vzorku-22, která způsobila, že téměř identický BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp (stejná venue, stejné lookback_days=49) byl před dny opuštěn ve vrstvě 4. Vlastní zdůvodnění vývojáře limit přiznává ('lookback_days je 49 (7 cyklů, 14 opčních legů), protože katalogový loader pro každý typ baru stojí ~10s na leg a větší řetězec riskuje wall clock vrstvy-3'). V této konfiguraci strategie nikdy nemůže vytvořit měřitelný plný backtest. — oprava: Nepouštět dál na ~7 cyklech. Před opětovným předložením vyřešte past nákladů loaderu vs. velikosti vzorku-22: dávkujte/paralelizujte nebo cachujte načítání catalog.bars() pro jednotlivé legy napříč bary, aby lookback_days dosáhl mnoha let týdenních cyklů (~200-300 cyklů) bez porušení wall-clock sandboxu, poté nastavte lookback_days tak, aby pokrývalo celé testovací okno. Pokud loader skutečně nedokáže v časovém rozpočtu rozlišit měřitelnou historii týdenních opcí, není tato rodina v současném harnessu na týdenní kadenci testovatelná a měla by být přepracována (např. méně, delších měsíčních cyklů napříč celým rozpětím), spíše

Stratmill je nástroj pro výzkum a paper trading, nikoli finanční poradenství ani broker. Výsledky backtestů a paper tradingu jsou hypotetické. Obchodování je spojeno s rizikem ztráty.