策略
ETH 隱含波動突破:依選擇權市場反應分類。當 Deribit ETH DVOL 重新定價上升時,延續 >= 2-Sigma 標準化的 24h DVOL 變動;當 DVOL 持平或下降時,則反向交易(ETHUSDT.BYBIT 4H,多空,固定 48h 按時鐘出場並設盤中停損)
結果: 已放棄
EthDvolReactionShockClassifier
結果摘要
EthDvolReactionShockClassifier 測試選擇權市場的反應(Deribit ETH DVOL 的變化)能否區分值得跟進的真實 ETH 衝擊,與值得反向交易的資金流驅動衝擊。此策略依所述假設實作,約 5.5 年內觸發 117 次,接近預測數量,但仍虧損 7.52%,夏普值為 -0.28,平均交易報酬為 -0.555%。每種波動率市場狀態下都出現虧損,且扣除成本前亦然;已執行訊號沒有可測得的資訊(IC -0.002)。因此,分析師在一次迭代後於回測檢視階段放棄此策略,未進行最佳化;此判定僅適用於這個構想版本,不涵蓋一般以 DVOL 為基礎的市場狀態篩選。
假說
單一商品、多空雙向、事件驅動的 ETHUSDT.BYBIT 交易(Bybit 線性 USDT 永續合約,4-HOUR K 線,歷史資料自 2021-03 起)。除價格 K 線外,唯一輸入是 Deribit ETH DVOL 隱含波動率指數(補充資料鍵 deribit_dvol,每小時資料自 2021-03 起)。構想:以期權市場事前定價的波動衡量大型 24 小時 ETH 走勢,而非以過往實現波動率衡量。DVOL 隱含的 1 日標準差為 DVOL_24h_ago / 100 / sqrt(365)。當走勢突破該隱含區間(|z| >= k)時,同一個 24 小時內期權市場自身的反應,將告訴我們如何解讀。(a) DVOL 跳升:期權買方願意付出更高價格,造市商的伽瑪部位轉為淨空,市場將此走勢視為新資訊,因此負伽瑪避險通常會追隨走勢 -> 順著走勢交易 WITH。(b) DVOL 持平或下跌:波動率賣方吸收走勢,造市商持有淨多伽瑪並採取反向操作,因此這被解讀為資金流或雜訊 -> 逆著走勢交易 AGAINST。介於兩者之間的走勢不予交易。策略工廠此前從未做過這種策略。先前的 DVOL 研究以 DVOL 水準減去實現波動率,作為緩慢變化的市場狀態閘門;先前的衝擊後續走勢設計(L214)則以現貨成交量而非期權來分類衝擊。觸發頻率是事件計數,不是績效研究。設定 k=2.0 並以 48 小時去群聚後,自 2021-03 起約有 166 個事件(每年約 30 個)。約有 46% 個事件的 DVOL 上升 3 或更多波動率點,約有 26% 個事件的 DVOL 變化小於或等於零。這代表約有 115 個可交易事件(每年約 20 個)。事件發生後,未來 48 小時平均絕對走勢約為 4.4%。若捕捉其中 15-20%,每筆交易約為 0.65-0.9%,成本則包括 Bybit 約 0.11% 的雙邊吃單費、約 0.05% 的滑價及資金費率。須在固定設定下執行的配對對照組:classification_mode = always_continue 及 always_fade。此假設預測 dvol_conditioned 優於兩者。執行方式:Bybit 交易 24/7,因此訊號 K 線收盤時以市價單下單,這相當於平台上的下一根 K 線開盤成交(use_equivalent,此處明確說明)。停損為平台匹配的盤中只減倉 stop_market,而非掛在交易所的 resting order。風險控制路徑 (a):停損時最多損失權益的 1%。
no_edge:negative_expectancy。費用底線比較:avg_trade_return_pct 為 -0.555%,相較於 +0.15% BYBIT 費用底線;可靠樣本涵蓋 117 筆已平倉交易,歷時 2,033 天。PF 為 0.835,夏普值為 -0.28,總報酬為 -7.52%。扣除手續費、價格衝擊與資金費率前的毛利損益也為負(每名目本金約 -0.2%),因此問題並非費用侵蝕。已執行訊號的 IC 為 -0.002(t = -0.06),所以五個可調參數(z_entry、hold_bars、shock_bars、dvol_up_pts、dvol_flat_pts)沒有可供調校的資訊。策略在平靜、一般與壓力市場狀態下都虧損。QA 的疑慮在完整歷史資料中獲得證實。QA 也提出可能存在 1h DVOL 前視偏差;這只可能美化此分支的結果,因此不會改變判定。always_continue 與 always_fade 對照組未分開執行。條件分支本身沒有顯示毛利資訊,因此它們無法挽救此機制。範圍:本結論否定研究主管對此構想的實際化版本(Deribit ETH DVOL 24h 變動,用以分類 ETHUSDT.BYBIT 4H 上 >= 2-sigma 的隱含波動突破,並於 48h 按時鐘出場)。這並不否定以 DVOL 為基礎的市場狀態篩選概念。本文未主張有帳務或資料缺陷。
實作
ETHUSDT.BYBIT 4H 多空事件策略。每根 K 線:z = ln(close/close[shock_bars ago]) / (DVOL[shock start]/100*sqrt(window/365d)),也就是以走勢發生前定價的 Deribit ETH DVOL 隱含標準差衡量走勢幅度(24h,shock_bars=6)。若 |z|>=z_entry,且不在 12 根 K 線(48h)去群聚區間內,即視為事件。依相同區間內的 DVOL 變動分類事件:>= dvol_up_pts 個波動點 -> 順著走勢方向交易 WITH;<= dvol_flat_pts -> 逆著走勢方向交易 FADE;介於兩者之間 -> 略過。控制參數為 classification_mode = always_continue / always_fade。進場是在訊號 K 線收盤時下市價單(24/7 交易場所:平台上相當於下一根 K 線開盤成交)。出場:在 hold_bars 後按固定時間出場(12 根 K 線 = 48h),另於成交時依成交價的隱含衝擊區間標準差 stop_sigma 倍設置盤中只減倉 stop_market。部位大小 = 權益的 1% 風險額度 / 停損距離,上限為權益 x 槓桿 x max_notional_frac(x0.95 保證金緩衝)。超過 dvol_max_staleness_hours 的 DVOL 筆觀測值或資料缺漏,均視為沒有事件(空倉;不回退使用純價格訊號)。
直接實作此假設:選擇權市場反應(DVOL 重新定價)將隱含價格變動幅度遭突破歸類為資訊(續抱,造市商伽瑪部位為空)或資金流(反向操作,造市商伽瑪部位為多)。隱含 sigma 透過依當時可得資料進行的時間點查詢(_supp_arrays + bisect,並設有資料過時防護),使用衝擊時窗起始時點的 DVOL;載入器會為 DVOL K 線標記可用時間。每根 K 線回傳的訊號都是原始的 DVOL 標準化 z 值;事件方向則以純量屬性計算,並在 should_enter 中設定門檻。所有時間邏輯(事件去群聚、持有 48 小時)皆以 K 線時間戳記為基準,而非運行時間計數器;所有部位狀態均為純量。風險路徑 (a):停損 <= 權益的 1%;以典型的 DVOL 約 70 計,24 小時 sigma 約為 3.7%,停損約為 5.5%,部位約占權益的 18%。執行替代方式:next_bar_open_fill -> 在訊號 K 線收盤時下市價單(use_equivalent);exchange_resting_stop -> 與平台匹配的僅減倉 _submit_stop_market(use_equivalent)。隱含 sigma 會依衝擊時窗的平方根縮放,使 shock_bars 3/6/12 保持可比(6 = 假設中的 24 小時)。
驗證結果
讓查詢不受旗標影響:在 ts - 1h 讀取 dvol_now,並在 past_ts - 1h 讀取 dvol_then(提前一根 DVOL K 線),或檢查載入器的時間戳設定。另一種方式是請分析師確認完整回測,並設定 SF_SUPP_AVAILABILITY_STAMPS=1。
_dvol_at() 使用 bisect_right(ts_list, ts) - 1。這與 supp_as_of() 採用相同的單向查詢,因此程式碼本身沒有 abs() 式的前視偏差。然而,load_deribit_dvol 會將每小時 DVOL K 線的時間戳設為其 START,除非啟用 SF_SUPP_AVAILABILITY_STAMPS;而該旗標在 lookahead_guards.py 中預設為 OFF。我在設定檔或 systemd 中都找不到它。在 4H K 線收盤時間 T,dvol_now 因此是時間戳記為 T 的 K 線收盤值,而該值要到 T+1h 才會知道。因此分類器(dvol_now - dvol_then)最多使用決策後一小時的隱含波動率重新定價。設定理由指出「載入器會將 DVOL K 線的時間戳記設為資料可用時間」,但只有在該旗標啟用時才成立。這是所有 DVOL 策略與 supp_as_of() 共用的平台預設慣例,並非此程式碼查詢方式的缺陷,因此不構成阻礙。
無需變更。如有需要,可在診斷資訊中記錄持倉期間略過的事件,讓對照比較能一致地計算事件數。
只有在策略空倉時才會呼叫 should_enter()。在 48h 按時鐘出場的 K 線上偵測到的事件(或持倉期間的事件)會被略過,但仍會重設 last_event_ts,因此開始新的冷卻期。當 cooldown_bars=12 等於預設值 hold_bars=12 時,這種情況很少見。若最佳化器選出 hold_bars > 12,部分已去群聚事件便不會交易。這符合事件研究語義(一次只持有一個部位),但交易數會少於原始事件數。
僅供參考。
部位狀態(held_direction、entry_ts、stop_level)存於記憶體。若模擬交易在持倉時重新啟動,should_exit() 會回傳 True 並將部位平倉。這是安全的,而且回測期間不會重新啟動。
沙盒試跑(未最佳化,約 2033 天內有 117 筆已平倉交易):avg_trade_return_pct -0.54%,相較於約 0.15% 的費用底線;PF 0.84,夏普值為 -0.27。在三種波動率市場狀態下都虧損。117 筆交易中有 82 筆為放空,放空勝率為 39%,多單勝率則為 57%。每筆交易的部署資金約為權益的 18%,符合 1%-風險路徑。依據 L211,部位計算符合預期:117 x -0.54% x 約 0.18 約為 -11%,接近回報的 -7.2%。進行完整回測時,先在相同設定下執行預先登記的對照組(always_continue、always_fade),並按延續類與反向交易類事件拆分損益。另以 SF_SUPP_AVAILABILITY_STAMPS=1 重新檢查結果,或提前一根 K 線讀取 DVOL(見警告 1)。在目前預設值下,DVOL-變動分類器最多可讀取決策 K 線收盤後 1h 的 DVOL,這只會美化 dvol_conditioned 分支的結果。
回測檢視
- 夏普值
- -0.28
- 總報酬率
- -7.52%
- 最大回撤
- 14.78%
- 總交易筆數
- 117
- 勝率
- 45.3%
- 獲利因子
- 0.84
實作符合假設。衝擊以 DVOL 標準差標準化,分支分為延續(DVOL 上升)與反向交易(DVOL 持平或下降),以固定時間出場並設盤中只減倉停損,且採用 12 根 K 線去群聚。
部位計算符合預期:在 1%-風險路徑下,每個部位約占權益 18%,槓桿峰值為 0.40,沒有遭到強制平倉,且帳務核對一致。
樣本可靠:2,033 天內有 117 筆已平倉交易,接近此假設預測的約 115 個事件。
費用底線比較:avg_trade_return_pct 為 -0.555%,相較於 +0.15% BYBIT 費用底線。PF 為 0.835,夏普值為 -0.28(95% CI -1.25 至 0.53),總報酬為 -7.52%。
策略在扣除成本前已呈負值。手續費($2.26k)、價格衝擊($0.62k)與資金費率($0.33k)合計約 $3.2k,而部位名目本金約 $2.05M 時淨損失為 $7.5k。因此每名目本金的毛利約為 -0.2%,費用並非原因。
已執行訊號 IC 在 1,016 個觀測值中為 -0.002(t = -0.06):沒有資訊。判定為 rejected_no_information。
三種波動率市場狀態下都虧損:平靜 -0.63%、一般 -2.31%、壓力 -4.53%。六年中有四年為負,回撤持續約 1,546 天。
放空交易(82 / 117)的勝率僅 40%。tail_ratio 為 0.31。
QA 對前視偏差的疑慮(K 線收盤後最多 1h 才能讀取 DVOL)只可能美化 dvol_conditioned 分支的結果。修正後不可能讓結果轉正。
結果摘要
在此設定中,DVOL 的 24h 變化無法告訴你,面對 ETH 4H 上 2-sigma 的隱含波動突破時,應該延續或反向交易,即使在扣除成本前亦然。在圍繞選擇權反應分類器建立完整策略前,請先測試其毛利 IC,並與 always_continue 及 always_fade 對照組比較。
回測檢視時,分析師以沒有優勢(期望值為負)為由選擇放棄。扣除手續費、價格衝擊與資金費率前的毛損益也為負(每名目本金約 -0.2%),因此原因並非費用;而 IC 幾乎為零,可調參數也沒有可供最佳化的資訊。未進入最佳化及後續階段。
在 ETHUSDT.BYBIT 4H K 線上,策略以 Deribit ETH DVOL 的隱含標準差衡量每次 24h ETH 走勢幅度;當走勢突破至少 2 個標準差時採取行動:若 DVOL 上升 3 個點或更多,便順著走勢方向交易;若 DVOL 持平或下降,則逆著走勢方向交易;按固定 48h 持倉,並設盤中停損,風險為權益的 1%。
初始回測涵蓋 2,033 天,共有 117 筆已平倉交易。總報酬為 -7.52%,夏普值為 -0.28(95% CI -1.25 至 0.53),獲利因子為 0.835,avg_trade_return_pct -0.555%,相較於 Bybit 的 +0.15% 費用底線。訊號 IC 為 -0.002(t = -0.06),策略在平靜、一般與壓力波動率市場狀態下皆虧損。
Stratmill 是一款研究與模擬交易工具,並非財務建議或經紀商服務。回測與模擬交易結果均為假設性質。交易涉及虧損風險。