Mga Estratehiya
Pag-ani ng Weekend Calendar-Time Theta sa Deribit BTC Weeklies — Ibenta ang Near-ATM Straddle sa Daily Close ng Biyernes, Bilhin Pabalik sa Daily Close ng Lunes (Walang Hedge, Stop sa Spot Band, 2-Parameter)
Resulta: Inabandona
BtcDeribitWeekendCalendarThetaHarvestStraddle
Ayusin muna ang tiyempo ng presyo ng mga leg bago mag-optimize ng anuman. Hindi sinusukat ng kasalukuyang P&L ang paunang itinakdang window mula pagsasara ng Biyernes hanggang pagsasara ng Lunes. (1) Itakda ang presyo…
Hypothesis
verification_loop: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): bar ng BTCUSDT.BINANCE ang config.bar_type BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, pero BTC-PERPETUAL.DERIBIT ang config.instrument_id. Dapat sariling mga bar ng pangunahing instrumento ang primary bar_type (hal., BTC-PERPETUAL.DERIBIT-1-HOUR-LAST-EXTERNAL): ito ang nagtutulak sa mga entry at exit sa instrument_id. Ilagay ang BTCUSDT.BINANCE sa extra_instruments at ang mga bar nito sa extra_bar_types kung binabasa ito ng estratehiya. Ginamit na uri ng bar: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Naprosesong mga bar: 0 Tiyaking nakakagawa ng mga trade ang iyong estratehiya gamit ang ibinigay na datos at mga parameter.
Implementasyon
Pag-ani ng short-volatility weekend theta sa Deribit BTC weeklies. Sa pagsasara ng Biyernes na 1-DAY (00:00 UTC Sabado), magbenta ng isang near-ATM straddle (short call + short put, magkaparehong strike, pinakamalapit na weekly expiry, ~6 DTE), na ang laki ay nakatakda para maging notional_pct ng equity ang notional na katumbas ng underlying. Bilhin pabalik ang dalawang leg sa daily close ng Lunes (00:00 UTC Martes). Isara nang maaga kung magsasara ang BTCUSDT.BINANCE spot reference nang lampas breach_band_pct mula sa strike sa Sabado o Linggo. Walang delta hedge at hindi kailanman hinahawakan hanggang expiry. Kapalit sa execution: market order sa pagsasara ng bar na 00:00 UTC (= pagbubukas ng susunod na bar sa 24/7 market). Ang spot-reference feed ay ang 1-HOUR BTCUSDT.BINANCE bar, kung saan ginagamit ang ONLY bar na nagsasara sa 00:00 UTC (katumbas ng pagsasara ng 1-DAY), kaya nananatili sa daily close ang bawat desisyon.
Itinatama ng iteration 7 ang hatol sa laki ng Layer 3: 687 uri ng bar sa loob ng 2,400-araw na window. Ang laki ng smoke window ng Layer 3 ay ibinatay lamang sa uri ng bar na PRIMARY, at ang primary na 1-DAY ang nagbibigay ng pinakamahabang window na 2,400 araw. Sumasaklaw ang window na iyon sa ~343 lingguhang expiry x 2 araw-araw na option leg, tinatayang ~3,800 s. Ang pagpapalit sa spot reference na BTCUSDT.BINANCE-1-HOUR bilang primary ay nagpapaikli sa smoke window sa ~833 araw (~119 expiry, ~240 uri ng bar, tinatayang ~500 s, pasok sa hangganang 1800 s). Hindi binago ang mga leg, chain spec (1-DAY option bars) at backtest sa buong kasaysayan. Binabalewala na ngayon ng on_bar ang lahat ng hourly primary bar maliban sa nagsasara sa 00:00 UTC. Katumbas ng daily close ang pagsasara ng bar na iyon, kaya tugma mismo sa hypothesis at dating lohika ang entry sa pagsasara ng Biyernes, stop band sa pagsasara ng Sabado/Linggo at exit sa pagsasara ng Lunes. Walang ibang code na binago.
Mga Resulta ng Beripikasyon
Nabigo ang beripikasyon (Layer 3 — sandbox backtest): bar ng BTCUSDT.BINANCE ang config.bar_type BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, pero BTC-PERPETUAL.DERIBIT ang config.instrument_id. Dapat sariling mga bar ng pangunahing instrumento ang primary bar_type (hal., BTC-PERPETUAL.DERIBIT-1-HOUR-LAST-EXTERNAL): ito ang nagtutulak sa mga entry at exit sa instrument_id. Ilagay ang BTCUSDT.BINANCE sa extra_instruments at ang mga bar nito sa extra_bar_types kung binabasa ito ng estratehiya. Ginamit na uri ng bar: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Naprosesong mga bar: 0 Tiyaking nakakagawa ng mga trade ang iyong estratehiya gamit ang ibinigay na datos at mga parameter.
Minamaliit ng batayan ng bayad sa venue na DERIBIT ang tunay na gastos sa options nang ~20-30x (notional ng premium kumpara sa underlying).
Nalulutas lang ang dalawang tail stop sa pagsasara ng 1-DAY; maaaring isang bar na luma ang mark ng leg (pabalik lang sa nakaraan, walang pagtingin sa hinaharap).
Kinukuha ang entry_premium mula sa pagsasara ng bar ng leg, hindi sa mga fill; dahil dito, minamaliit ng leg na may markang zero ang batayan ng premium-stop.
Pagsusuri
Kasaysayan ng Iterasyon
no_change: Eksaktong ginaya ng iteration 4 ang iteration 3 (204 trade, Sharpe 4.507202383895712) — hindi binago ng pagbabago sa code ang trading; wala nang kailangang hatulan ang analyst
Nabigo ang beripikasyon (Layer 3 — sandbox backtest): maglo-load ang smoke test ng humigit-kumulang 39,516,000 bar sa 687 uri ng bar (window mula 2020-03-15). Hindi ito kayang patakbuhin ng Layer 3 sa loob ng limitasyong 1800s nito, kaya hinding-hindi matatapos ang input na ito; limitasyon ito sa laki ng estratehiya, hindi pagkabigo ng imprastraktura. Bawasan ang load: gumamit ng mas kaunting leg, mas malawak na timeframe, o isang uri ng bar kada instrumento at bumuo rito ng mas mababagal na timeframe.
Nabigo ang beripikasyon (Layer 3 — sandbox backtest): maglo-load ang smoke test ng humigit-kumulang 1,648,800 bar sa 687 uri ng bar (window mula 2020-03-15). Hindi ito kayang patakbuhin ng Layer 3 sa loob ng limitasyong 1800s nito, kaya hinding-hindi matatapos ang input na ito; limitasyon ito sa laki ng estratehiya, hindi pagkabigo ng imprastraktura. Bawasan ang load: gumamit ng mas kaunting leg, mas malawak na timeframe, o isang uri ng bar kada instrumento at bumuo rito ng mas mababagal na timeframe.
Pagsusuri ng Backtest
- Sharpe
- 4.51
- Kabuuang Return
- 10.71%
- Max Drawdown
- 0.47%
- Kabuuang Trade
- 204
- Win Rate
- 62.3%
- Profit Factor
- 1.93
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.