跳至內容
所有策略

策略

Deribit BTC 月度單腿長選擇權趨勢凸性策略(受便宜-IV 條件限制,雙向皆具方向性)

結果: 已放棄

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV

結果摘要

BtcDeribitMonthlyLongOptionTrendConvexityCheapIV 是刻意採取長 Vega、方向性做多的策略,與流程中的做空波動率及非方向性選擇權投資組合相反;它買進單一 OTM 買權或賣權,將 BTC 趨勢觀點轉化為風險明確的凸性報酬,並順利通過先前阻礙同類策略的多腿執行與 Layer-3 門檻。但回測只能產生 9 筆交易,因為目錄中的 Deribit 月度 BTC 選擇權鏈從 mid-2025 起僅涵蓋約 12 個到期日,而引擎也將這些指標標示為不可靠——表面上的 Sharpe 為 3.43,但其信賴區間介於 -13 至 +11,全部淨報酬都來自一個二月 2026 月。審查者裁定 revise_hypothesis,並指出這是第二次相同的 9 筆交易測試,而且任何程式碼變更都無法替淺薄的選擇權鏈增加月度期間。凸性論點從未被證偽;只是現有的選擇權歷史資料不足以進行測試,因此策略就此放棄,沒有再第三次撞上同一道牆。

假說

透過 SINGLE 長選擇權腿,而非永續合約,表達 BTC 趨勢觀點,將趨勢追隨報酬轉化為凸性且風險明確的結構。當 BTC 處於確認的上升狀態 AND 隱含波動率便宜時,在 Deribit 買進一張約 5% OTM 月度 CALL;當處於確認的下降狀態 AND 且 IV 便宜時,買進一張約 5% OTM 月度 PUT。沒有避險腿,也沒有做空保證金——最大損失為已付權利金。這刻意與流程中做空波動率的現金擔保賣權賣出,以及非方向性長跨式策略相反:此處採取 LONG Vega + LONG 方向性,捕捉 BTC 報酬的肥厚右尾/左尾;永續合約趨勢追隨者則因手續費侵蝕與停損反覆觸發而蒙受損失,無法捕捉這些尾部報酬。單腿結構避開了始終未能通過驗證的多腿選擇權執行路徑(L2)。Deribit BTC 是流動性最高的加密貨幣選擇權市場,目錄中有 greeks/IV,而 Deribit 單腿 BTC 結構已通過 Layer-3 沙盒(長跨式、CSP 賣出都達到 backtest_review),因此資料可用性與執行風險都已降低。一次填補兩個代表性不足的類別:選擇權交易場域(約 5%,目標為 15%)與 long_short 方向性(15%,相較於目標),期限為中至長期,且只有 4 個參數。

第 3 次迭代,修正 Layer-3 牆鐘逾時(>300 秒)。所有訊號邏輯已通過 Layers 1 和 2,因此修正範圍嚴格限於回饋指出的每根 bar 成本。根本原因:_realized_vol_cheap() 以 Python for 迴圈遍歷完整收盤價歷史資料(`for i in range(n): rolls[i] = rets[i:i+w].std()`)來計算移動標準差——每次呼叫的複雜度為 O(n·w);每逢 DVOL 歷史資料不足時(也就是整個回測初期/資料有缺口的部分),它都會在每根 bar 上作為 cheap-IV 備援方案執行,這正是診斷所述「每根 bar 都在 on_bar 中重建清單」的模式。修正方式:(1) 以完整向量化的累積和移動標準差取代該迴圈(母體標準差,ddof=0——與 np.std 預設值相同),讓備援方案的複雜度降為 O(n),且不使用 Python 迴圈;(2) 依每根 bar 的時間戳快取 cheap-IV 判定(_iv_cheap_ts/_iv_cheap_val),使同一 bar 的期間/腿部掃描中,重複呼叫的成本為 O(1);DVOL 路徑原本就透過 np.searchsorted 達到 O(log n),不作更動。未更動匯入項目、類別結構、狀態邏輯、換倉邏輯或進出場條件,因此 Layers 1 和 2 不會退步。為了進一步防範腿部 bar 數量過多(這與滾動選擇權同類策略遇到的失敗模式相同),設定檔將永續合約主要 AND、rolling_options 腿的 `timeframe` 固定為 1-DAY(擴展器預設會將腿部設為 1-HOUR,造成 6-24x 的腿部 bar 數量暴增),並將 lookback_days 上限設為 365(約 12 個月度期間)。

實作

BTC Deribit MONTHLY 單腿長選擇權趨勢凸性策略,受便宜-IV 條件限制,雙向皆具方向性。主要 BTC-PERPETUAL.DERIBIT(1-DAY)決定換倉時點並提供每日收盤價序列;可交易腿為解析後的月度約 5% OTM 買權與賣權合約。當 BTC 處於確認的上升狀態(價格高於上升中的 50 日 SMA),且 AND 隱含波動率便宜(DVOL 百分位 <= 0.40,以實現波動率百分位作為備援),便買進一張 OTM 月度 CALL;當處於確認的下降狀態 AND 且 IV 便宜時,則買進一張 OTM 月度 PUT。每個月度到期日最多持有一條長腿,並於到期前 5 DTE 向後換倉;若狀態反轉而不利於該腿,或觸發 -70% 權利金災難性停損,則提前出場。長 Vega + 長方向性,最大損失 = 已付權利金,沒有做空/避險腿。

驗證結果

驗證失敗(Layer 3 — 沙盒回測):冒煙測試超過 300 秒的牆鐘時間限制。這幾乎總是表示每根 bar 的工作量會隨歷史資料增加,例如重新掃描完整資金費率/補充序列,或在每根 bar 的 calculate_signal()/on_bar() 中重建清單並呼叫 min()/sorted()。請在 __init__ 中預先計算已排序的時間戳陣列 ONCE 並使用 bisect,或依時間戳快取查詢結果,讓每根 bar 的成本為 O(log n) 而非 O(n)。

分析師:確認整個期間內有 total_trades;同時受雙重條件限制的月度長選擇權計畫,交易筆數可能太少,無法得出可靠結論。考慮將 lookback_days 延長至 365 以累積更多到期日。

交易筆數/統計檢定力偏低。月期期限(dte 30)搭配 365 天的選擇權鏈回溯期間(約 12 個到期日),再經過 BOTH 已確認趨勢狀態條件 AND 便宜-IV 條件篩選,因此在該期間內實際開倉的長腿遠低於 10(沙盒總共產生 9 筆)。這遠低於約 100 筆交易的門檻,無法明確區分優勢與雜訊;較寬的 Sharpe CI([-13.1, 11.1],PSR 0.77)也證實估計的信心偏低。這是雙重條件限制月度選擇權計畫的固有問題,因此屬於分析師應留意的限制,而非程式碼缺陷;但若沒有長得多的期間,就不應信任此策略的任何 Sharpe/PF。

確認 BacktestRunner._apply_fees 涵蓋 DERIBIT 選擇權腿部工具;在信任 avg_trade_return_pct 前,先確認完整回測有非零佣金。

沙盒回報 total_commission=0.0001(約為零),涵蓋 9 筆選擇權交易。Deribit 選擇權手續費(每口合約按標的資產收取 0.03%,上限為權利金的 12.5%)對需支付權利金且開倉和平倉都會被收取手續費的 LONG 選擇權而言相當重要。佣金結果接近零,表示注入的腿部工具可能未套用選擇權手續費,這會高估支付權利金的長選擇權組合淨報酬。這是回測引擎/手續費問題,而非策略程式碼缺陷。

考慮在 DVOL 和 RV 均無法測量時,預設為 False(略過進場),確保每筆進場確實符合便宜-IV 合取條件;或透過日誌確認沒有交易是在寬鬆的備援條件下進行。

若兩種波動率指標皆不可用,便宜-IV 條件會 PERMISSIVE:若 DVOL 歷史資料不足(< min_iv_samples)AND 且無法計算實現波動率備援值,_iv_cheap 會回傳 True,因此即使WITHOUT沒有確認便宜-IV條件,仍可能進場。假設要求便宜 IV 為必要的合取條件(「已確認的狀態 AND IV 便宜」)。對於 BTC Deribit DVOL,此期間會很快填滿,因此影響僅限於回測初期/資料有缺口的部分;但在該區間進行的任何交易都只符合狀態條件,而非規格所述的狀態-AND-便宜-IV。

分析師:確認每筆交易的權利金支出占權益比例合理(風險明確的長選擇權每筆交易應只承擔少量百分比的風險);若 1 口合約相對於權益過大,請改用權利金預算(risk_frac)進行部位規模設定。

在沙盒中,avg_position_pct=93.6%。每次進場透過繼承的 _leg_size 固定配置 1 張合約(contracts=1.0)。對於長倉選擇權,真正的風險是支付的權利金(風險明確,而 -70% 停損會進一步限制風險),因此偏高的報告 position_pct 可能反映引擎估值的是選擇權的 NOTIONAL(合約數 x 標的資產),而非承擔風險的權利金。值得確認固定的 1 張合約部位,在權益較低時不會讓組合過度集中,或在完整回測中造成相對於權益而言不合理地高額的權利金支出。

回測檢視

夏普值
3.43
總報酬率
10.15%
最大回撤
9.79%
總交易筆數
9
勝率
44.4%
獲利因子
1.86

機制健全且通過驗證:單一長選擇權腿以風險明確的凸性方式表達趨勢觀點,沒有多腿執行路徑。

填補兩個代表性不足的類別(選擇權交易場域 + long_short 方向性)。

在有交易的情況下,每筆交易的凸性表現看來有利(PF 1.86、正偏態 1.55,僅 max_dd 9.8%)。

整段可用選擇權歷史期間僅有 9 筆交易;引擎標示 metrics_reliable=false。

全部淨報酬都來自單一離群月份(2026-02 +14.3%);其他 8 個月大致互相抵銷。

sharpe_ci_low = -13.1 — Sharpe CI 跨越 0;deflated_sharpe 無法計算。指標在統計上毫無意義。

目錄中的 Deribit BTC 月度選擇權鏈僅涵蓋約 12 個到期日(從 2025-07 起);lookback_days=365 已涵蓋所有資料——開發者無法增加月度期間。

這是第二次得到完全相同的 9 筆交易結果;在同一道資料限制下再次迭代只是在原地打轉。

分析

不要在 9 筆交易上進行 NOT 最佳化(引擎標記 metrics_reliable=false,且全部 +100% 報酬都來自單一的 Feb-2026 離群值)。根本原因是資料涵蓋範圍,而非邏輯:rolling_options.lookback_days 為 365,因此月度選擇權鏈擴展後僅找到約 12 個期間(從 2025-07 開始)。獲晉升的 CSP 同類策略使用 lookback_days=1100,並取得回溯至 2023、涵蓋 36 個期間的選擇權鏈。FIX:將 rolling_options.lookback_days 提高至約 1100,讓 Deribit 月度 BTC 選擇權鏈涵蓋 2023-2026,產生約 36 個進場機會(約為目前交易數的 3x 倍),以及橫跨 2024 多頭行情與 2025-26 回撤期、足以進行統計檢驗的樣本。在投入最佳化運算資源前,重新回測並確認此優勢在約 30+ 筆交易中仍然存在(正期望值 NOT 不依賴單一月份,win_rate 與 profit_factor 保持穩定)。其餘一切維持不變。

結果摘要

機制健全且已通過驗證的選擇權策略,若目錄中只有約 12 個月度到期日,仍然無法驗證——9 筆交易的 Sharpe 為 CI,信賴區間從 -13 到 +11,且全部報酬都來自單一月份,這些資料不足以支持最佳化;因此,在反覆迭代前必須確認選擇權鏈的深度。

回測審查者在最佳化前的關卡回覆「revise_hypothesis」:機制健全且已通過驗證,但目錄中的 Deribit 月度 BTC 選擇權鏈僅涵蓋約 12 個到期日(從 2025-07 起),因此 lookback_days=365 已涵蓋所有資料,開發者無法增加期間;而且這已是第二次得到相同 9 筆交易結果,繼續迭代只是在資料限制前原地打轉。最終階段已放棄。

一種在 Deribit BTC 月度到期日上運作的單腿長選擇權策略,以凸性方式表達方向性趨勢觀點:在確認的上升狀態且 IV 便宜時,買進約 5% OTM 買權;在確認的下降狀態且 IV 便宜時,買進約 5% OTM 賣權;最多持有一條風險明確的腿(最大損失 = 權利金),並按月換倉。

回測在可用選擇權歷史資料中僅交易 9 次(6 次買權、3 次賣權,平均進場 IV 0.323,淨進場 Vega +751,約 24 DTE),且 metrics_reliable=false:名目 Sharpe 為 3.43、獲利因子為 1.86,具正偏態且最大回撤為 9.8%,但 sharpe_ci_low 的 -13.1(CI 跨越零),全部淨報酬也都由單一離群月份帶來(2026-02,+14.3%)。未執行任何最佳化階段。

Stratmill 是一款研究與模擬交易工具,並非財務建議或經紀商服務。回測與模擬交易結果均為假設性質。交易涉及虧損風險。