Langsung ke konten
Semua strategi

Strategi

ETH Deribit Weekly Put-Credit-Spread — Volatility-Risk-Premium + Downside-Skew Harvest (Opsi Risiko Terdefinisi, Skew-Gated, 3-Parameter)

Hasil: Ditinggalkan

EthDeribitWeeklyPutCreditSpreadSkewVrp

ETH Deribit Weekly Put-Credit-Spread — Volatility-Risk-Premium + Downside-Skew Harvest (Opsi Risiko Terdefinisi, Skew-Gated, 3-Parameter)

Hipotesis

Strategi opsi single-venue DEFINED-RISK pada expiry mingguan DERIBIT ETH yang menjual downside permukaan volatilitas kripto yang terus-menerus overpriced. Sekali per siklus mingguan (expiry depan ~5-7 DTE), dan ONLY ketika asuransi downside secara demonstratif mahal (25-delta put IV lebih kaya daripada ATM IV dengan margin skew AND ATM IV di atas trailing realized vol), ia membuka PUT CREDIT SPREAD: SELL satu put ~25-delta dan BUY satu put ~10-delta dari expiry yang sama. Kerugian maksimum dibatasi pada (lebar……Tampilkan lebih banyakTampilkan lebih sedikit

Strategi opsi single-venue DEFINED-RISK pada expiry mingguan DERIBIT ETH yang menjual downside permukaan volatilitas kripto yang terus-menerus overpriced. Sekali per siklus mingguan (expiry depan ~5-7 DTE), dan ONLY ketika asuransi downside secara demonstratif mahal (25-delta put IV lebih kaya daripada ATM IV dengan margin skew AND ATM IV di atas trailing realized vol), ia membuka PUT CREDIT SPREAD: SELL satu put ~25-delta dan BUY satu put ~10-delta dari expiry yang sama. Kerugian maksimum dibatasi pada (lebar strike − kredit bersih), sehingga akun tidak dapat dilikuidasi oleh pergerakan ekor — secara langsung mengatasi kekhawatiran tinjauan risiko terbesar dengan strategi short-vol. Ini sengaja mengisi kesenjangan portofolio tunggal terbesar dari pabrik: opsi adalah 4.7% dari buku vs kuota ≥15%, dengan cakupan sebelumnya yang hampir nol. Ini sengaja berbeda dari short strangle biasa — underlying berbeda (ETH), struktur berbeda (vertikal dengan risiko terdefinisi, bukan dua sisi tanpa batas), dan sinyal berbeda (kekayaan put-SKEW + VRP, bukan IV/RV mentah). Hanya 3 parameter tunable untuk menahan overfitting yang membunuh 259 hipotesis sebelumnya. NOT funding-carry (L33), NOT port momentum/trend-confluence (terpakai), NOT pembalikan harga/fade — sumber P&L adalah premi asuransi struktural ditambah premi put-skew kripto, bukan ramalan harga direksional.

Layer-3 'No trades produced / 0 evaluated bars' memiliki dua penyebab konkret, dan bukan keduanya adalah ambang masuk (umpan balik dengan benar mengatakan untuk tidak mengendurkan ambang). Pertama, baris '0 evaluated bars' adalah pengalihan untuk keluarga ini: RollingOptionsStrategy.on_bar sepenuhnya menimpa FactoryStrategy.on_bar dan tidak pernah mencapai _process_primary, sehingga bars_seen adalah 0 untuk setiap strategi rolling-options termasuk yang bertransaksi secara normal — saya mengonfirmasi dengan……Tampilkan lebih banyakTampilkan lebih sedikit

Layer-3 'No trades produced / 0 evaluated bars' memiliki dua penyebab konkret, dan bukan keduanya adalah ambang masuk (umpan balik dengan benar mengatakan untuk tidak mengendurkan ambang). Pertama, baris '0 evaluated bars' adalah pengalihan untuk keluarga ini: RollingOptionsStrategy.on_bar sepenuhnya menimpa FactoryStrategy.on_bar dan tidak pernah mencapai _process_primary, sehingga bars_seen adalah 0 untuk setiap strategi rolling-options termasuk yang bertransaksi secara normal — saya mengonfirmasi dengan membaca rolling_options_template.py dan base_template.py alih-alih menambahkan panggilan super().on_bar() yang akan merutekan bar primary ke barrier cross-leg alignment basis, di mana leg opsi intermiten (1-DAY timeframe yang sama dengan primary) akan memblokir pemrosesan selamanya. Kedua, blocker yang sebenarnya: (a) ANNUALIZATION MISMATCH — pengaturan realized-vol yang diwariskan bersifat per jam (rv_window=168, bars_per_year=8760) sementara run menggunakan bar 1-DAY, sehingga log return harian di-annualized dengan sqrt(8760) alih-alih sqrt(365), menggembungkan RV sebesar 4.90x (tape normal 3%/day ETH terbaca 281% alih-alih 57%); gerbang VRP iv >= rv*(1+margin) kemudian membandingkan ~60% IV terhadap ~281% RV dan bernilai False pada setiap siklus. Diperbaiki dengan menurunkan bars_per_year dari tipe bar yang dikonfigurasi dan mengekspresikan jendela RV dalam hari kalender, sehingga drift tidak dapat terulang pada interval apa pun (diverifikasi: 1-DAY -> 365, 1-HOUR -> 8760, 4-HOUR -> 2190, dan gerbang sekarang lulus pada tape normal). (b) ROLE MAPPING — scaffolding yang diwariskan mengunci leg berdasarkan jenis opsi dan membutuhkan satu call ditambah satu put (strangle), sehingga dua leg P dari put spread bertabrakan pada satu kunci, yang kedua ditolak sebagai duplikat, pemeriksaan kesiapan menuntut leg call yang tidak ada, dan setiap leg dikirimkan SELL (dua naked short put, bukan put spread dengan risiko terdefinisi). Leg sekarang dipetakan berdasarkan strike menjadi short/long, short dijual dan long dibeli pada jumlah kontrak yang sama dari cache, secara atomik. Saya juga menghapus stop premium-multiple yang diwariskan: sayap long sudah membatasi kerugian, jadi stop pada struktur yang dibatasi hanya mewujudkan kerugian terbatas lebih awal dan menambah biaya. Aritmatika sizing diverifikasi end-to-end (spread selebar 150, kredit $22, kerugian maksimum $128 -> 15 kontrak = 1.9% ekuitas dipertaruhkan). Saya mempertahankan semua yang lulus Layer 1-2 tetap utuh: impor yang bersih, fungsi bebas _bar_ts tingkat modul yang memperbaiki Layer-2 staticmethod rebinding TypeError, parser DVOL, inversi Black-Scholes IV, dan calculate_signal yang kontinu. lookback_days adalah 49 (7 siklus, 14 leg opsi) karena loader katalog per-bar-type memakan ~10s per leg dan chain yang lebih besar berisiko wall clock Layer-3; hal itu membatasi sampel awal dan merupakan properti loader, bukan properti hipotesis.

verification_loop: Verifikasi gagal (Layer 4 — tinjauan QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct adalah -45.45% pada 2 trades dengan metrics_reliable=false dan data_days=1 — ini bukan putusan performa (return per-notional tidak bermakna untuk leg opsi, di mana notional premi << notional sayap, dan sandbox adalah smoke test 1-day). Ini hanya diteruskan sebagai konteks: jika masalah loader/lookback di bawah ini diselesaikan dan sampel opsi mingguan yang sebenarnya terakumulasi, analis……Tampilkan lebih banyakTampilkan lebih sedikit

verification_loop: Verifikasi gagal (Layer 4 — tinjauan QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct adalah -45.45% pada 2 trades dengan metrics_reliable=false dan data_days=1 — ini bukan putusan performa (return per-notional tidak bermakna untuk leg opsi, di mana notional premi << notional sayap, dan sandbox adalah smoke test 1-day). Ini hanya diteruskan sebagai konteks: jika masalah loader/lookback di bawah ini diselesaikan dan sampel opsi mingguan yang sebenarnya terakumulasi, analis harus memeriksa ulang apakah kredit bersih yang terkumpul menutupi round-trip 0.03%/side Deribit di seluruh 4 leg (open+close x short+long) ditambah selip assignment apa pun, karena edge per-notional put-credit-spread secara struktural tipis. - [kritis] rolling_options.lookback_days=49 membatasi chain opsi ENTIRE yang dapat diresolusi dari backtest ANY hingga ~49 hari yang berakhir 'now' = ~7 siklus mingguan / ~14 leg opsi, terlepas dari riwayat opsi 6.5-tahun ETH Deribit. Strategi hanya diam selama sisa jendela dan hanya bertransaksi di bagian akhir. Sandbox mengonfirmasi ini secara empiris: bars_processed=2400 (~6.5 tahun) namun data_days=1 dan total_trades=2 (trades_count=4). Edge variance-risk-premium + skew tidak dapat dibedakan dari noise pada ~7 siklus / ~14 leg — jauh di bawah ~30-100 trades yang dibutuhkan untuk sampel opsi yang terukur. Ini adalah catch-22 persis loader-cost-vs-sample-size yang menyebabkan BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp yang hampir identik (venue sama, lookback_days=49 sama) ditinggalkan pada Layer 4 hari yang lalu. Rasional pengembang sendiri mengakui batas tersebut ('lookback_days adalah 49 (7 siklus, 14 leg opsi) karena loader katalog per-bar-type memakan ~10s per leg dan chain yang lebih besar berisiko wall clock Layer-3'). Sebagaimana dikonfigurasi, strategi tidak pernah dapat menghasilkan backtest penuh yang terukur. — perbaikan: Jangan lolos pada ~7 siklus. Selesaikan catch-22 loader-cost vs sample-size sebelum mengirim ulang: batch/parallelize atau cache pemuatan catalog.bars() per-leg lintas bar sehingga lookback_days dapat mencapai bertahun-tahun siklus mingguan (~200-300 siklus) tanpa melebihi wall-clock sandbox, lalu setel lookback_days untuk menutupi jendela tes penuh. Jika loader benar-benar tidak dapat menyelesaikan riwayat opsi mingguan yang terukur dalam anggaran waktu, keluarga ini tidak dapat diuji dalam harness saat ini pada kadenza mingguan dan harus dirancang ulang (misalnya lebih sedikit, siklus bulanan yang lebih lama di seluruh rentang) melainkan

Implementasi

Put credit spread mingguan dengan risiko terdefinisi di Deribit ETH. Setiap siklus expiry mingguan (~7 DTE) framework rolling-options menyelesaikan dua leg put (~5% dan ~10% OTM); strategi memetakannya berdasarkan strike menjadi leg short (strike lebih tinggi, ~25-delta) dan long (strike lebih rendah, ~10-delta), SELLS short dan BUYS long pada jumlah kontrak 1:1 yang identik, dan menahan hingga roll buffer sebelum penyelesaian tunai Eropa. Masuk digerbang pada dua tes kekayaan yang diukur pada jendela masuk……Tampilkan lebih banyakTampilkan lebih sedikit

Put credit spread mingguan dengan risiko terdefinisi di Deribit ETH. Setiap siklus expiry mingguan (~7 DTE) framework rolling-options menyelesaikan dua leg put (~5% dan ~10% OTM); strategi memetakannya berdasarkan strike menjadi leg short (strike lebih tinggi, ~25-delta) dan long (strike lebih rendah, ~10-delta), SELLS short dan BUYS long pada jumlah kontrak 1:1 yang identik, dan menahan hingga roll buffer sebelum penyelesaian tunai Eropa. Masuk digerbang pada dua tes kekayaan yang diukur pada jendela masuk siklus: downside skew (IV short-put >= Deribit DVOL ATM IV x (1 + skew_margin)) dan variance risk premium (ATM IV >= trailing realized vol 14-day x (1 + vrp_margin)). IV leg diinversi dari bar USD-premium setiap leg sendiri dengan Black-Scholes. Kerugian maksimum per spread adalah (lebar strike - kredit bersih), ditetapkan saat masuk, dan sizing mempertaruhkan tepat itu: kontrak = floor(ekuitas x risk_frac / max_loss), dibatasi sehingga lebar spread bruto tetap di dalam 50% ekuitas dan di-floor pada minimum 1-kontrak ETH Deribit. 3 tunables (skew_margin, vrp_margin, risk_frac); leverage 1.0; tidak ada jalur perdagangan perp/underlying.

Hasil Verifikasi

Verifikasi gagal (Lapisan 4 — tinjauan QA) [kelas=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct bernilai -45.45% pada 2 perdagangan dengan metrics_reliable=false dan data_days=1 — ini bukan putusan kinerja (return per-notional tidak bermakna untuk option legs, di mana notional premi << notional wing, dan sandbox merupakan smoke test 1 hari). Hal ini dibawa maju hanya sebagai konteks: jika masalah loader/lookback di bawah ini teratasi dan sampel opsi mingguan nyata terkumpul, analis harus memeriksa……Tampilkan lebih banyakTampilkan lebih sedikit

Verifikasi gagal (Lapisan 4 — tinjauan QA) [kelas=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct bernilai -45.45% pada 2 perdagangan dengan metrics_reliable=false dan data_days=1 — ini bukan putusan kinerja (return per-notional tidak bermakna untuk option legs, di mana notional premi << notional wing, dan sandbox merupakan smoke test 1 hari). Hal ini dibawa maju hanya sebagai konteks: jika masalah loader/lookback di bawah ini teratasi dan sampel opsi mingguan nyata terkumpul, analis harus memeriksa ulang apakah kredit bersih yang terkumpul melampaui round-trip 0.03%/sisi Deribit di 4 leg (open+close x short+long) ditambah selip penetapan apa pun, karena edge per-notional put-credit-spread secara struktural tipis. - [kritis] rolling_options.lookback_days=49 membatasi option chain ENTIRE yang dapat diselesaikan dari backtest ANY hingga ~49 hari yang berakhir 'sekarang' = ~7 siklus mingguan / ~14 option legs, terlepas dari riwayat opsi ETH Deribit selama 6.5 tahun. Strategi tetap datar selama sisa jendela dan hanya berdagang di ekor. Sandbox mengonfirmasi hal ini secara empiris: bars_processed=2400 (~6.5 tahun) namun data_days=1 dan total_trades=2 (trades_count=4). Edge variance-risk-premium + skew tidak dapat dibedakan dari noise pada ~7 siklus / ~14 legs — jauh di bawah ~30-100 perdagangan yang dibutuhkan untuk sampel opsi yang terukur. Inilah perangkap-22 biaya-loader-versus-ukuran-sampel yang persis sama yang menyebabkan BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp yang hampir identik (venue sama, lookback_days=49 sama) ditinggalkan di Lapisan 4 hari yang lalu. Rasionale developer sendiri mengakui batas tersebut ('lookback_days bernilai 49 (7 siklus, 14 option legs) karena loader katalog per-jenis-bar memakan biaya ~10 detik per leg dan rantai yang lebih besar berisiko melampaui wall clock Layer-3'). Sebagaimana dikonfigurasi, strategi tidak akan pernah menghasilkan backtest penuh yang terukur. — perbaikan: Jangan loloskan pada ~7 siklus. Selesaikan perangkap-22 biaya-loader-versus-ukuran-sampel sebelum mengajukan kembali: lakukan batch/parallelisasi atau cache pemuatan catalog.bars() per-leg di seluruh bar sehingga lookback_days dapat mencapai bertahun-tahun siklus mingguan (~200-300 siklus) tanpa melampaui wall-clock sandbox, lalu atur lookback_days untuk mencakup jendela pengujian penuh. Jika loader memang tidak dapat menyelesaikan riwayat opsi mingguan yang terukur dalam anggaran waktu, keluarga ini tidak dapat diuji dalam harness saat ini pada kadens mingguan dan harus dirancang ulang (mis. lebih sedikit siklus bulanan yang lebih berjangka waktu panjang di seluruh rentang) melainkan

Riwayat Iterasi

Verifikasi gagal (Lapisan 2 — skenario sintetis): Parameter yang digunakan: ['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'] Periksa bahwa __init__ menetapkan semua atribut dari self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts()……Tampilkan lebih banyakTampilkan lebih sedikit

Verifikasi gagal (Lapisan 2 — skenario sintetis): Parameter yang digunakan: ['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'] Periksa bahwa __init__ menetapkan semua atribut dari self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000)

Verifikasi gagal (Lapisan 2 — skenario sintetis): Parameter yang digunakan: ['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'] Periksa bahwa __init__ menetapkan semua atribut dari self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts()……Tampilkan lebih banyakTampilkan lebih sedikit

Verifikasi gagal (Lapisan 2 — skenario sintetis): Parameter yang digunakan: ['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'] Periksa bahwa __init__ menetapkan semua atribut dari self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() menerima 1 argumen posisi, tetapi diberikan 2 (stempel waktu bar: 1735691040000)

Verifikasi gagal (Lapisan 3 — backtest sandbox): Tidak ada transaksi yang dihasilkan Jenis bar yang digunakan: ETH-PERPETUAL.DERIBIT-1-DAY-LAST-EXTERNAL, Bar yang diproses: 2400 Diagnostik: calculate_signal() tidak pernah dievaluasi (0 bar dievaluasi) -> tidak ada bar primer yang mencapai jalur sinyal templat dasar -> jika Anda mengganti on_bar(), panggil super().on_bar(bar); periksa bahwa bar_type cocok dengan data instrumen. Jangan NOT melonggarkan ambang batas entri — logika entri tidak pernah dijalankan. Pastikan strategi Anda menghasilkan transaksi dengan data dan parameter yang diberikan.

Verifikasi gagal (Layer 4 — tinjauan QA) [class=hypothesis_mismatch]: - [edge_concern] Bukan dasar putusan — blok tersebut adalah fidelitas, bukan performa. (Sebagai catatan, sandbox juga negatif: -2.9%, PF 0.13, win 0.125, ekor -$2,149 pada buku yang seharusnya di-stop — tapi itu hasil strategi yang salah.) - WHOLE-STRATEGY SWAP / MISLINK. Hipotesis adalah ETH Deribit weekly PUT CREDIT SPREAD (jual put ~25d, BUY put ~10d — vertikal dengan risiko terdefinisi). Kode adalah BTC Deribit weekly delta-neutral SHORT……Tampilkan lebih banyakTampilkan lebih sedikit

Verifikasi gagal (Layer 4 — tinjauan QA) [class=hypothesis_mismatch]: - [edge_concern] Bukan dasar putusan — blok tersebut adalah fidelitas, bukan performa. (Sebagai catatan, sandbox juga negatif: -2.9%, PF 0.13, win 0.125, ekor -$2,149 pada buku yang seharusnya di-stop — tapi itu hasil strategi yang salah.) - WHOLE-STRATEGY SWAP / MISLINK. Hipotesis adalah ETH Deribit weekly PUT CREDIT SPREAD (jual put ~25d, BUY put ~10d — vertikal dengan risiko terdefinisi). Kode adalah BTC Deribit weekly delta-neutral SHORT STRANGLE (nama kelas, docstring, rasional iter-3, dan setiap mekanisme adalah strangle). Mekanisme instrumen AND keduanya berbeda → artefak yang salah-dihasilkan/salah-tautkan, bukan hipotesis ini. Hasilkan ulang/tautkan ulang ETH put-credit-spread yang benar. - Instrumen salah: hipotesis adalah ETH, tetapi instrument_id dan bar_type adalah BTC-PERPETUAL.DERIBIT dan rolling_options.underlying adalah 'BTC'. Tidak ada ETH di mana pun. - Struktur salah / bukan risiko terdefinisi: hipotesis membatasi kerugian maksimum dengan sayap put PURCHASED ~10d. Kode mengirimkan TWO leg SELL dengan sayap NO yang dibeli; ekor hanya dibatasi oleh stop premi soft next-bar (sandbox largest_loss -$2,149 vs avg_win ~$214 menunjukkan itu tidak membatasi ekor) — justru profil tanpa batas yang dihindari hipotesis. - Edge inti tidak ada: sinyal hipotesis adalah kekayaan downside-SKEW (25d-put IV vs ATM IV) ditambah IV>RV. Kode tidak menghitung skew — hanya IV/RV VRP mean-strangle. Panen put-skew yang membedakan hipotesis ini tidak diimplementasikan.

Alasan Dibatalkan

verification_loop: Verifikasi gagal (Layer 4 — tinjauan QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct adalah -45.45% pada 2 trades dengan metrics_reliable=false dan data_days=1 — ini bukan putusan performa (return per-notional tidak bermakna untuk leg opsi, di mana notional premi << notional sayap, dan sandbox adalah smoke test 1-day). Ini hanya diteruskan sebagai konteks: jika masalah loader/lookback di bawah ini diselesaikan dan sampel opsi mingguan yang sebenarnya terakumulasi, analis……Tampilkan lebih banyakTampilkan lebih sedikit

verification_loop: Verifikasi gagal (Layer 4 — tinjauan QA) [class=code_defect]: - [edge_concern] Sandbox avg_trade_return_pct adalah -45.45% pada 2 trades dengan metrics_reliable=false dan data_days=1 — ini bukan putusan performa (return per-notional tidak bermakna untuk leg opsi, di mana notional premi << notional sayap, dan sandbox adalah smoke test 1-day). Ini hanya diteruskan sebagai konteks: jika masalah loader/lookback di bawah ini diselesaikan dan sampel opsi mingguan yang sebenarnya terakumulasi, analis harus memeriksa ulang apakah kredit bersih yang terkumpul menutupi round-trip 0.03%/side Deribit di seluruh 4 leg (open+close x short+long) ditambah selip assignment apa pun, karena edge per-notional put-credit-spread secara struktural tipis. - [kritis] rolling_options.lookback_days=49 membatasi chain opsi ENTIRE yang dapat diresolusi dari backtest ANY hingga ~49 hari yang berakhir 'now' = ~7 siklus mingguan / ~14 leg opsi, terlepas dari riwayat opsi 6.5-tahun ETH Deribit. Strategi hanya diam selama sisa jendela dan hanya bertransaksi di bagian akhir. Sandbox mengonfirmasi ini secara empiris: bars_processed=2400 (~6.5 tahun) namun data_days=1 dan total_trades=2 (trades_count=4). Edge variance-risk-premium + skew tidak dapat dibedakan dari noise pada ~7 siklus / ~14 leg — jauh di bawah ~30-100 trades yang dibutuhkan untuk sampel opsi yang terukur. Ini adalah catch-22 persis loader-cost-vs-sample-size yang menyebabkan BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp yang hampir identik (venue sama, lookback_days=49 sama) ditinggalkan pada Layer 4 hari yang lalu. Rasional pengembang sendiri mengakui batas tersebut ('lookback_days adalah 49 (7 siklus, 14 leg opsi) karena loader katalog per-bar-type memakan ~10s per leg dan chain yang lebih besar berisiko wall clock Layer-3'). Sebagaimana dikonfigurasi, strategi tidak pernah dapat menghasilkan backtest penuh yang terukur. — perbaikan: Jangan lolos pada ~7 siklus. Selesaikan catch-22 loader-cost vs sample-size sebelum mengirim ulang: batch/parallelize atau cache pemuatan catalog.bars() per-leg lintas bar sehingga lookback_days dapat mencapai bertahun-tahun siklus mingguan (~200-300 siklus) tanpa melebihi wall-clock sandbox, lalu setel lookback_days untuk menutupi jendela tes penuh. Jika loader benar-benar tidak dapat menyelesaikan riwayat opsi mingguan yang terukur dalam anggaran waktu, keluarga ini tidak dapat diuji dalam harness saat ini pada kadenza mingguan dan harus dirancang ulang (misalnya lebih sedikit, siklus bulanan yang lebih lama di seluruh rentang) melainkan

Stratmill adalah alat riset dan paper trading, bukan nasihat keuangan atau broker. Hasil backtest dan paper trading bersifat hipotetis. Trading mengandung risiko kerugian.