Stratejiler
ETH Deribit Haftalık Put-Credit-Spread — Volatilite-Risk-Primi + Downside-Skew Hasadı (Tanımlı Riskli Opsiyonlar, Skew-Gated, 3-Parametre)
Sonuç: Terk Edildi
EthDeribitWeeklyPutCreditSpreadSkewVrp
ETH Deribit Haftalık Put-Credit-Spread — Volatilite-Risk-Primi + Downside-Skew Hasadı (Tanımlı Riskli Opsiyonlar, Skew-Gated, 3-Parametre)
Hipotez
Kripto vol yüzeyinin kalıcı olarak aşırı fiyatlanmış downside kısmını satan, DERIBIT ETH haftalık vadeleri üzerinde DEFINED-RISK, tek venue'lu bir opsiyon stratejisi. Haftalık döngü başına bir kez (ön vade ~5-7 DTE) ve downside sigortasının kanıtlanabilir şekilde pahalı olduğu durumlarda ONLY (25-delta put IV, trailing gerçekleşen volün üzerindeki AND ATM IV skew marjı ile ATM IV'den daha zengin), aynı vadenin bir ~25-delta put'unu SELL ve bir ~10-delta put'unu BUY şeklinde bir PUT CREDIT SPREAD açar. Maksimum……Daha fazla gösterDaha az göster
Kripto vol yüzeyinin kalıcı olarak aşırı fiyatlanmış downside kısmını satan, DERIBIT ETH haftalık vadeleri üzerinde DEFINED-RISK, tek venue'lu bir opsiyon stratejisi. Haftalık döngü başına bir kez (ön vade ~5-7 DTE) ve downside sigortasının kanıtlanabilir şekilde pahalı olduğu durumlarda ONLY (25-delta put IV, trailing gerçekleşen volün üzerindeki AND ATM IV skew marjı ile ATM IV'den daha zengin), aynı vadenin bir ~25-delta put'unu SELL ve bir ~10-delta put'unu BUY şeklinde bir PUT CREDIT SPREAD açar. Maksimum kayıp (strike genişliği − net kredi) ile sınırlıdır, bu nedenle hesap bir kuyruk hareketiyle likide edilemez — short-vol stratejileriyle ilgili en büyük risk-inceleme endişesini doğrudan giderir. Bu, fabrikanın en büyük tek portföy boşluğunu bilinçli olarak doldurur: ≥15% kota karşısında opsiyonlar defterin 4.7%'sidir ve esasen sıfır öncül kapsama sahiptir. Düz bir short strangle'dan bilinçli olarak farklıdır — farklı underlying (ETH), farklı yapı (tanımlı riskli vertical, çıplak iki yönlü değil) ve farklı sinyal (ham IV/RV değil, put-SKEW zenginliği + VRP). Yalnızca 3 ayarlanabilir parametre, 259 önceki hipotezi öldüren overfitting'e direnmek için. NOT funding-carry (L33), NOT bir momentum/trend-confluence portu (tükenmiş), NOT bir fiyat reversal/fade'i — P&L kaynağı yönlü bir fiyat tahmini değil, yapısal bir sigorta primi artı kripto put-skew primidir.
Layer-3 “İşlem üretilmedi / 0 bar değerlendirildi” sorununun iki somut nedeni vardı; ikisi de giriş eşiği değildi (geri bildirim, eşiklerin gevşetilmemesi gerektiğini doğru biçimde belirtiyor). İlk olarak, “0 bar değerlendirildi” satırı bu strateji ailesi için yanıltıcı: RollingOptionsStrategy.on_bar, FactoryStrategy.on_bar metodunu tamamen geçersiz kılıyor ve _process_primary metoduna hiç ulaşmıyor; dolayısıyla bars_seen, normalde işlem yapanlar da dahil her rolling-options stratejisi için 0 — bunu,……Daha fazla gösterDaha az göster
Layer-3 “İşlem üretilmedi / 0 bar değerlendirildi” sorununun iki somut nedeni vardı; ikisi de giriş eşiği değildi (geri bildirim, eşiklerin gevşetilmemesi gerektiğini doğru biçimde belirtiyor). İlk olarak, “0 bar değerlendirildi” satırı bu strateji ailesi için yanıltıcı: RollingOptionsStrategy.on_bar, FactoryStrategy.on_bar metodunu tamamen geçersiz kılıyor ve _process_primary metoduna hiç ulaşmıyor; dolayısıyla bars_seen, normalde işlem yapanlar da dahil her rolling-options stratejisi için 0 — bunu, super().on_bar() çağrısı ekleyip ana barları temel sınıfın bacaklar arası hizalama engeline yönlendirmek yerine rolling_options_template.py ve base_template.py dosyalarını okuyarak doğruladım; aynı 1-DAY zaman dilimindeki aralıklı opsiyon bacakları işlemeyi sonsuza dek engellerdi. İkinci olarak, gerçek engeller şunlardı: (a) ANNUALIZATION MISMATCH — devralınan gerçekleşen volatilite ayarları saatlikti (rv_window=168, bars_per_year=8760), oysa çalışma 1-DAY barları üzerinde; bu nedenle günlük log getirileri sqrt(8760) yerine sqrt(365) ile yıllıklandırılarak RV değeri 4.90x oranında şişirildi (normal bir 3%/günlük ETH akışı 281% yerine 57% gösterir); ardından VRP kapısı iv >= rv*(1+marj), her döngüde False olan ~60% IV ile ~281% RV değerlerini karşılaştırdı. Bar türünü yapılandırmadan bars_per_year türetip RV penceresini takvim günü cinsinden ifade ederek düzeltildi; böylece bu uyumsuzluk hiçbir aralıkta tekrarlanamaz (doğrulandı: 1-DAY -> 365, 1-HOUR -> 8760, 4-HOUR -> 2190; normal bir akışta kapı artık geçiyor). (b) ROLE MAPPING — devralınan iskelet bacakları opsiyon türüne göre anahtarlıyor ve bir call ile bir put (strangle) gerektiriyordu; bu yüzden put spread'in iki P bacağı aynı anahtarda çakıştı, ikincisi yinelenen olarak reddedildi, hazır olma kontrolü var olmayan bir call bacağı istedi ve her bacak SELL olarak gönderildi (tanımlı riskli dikey spread yerine iki açık kısa put). Bacaklar artık kullanım fiyatına göre kısa/uzun olarak eşleştiriliyor; kısa bacak satılıyor, uzun bacak aynı önbelleğe alınmış kontrat sayısıyla alınıyor ve bu işlem atomik yapılıyor. Ayrıca devralınan prim-çarpanı stopunu kaldırdım: uzun kanat zararı zaten sınırlar; sınırlı riskli yapıda stop, yalnızca sınırlı bir zararı erkenden gerçekleştirip komisyon ekler. Pozisyon büyüklüğü hesabı baştan sona doğrulandı (150 genişliğinde spread, $22 kredi, $128 azami zarar -> 15 kontrat = öz sermayenin 1.9% kadarı riskte). Layer 1-2 aşamalarını geçen her şeyi korudum: temiz import'lar, Layer-2 staticmethod yeniden bağlama TypeError'ını düzelten modül düzeyindeki _bar_ts serbest fonksiyonu, DVOL ayrıştırıcısı, Black-Scholes IV ters çözümü ve sürekli calculate_signal. lookback_days, 49 (7 döngü, 14 opsiyon bacağı); çünkü bar türü başına katalog yükleyicisi bacak başına ~10s sürüyor ve daha büyük bir zincir Layer-3 zaman aşımı riskini doğuruyor. Bu, ilk örneklemi sınırlar; yükleyicinin özelliğidir, hipotezin değil.
verification_loop: Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct, 2 işlemde -45.45% olup metrics_reliable=false ve data_days=1 — bu bir performans hükmü değildir (nominal başına getiri opsiyon bacakları için anlamlı değildir, çünkü prim nominali << kanat nominalidir ve sandbox 1 günlük bir duman testidir). Yalnızca bağlam olarak aktarılmaktadır: aşağıdaki yükleyici/geriye bakış sorunu çözülür ve gerçek bir haftalık opsiyon örneği birikirse,……Daha fazla gösterDaha az göster
verification_loop: Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct, 2 işlemde -45.45% olup metrics_reliable=false ve data_days=1 — bu bir performans hükmü değildir (nominal başına getiri opsiyon bacakları için anlamlı değildir, çünkü prim nominali << kanat nominalidir ve sandbox 1 günlük bir duman testidir). Yalnızca bağlam olarak aktarılmaktadır: aşağıdaki yükleyici/geriye bakış sorunu çözülür ve gerçek bir haftalık opsiyon örneği birikirse, analist tahsil edilen net kredinin Deribit'in 4 bacak (açılış+kapanış x short+long) üzerindeki 0.03%/taraf round-trip maliyetini artı herhangi bir atama kaymasını karşılayıp karşılamadığını yeniden kontrol etmelidir, çünkü put-credit-spread nominal başına edge yapısal olarak incedir. - [critical] rolling_options.lookback_days=49, Deribit'in 6.5 yıllık ETH opsiyon geçmişinden bağımsız olarak ANY backtestinin ENTIRE çözümlenebilir opsiyon zincirini 'şimdi' ile biten ~49 gün = ~7 haftalık döngü / ~14 opsiyon bacağı ile sınırlar. Strateji pencerenin geri kalanında flat kalır ve yalnızca kuyrukta işlem yapar. Sandbox bunu ampirik olarak doğrular: bars_processed=2400 (~6.5 yıl) olmasına rağmen data_days=1 ve total_trades=2 (trades_count=4). Bir varyans-risk-primi + skew edge'i ~7 döngü / ~14 bacak üzerinde gürültüden ayırt edilemez — ölçülebilir bir opsiyon örneği için gereken ~30-100 işlemin çok altındadır. Bu, neredeyse aynı BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp'nin (aynı venue, aynı lookback_days=49) günler önce Katman 4'da terk edilmesine neden olan loader-maliyeti-vs-örneklem-büyüklüğü kısır döngüsünün-22 ta kendisidir. Geliştiricinin kendi gerekçesi de bu sınırı kabul eder ('lookback_days, 49 (7 döngü, 14 opsiyon bacağı) çünkü bar-tipi başına katalog yükleyici bacak başına ~10 sn maliyetlidir ve daha büyük bir zincir Katman-3 wall clock süresini riske atar'). Bu yapılandırmayla strateji hiçbir zaman ölçülebilir tam bir backtest üretemez. — düzeltme: ~7 döngü ile geçmeyin. Yeniden göndermeden önce loader-maliyeti vs örneklem-büyüklüğü kısır döngüsünü-22 çözün: barlar arasında bacak başına catalog.bars() yüklerini toplu/paralel hale getirin veya önbelleğe alın, böylece lookback_days sandbox wall-clock süresini aşmadan çok yıllık haftalık döngülere (~200-300 döngü) ulaşabilsin, ardından tam test penceresini kapsayacak şekilde lookback_days ayarlayın. Yükleyici zaman bütçesi içinde ölçülebilir bir haftalık opsiyon geçmişini gerçekten çözümleyemiyorsa, bu aile mevcut harness içinde haftalık frekansta test edilebilir değildir ve yeniden tasarlanmalıdır (ör. tüm döneme yayılan daha az sayıda, daha uzun vadeli aylık döngüler) yerine
Uygulama
Deribit ETH üzerinde tanımlı riskli haftalık put credit spread. Her haftalık vade döngüsünde (~7 DTE) rolling-options çerçevesi iki put bacağını (~5% ve ~10% OTM) çözer; strateji bunları strike'a göre short (daha yüksek strike, ~25-delta) ve long (daha düşük strike, ~10-delta) bacak olarak eşler, short'u SELLS ve long'u BUYS aynı 1:1 kontrat adediyle, ve Avrupa tipi nakit uzlaşma öncesi roll tamponuna kadar tutar. Giriş, döngünün giriş penceresinde ölçülen iki zenginlik testine bağlıdır: downside skew (short-put……Daha fazla gösterDaha az göster
Deribit ETH üzerinde tanımlı riskli haftalık put credit spread. Her haftalık vade döngüsünde (~7 DTE) rolling-options çerçevesi iki put bacağını (~5% ve ~10% OTM) çözer; strateji bunları strike'a göre short (daha yüksek strike, ~25-delta) ve long (daha düşük strike, ~10-delta) bacak olarak eşler, short'u SELLS ve long'u BUYS aynı 1:1 kontrat adediyle, ve Avrupa tipi nakit uzlaşma öncesi roll tamponuna kadar tutar. Giriş, döngünün giriş penceresinde ölçülen iki zenginlik testine bağlıdır: downside skew (short-put IV >= Deribit DVOL ATM IV x (1 + skew_margin)) ve varyans risk primi (ATM IV >= trailing 14 günlük gerçekleşen vol x (1 + vrp_margin)). Bacak IV'leri her bacağın kendi USD-prim barından Black-Scholes ile tersine çevrilir. Spread başına maksimum kayıp (strike genişliği - net kredi) olup girişte sabitlenir ve pozisyon büyüklüğü tam olarak bunu riske atar: kontratlar = floor(özkaynak x risk_frac / max_loss), brüt spread genişliği öz kaynağın 50% içinde kalacak şekilde sınırlanır ve Deribit'in 1 kontratlık ETH minimumunda tabanlanır. 3 ayarlanabilir parametre (skew_margin, vrp_margin, risk_frac); kaldıraç 1.0; perp/underlying işlem yolu yok.
Doğrulama Sonuçları
Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct, metrics_reliable=false ve data_days=1 ile 2 işlem üzerinde -45.45% — bu bir performans hükmü değildir (nominal başına getiri opsiyon bacakları için anlamlı değildir, çünkü prim nominali << kanat nominalidir ve sandbox 1 günlük bir duman testidir). Bu yalnızca bağlam olarak aktarılmaktadır: aşağıdaki yükleyici/geriye-bakış sorunu çözülür ve gerçek bir haftalık opsiyon örneği birikirse, analist……Daha fazla gösterDaha az göster
Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct, metrics_reliable=false ve data_days=1 ile 2 işlem üzerinde -45.45% — bu bir performans hükmü değildir (nominal başına getiri opsiyon bacakları için anlamlı değildir, çünkü prim nominali << kanat nominalidir ve sandbox 1 günlük bir duman testidir). Bu yalnızca bağlam olarak aktarılmaktadır: aşağıdaki yükleyici/geriye-bakış sorunu çözülür ve gerçek bir haftalık opsiyon örneği birikirse, analist toplanan net kredinin Deribit'in 0.03%/taraf gidip-geliş maliyetini 4 bacak genelinde (açılış+kapanış x kısa+uzun) artı herhangi bir atama kaymasını karşılayıp karşılamadığını yeniden kontrol etmelidir, çünkü put-kredi-spread'inin nominal başına avantajı yapısal olarak incedir. - [critical] rolling_options.lookback_days=49, ANY geriye dönük testinin çözümlenebilir ENTIRE opsiyon zincirini, Deribit'in 6.5 yıllık ETH opsiyon geçmişinden bağımsız olarak, 'şimdi' ile biten ~49 günle = ~7 haftalık döngü / ~14 opsiyon bacağı ile sınırlar. Strateji pencerenin geri kalanında pozisyonsuz kalır ve yalnızca kuyrukta işlem yapar. Sandbox bunu ampirik olarak doğrular: bars_processed=2400 (~6.5 yıl) olmasına rağmen data_days=1 ve total_trades=2 (trades_count=4). Varyans-risk-primi + çarpıklık avantajı, ~7 döngü / ~14 bacak üzerinde gürültüden ayırt edilemez — ölçülebilir bir opsiyon örneği için gereken ~30-100 işlemin çok altındadır. Bu, neredeyse aynı BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp'nin (aynı venue, aynı lookback_days=49) Katman 4 gün önce terk edilmesine neden olan yükleyici-maliyeti-örneklem-büyüklüğü çıkmaz-22'nın ta kendisidir. Geliştiricinin kendi gerekçesi bu üst sınırı kabul eder ('lookback_days, 49'dir (7 döngü, 14 opsiyon bacağı) çünkü bar türü başına katalog yükleyici bacak başına ~10 sn maliyetlidir ve daha büyük bir zincir Katman-3 duvar saatini riske atar'). Bu yapılandırmayla strateji hiçbir zaman ölçülebilir tam bir geriye dönük test üretemez. — düzeltme: ~7 döngü ile geçmeyin. Yeniden göndermeden önce yükleyici-maliyeti-örneklem-büyüklüğü çıkmaz-22'nı çözün: bacak başına catalog.bars() yüklemelerini barlar arasında toplu/paralel hale getirin veya önbelleğe alın, böylece lookback_days sandbox duvar saatini aşmadan uzun yıllara yayılan haftalık döngülere (~200-300 döngü) ulaşabilsin, ardından tam test penceresini kapsayacak şekilde lookback_days'u ayarlayın. Yükleyici zaman bütçesi içinde gerçekten ölçülebilir bir haftalık opsiyon geçmişini çözümleyemiyorsa, bu aile mevcut harness'te haftalık frekansta test edilemez ve bunun yerine (örn. tüm döneme yayılan daha az sayıda, daha uzun vadeli aylık döngülerle) yeniden tasarlanmalıdır yerine
İterasyon Geçmişi
Doğrulama başarısız (Katman 2 — sentetik senaryolar): Kullanılan parametreler: ['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'] __init__ metodunun self.parameters.get() üzerinden tüm öznitelikleri ayarladığını kontrol edin. - steady_uptrend: TypeError:……Daha fazla gösterDaha az göster
Doğrulama başarısız (Katman 2 — sentetik senaryolar): Kullanılan parametreler: ['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'] __init__ metodunun self.parameters.get() üzerinden tüm öznitelikleri ayarladığını kontrol edin. - steady_uptrend: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000)
Doğrulama başarısız (Katman 2 — sentetik senaryolar): Kullanılan parametreler: ['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'] __init__ metodunun self.parameters.get() üzerinden tüm öznitelikleri ayarladığını kontrol edin. - steady_uptrend: TypeError:……Daha fazla gösterDaha az göster
Doğrulama başarısız (Katman 2 — sentetik senaryolar): Kullanılan parametreler: ['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'] __init__ metodunun self.parameters.get() üzerinden tüm öznitelikleri ayarladığını kontrol edin. - steady_uptrend: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() 1 konumsal argüman alıyor, ancak 2 argüman verildi (bar zaman damgası: 1735691040000)
Doğrulama başarısız oldu (Katman 3 — sandbox geriye dönük testi): Hiç işlem üretilmedi Kullanılan bar türü: ETH-PERPETUAL.DERIBIT-1-DAY-LAST-EXTERNAL, İşlenen Barlar: 2400 Tanılama: calculate_signal() hiçbir zaman değerlendirilmedi (0 değerlendirilen bar) -> birincil bar, temel şablonun sinyal yoluna ulaşmadı -> on_bar() metodunu geçersiz kılıyorsanız, super().on_bar(bar) çağrısı yapın; bar_type öğesinin enstrümanın verileriyle eşleştiğini kontrol edin. Giriş eşiklerini NOT gevşetmeyin — giriş mantığı hiç çalışmadı. Stratejinizin verilen veri ve parametrelerle işlem ürettiğinden emin olun.
Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=hypothesis_mismatch]: - [edge_concern] Hükmün dayanağı değil — blok fidelity ile ilgilidir, performansla değil. (Kayıt için sandbox da negatiftir: -2.9%, PF 0.13, kazanma 0.125, sözde stoplu bir defterde -$2,149 kuyruk — ancak bu yanlış stratejinin sonucudur.) - WHOLE-STRATEGY SWAP / MISLINK. Hipotez bir ETH Deribit haftalık PUT CREDIT SPREAD'dir (~25d put sat, BUY ~10d put — tanımlı riskli vertical). Kod, BTC Deribit haftalık delta-nötr SHORT……Daha fazla gösterDaha az göster
Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=hypothesis_mismatch]: - [edge_concern] Hükmün dayanağı değil — blok fidelity ile ilgilidir, performansla değil. (Kayıt için sandbox da negatiftir: -2.9%, PF 0.13, kazanma 0.125, sözde stoplu bir defterde -$2,149 kuyruk — ancak bu yanlış stratejinin sonucudur.) - WHOLE-STRATEGY SWAP / MISLINK. Hipotez bir ETH Deribit haftalık PUT CREDIT SPREAD'dir (~25d put sat, BUY ~10d put — tanımlı riskli vertical). Kod, BTC Deribit haftalık delta-nötr SHORT STRANGLE'dir (class adı, docstring, iter-3 gerekçesi ve her mekanizma strangle'dır). Enstrüman AND mekanizma her ikisi de farklıdır → yanlış üretilmiş/yanlış bağlanmış artefakt, bu hipotez değil. Doğru ETH put-credit-spread'i yeniden üretin/yeniden bağlayın. - Yanlış enstrüman: hipotez ETH'dir, ancak instrument_id ve bar_type, BTC-PERPETUAL.DERIBIT ve rolling_options'dir.underlying 'BTC' şeklindedir. Hiçbir yerde ETH yok. - Yanlış yapı / tanımlı riskli değil: hipotez maksimum kaybı bir PURCHASED ~10d put kanadı ile sınırlar. Kod, NO alınmış kanat ile TWO SELL bacak gönderir; kuyruk yalnızca yumuşak bir sonraki-bar prim stopu ile sınırlıdır (sandbox largest_loss -$2,149 vs avg_win ~$214 kuyruğu sınırlamadığını gösterir) — tam olarak hipotezin kaçındığı capsiz profildir. - Çekirdek edge yok: hipotez sinyali downside-SKEW zenginliğidir (25d-put IV vs ATM IV) artı IV>RV. Kod skew hesaplamaz — yalnızca ortalama-strangle IV/RV VRP. Bu hipotezi ayırt eden put-skew hasadı uygulanmamıştır.
Vazgeçme Nedeni
verification_loop: Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct, 2 işlemde -45.45% olup metrics_reliable=false ve data_days=1 — bu bir performans hükmü değildir (nominal başına getiri opsiyon bacakları için anlamlı değildir, çünkü prim nominali << kanat nominalidir ve sandbox 1 günlük bir duman testidir). Yalnızca bağlam olarak aktarılmaktadır: aşağıdaki yükleyici/geriye bakış sorunu çözülür ve gerçek bir haftalık opsiyon örneği birikirse,……Daha fazla gösterDaha az göster
verification_loop: Doğrulama başarısız oldu (Katman 4 — QA incelemesi) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct, 2 işlemde -45.45% olup metrics_reliable=false ve data_days=1 — bu bir performans hükmü değildir (nominal başına getiri opsiyon bacakları için anlamlı değildir, çünkü prim nominali << kanat nominalidir ve sandbox 1 günlük bir duman testidir). Yalnızca bağlam olarak aktarılmaktadır: aşağıdaki yükleyici/geriye bakış sorunu çözülür ve gerçek bir haftalık opsiyon örneği birikirse, analist tahsil edilen net kredinin Deribit'in 4 bacak (açılış+kapanış x short+long) üzerindeki 0.03%/taraf round-trip maliyetini artı herhangi bir atama kaymasını karşılayıp karşılamadığını yeniden kontrol etmelidir, çünkü put-credit-spread nominal başına edge yapısal olarak incedir. - [critical] rolling_options.lookback_days=49, Deribit'in 6.5 yıllık ETH opsiyon geçmişinden bağımsız olarak ANY backtestinin ENTIRE çözümlenebilir opsiyon zincirini 'şimdi' ile biten ~49 gün = ~7 haftalık döngü / ~14 opsiyon bacağı ile sınırlar. Strateji pencerenin geri kalanında flat kalır ve yalnızca kuyrukta işlem yapar. Sandbox bunu ampirik olarak doğrular: bars_processed=2400 (~6.5 yıl) olmasına rağmen data_days=1 ve total_trades=2 (trades_count=4). Bir varyans-risk-primi + skew edge'i ~7 döngü / ~14 bacak üzerinde gürültüden ayırt edilemez — ölçülebilir bir opsiyon örneği için gereken ~30-100 işlemin çok altındadır. Bu, neredeyse aynı BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp'nin (aynı venue, aynı lookback_days=49) günler önce Katman 4'da terk edilmesine neden olan loader-maliyeti-vs-örneklem-büyüklüğü kısır döngüsünün-22 ta kendisidir. Geliştiricinin kendi gerekçesi de bu sınırı kabul eder ('lookback_days, 49 (7 döngü, 14 opsiyon bacağı) çünkü bar-tipi başına katalog yükleyici bacak başına ~10 sn maliyetlidir ve daha büyük bir zincir Katman-3 wall clock süresini riske atar'). Bu yapılandırmayla strateji hiçbir zaman ölçülebilir tam bir backtest üretemez. — düzeltme: ~7 döngü ile geçmeyin. Yeniden göndermeden önce loader-maliyeti vs örneklem-büyüklüğü kısır döngüsünü-22 çözün: barlar arasında bacak başına catalog.bars() yüklerini toplu/paralel hale getirin veya önbelleğe alın, böylece lookback_days sandbox wall-clock süresini aşmadan çok yıllık haftalık döngülere (~200-300 döngü) ulaşabilsin, ardından tam test penceresini kapsayacak şekilde lookback_days ayarlayın. Yükleyici zaman bütçesi içinde ölçülebilir bir haftalık opsiyon geçmişini gerçekten çözümleyemiyorsa, bu aile mevcut harness içinde haftalık frekansta test edilebilir değildir ve yeniden tasarlanmalıdır (ör. tüm döneme yayılan daha az sayıda, daha uzun vadeli aylık döngüler) yerine
Stratmill bir araştırma ve kağıt üzerinde işlem (paper trading) aracıdır; finansal danışmanlık veya aracı kurum değildir. Geriye dönük test ve kağıt üzerinde işlem sonuçları varsayımsaldır. İşlem yapmak kayıp riski taşır.