Strategi
Carry Penumpuan Basis Suku Tahunan BTC, Neutral Pasaran (Beli BTCUSDT.BINANCE_SPOT + Jual Singkat Niaga Hadapan BTC USD-M DATED QUARTERLY dengan Tarikh Luput Terhampir, Pegang hingga Penyelesaian untuk Menangkap Basis Contango DETERMINISTICALLY-CONVERGENT — Pendanaan Perp NOT, Digulung pada Tarikh Luput, 2 Parameter)
Hasil: Ditinggalkan
BtcQuarterlyBasisConvergenceCarryNeutral
Ringkasan Hasil
Hipotesis
backtest_failed: RuntimeError: Data pendanaan tidak tersedia untuk kaki perp 'BTCUSDT_230929.BINANCE' — pengumpulan atas permintaan gagal atau venue tiada sejarah pendanaan (backtest disekat demi ketepatan; tetapkan SF_DISABLE_ONDEMAND_FUNDING=1 untuk memintas) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 190, in _run_backtest await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 406, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: Data pendanaan tidak tersedia untuk kaki perp 'BTCUSDT_230929.BINANCE' — pengumpulan atas permintaan gagal atau venue tiada sejarah pendanaan (backtest disekat demi ketepatan; tetapkan SF_DISABLE_ONDEMAND_FUNDING=1 untuk memintas)
Pelaksanaan
Keputusan Pengesahan
Pengesahan gagal (Lapisan 3 — backtest sandbox): ujian asap melebihi had masa 300s. Ini hampir selalu bermaksud kerja setiap bar yang meningkat mengikut sejarah — contohnya mengimbas semula siri pendanaan/sampingan penuh, atau membina semula senarai dan memanggil min()/sorted() dalam calculate_signal()/on_bar() pada setiap bar. Prahitung tatasusunan cap masa tersusun ONCE dalam __init__ dan gunakan bisect, atau cache carian berdasarkan cap masa, supaya kos setiap bar ialah O(log n), bukan O(n).
Panjangkan extra_instruments kepada rangkaian suku tahunan FULL BTC (~16-20 kontrak sejak 2020) menggunakan bar suku tahunan 12H/1D yang kasar supaya kekal dalam had sandbox, agar metrics_reliable=true dan setiap tetingkap walk-forward mempunyai beberapa penumpuan. Sambungan konfigurasi sahaja — logik penggulungan sudah mengendalikan rangkaian sepanjang mana pun.
Bilangan penumpuan adalah sedikit (8) dan metrics_reliable=false — di bawah ~16-20 yang saya sasarkan dalam iter-1. Pembangun mengehadkan rantaian kepada 8 kontrak untuk bajet Layer-3. UNLIKE pengikut trend makro yang gagal, ini ialah penambahbaikan konfigurasi yang boleh diselesaikan, bukan had intrinsik: lebih banyak penumpuan mudah dicapai dengan menyenaraikan lebih banyak kontrak suku tahunan bertarikh sejarah BTC (hingga sekitar 2020). Yang penting, kelebihan ini disokong secara diagnostik walaupun pada n=8: Sharpe CI [1.14, 46.66] mempunyai batas bawah selang keyakinan POSITIVE (tidak merangkumi sifar) dan taburannya berkelakuan baik (kecondongan -0.56, kurtosis 2.37) — berbeza dengan ketara daripada pengikut trend yang selang keyakinannya merangkumi nilai yang negatif dengan ketara. Kelebihan penumpuan deterministik menjadikan 8 peristiwa yang hampir bebas sebagai bukti sebenar, bukannya nasib.
Nilai terutamanya berdasarkan penumpuan walk-forward (rangkaian lanjutan), bukan set pegangan 15-hari; maklumkan operator jika pintu kawalan set pegangan menyekat carry pegangan suku tahunan yang sah.
Peringatan ufuk (seperti strategi makro): pegangan ~90 hari bermaksud set pegangan 15 hari mengandungi ~0 penumpuan tertutup, jadi pintu kawalan set pegangan sukar dinilai secara struktur. Isunya kurang menghalang berbanding pengikut trend kerana rangkaian lanjutan menyediakan penumpuan yang cukup untuk tetingkap walk-forward diagnostik, tetapi operator perlu ambil maklum bahawa set pegangan memerlukan pengendalian yang mengambil kira ufuk bagi carry pegangan suku tahunan.
Sahkan neutraliti delta dan sumbangan asas bagi setiap suku dalam ujian semula penuh dengan rantaian yang dilanjutkan.
Dua semakan kewarasan penganalisis (kedua-duanya bukan kecacatan kod): (1) exposure_pct 227% — bagi pasangan spot+jual singkat niaga hadapan yang neutral delta pada capital_frac 0.45/kaki, nilai kasar yang dimaksudkan ialah ~0.90x; 227% kemungkinan besar artifak nosional kasar/tanda harga yang meningkat (beta 0.0105, max_dd 3.24%, untung/rugi hampir simetri largest_win mengesahkan buku dagangan IS neutral), tetapi sahkan tiada hanyutan saiz pada rangkaian lanjutan. (2) avg_loss ($13,905) melebihi sedikit avg_win ($12,384) pada win_rate 0.5625 — positif bersih tetapi sesetengah suku tahun menumpu secara tidak menguntungkan (backwardation/basis melebar sebelum penggulungan); sahkan kelebihan itu tidak bergantung pada satu atau dua suku tahun contango yang tinggi.
Tiada isu pada kod — penggulungan kukuh dan boleh digunakan semula merentasi rangkaian sepanjang mana pun.
CREDIT (tiada kecacatan): ROLL dilaksanakan dengan betul menurut permintaan iter-1 saya — _candidate memilih suku tahunan tarikh luput terhampir yang masih aktif dengan tempoh berbaki (3-hari semakan _live kesegaran + _dte bagi setiap kontrak), memegang hingga roll_buffer_days sebelum penyelesaian kemudian menggulung ke suku tahun hadapan seterusnya, tarikh luput dihuraikan bagi setiap kontrak, perlindungan kaki tanpa lindung nilai, kaki sama nilai nosional neutral delta (linear bermargin USDT), spot sahaja BUY (CASH-selamat), saiz terhad dan tidak bergantung pada laluan, kerja O(1) bagi setiap bar. Rangka masa suku tahunan 12-HOUR (berbeza daripada rangka masa utama 1-DAY) betul-betul mengelakkan kebuntuan penjajaran rangka masa yang sama bagi kontrak luput/tidak tersenarai. Mekanisme disahkan: 8 penumpuan 90-hari yang bersih, ~4/tahun, berdaya maju selepas fi (komisen 1.06%).
Sejarah Lelaran
RuntimeError: Data pendanaan tidak tersedia untuk kaki perp 'BTCUSDT_230929.BINANCE' — pengumpulan atas permintaan gagal atau venue tiada sejarah pendanaan (backtest disekat demi ketepatan; tetapkan SF_DISABLE_ONDEMAND_FUNDING=1 untuk memintas) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 190, in _run_backtest await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 406, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: Data pendanaan tidak tersedia untuk kaki perp 'BTCUSDT_230929.BINANCE' — pengumpulan atas permintaan gagal atau venue tiada sejarah pendanaan (backtest disekat demi ketepatan; tetapkan SF_DISABLE_ONDEMAND_FUNDING=1 untuk memintas)
Ringkasan Hasil
Hipotesis menandakan ketersediaan data/kline suku tahunan bertarikh sebagai kebergantungan yang perlu menggagalkan proses dengan segera, dan hal itu terbukti penentu: keperluan data pendanaan harness backtest bagi kaki niaga hadapan mesti dipenuhi (atau dipintas melalui SF_DISABLE_ONDEMAND_FUNDING) sebelum carry basis suku tahunan boleh dinilai.
Strategi ini ditinggalkan selepas 3 lelaran apabila backtest gagal dengan RuntimeError: data pendanaan tidak tersedia untuk kaki 'BTCUSDT_230929.BINANCE' — enjin menganggap suku tahunan bertarikh sebagai perp yang memerlukan sejarah pendanaan, lalu menyekat backtest demi ketepatan.
Strategi cash-and-carry neutral pasaran BTC yang mengambil posisi beli spot BTCUSDT dan posisi jual niaga hadapan suku tahunan USD-M bertarikh dengan tarikh luput paling hampir, memegangnya hingga penyelesaian untuk meraih basis contango yang menumpu secara deterministik (~5-15% pada kadar tahunan) dan bukannya pendanaan perp yang tipis.
Tiada metrik prestasi — backtest tidak pernah selesai, jadi tiada pulangan, Sharpe atau bilangan dagangan; peringkat pengoptimuman tidak pernah dicapai.
Sebab Ditinggalkan
backtest_failed: RuntimeError: Data pendanaan tidak tersedia untuk kaki perp 'BTCUSDT_230929.BINANCE' — pengumpulan atas permintaan gagal atau venue tiada sejarah pendanaan (backtest disekat demi ketepatan; tetapkan SF_DISABLE_ONDEMAND_FUNDING=1 untuk memintas) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 190, in _run_backtest await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 406, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: Data pendanaan tidak tersedia untuk kaki perp 'BTCUSDT_230929.BINANCE' — pengumpulan atas permintaan gagal atau venue tiada sejarah pendanaan (backtest disekat demi ketepatan; tetapkan SF_DISABLE_ONDEMAND_FUNDING=1 untuk memintas)
Stratmill ialah alat penyelidikan dan dagangan kertas, bukan nasihat kewangan atau broker. Keputusan ujian belakang dan dagangan kertas adalah bersifat hipotesis. Perdagangan melibatkan risiko kerugian.