跳至內容

檢視原文

HyperliquidSolFundingExtremeContrarian

假設

Hyperliquid SOL 永續合約資金費率極端值逆勢策略 — 多空、單一標的:當滾動資金費率 Z 分數達到極端值時,對擁擠部位進行 FADE(資金費率極高且為正 = 槓桿過高的多頭 → SHORT;資金費率極低且為負 = 投降的空頭 → LONG),以價格未確認作為確認條件,於資金費率回歸/ATR 停損/時間停損時出場(SOLUSDT.HYPERLIQUID、4 小時、3 個參數)

假設

這是一個在 Hyperliquid SOL 永續合約上運作的 LONG-SHORT、單一交易標的、由 POSITIONING 驅動的逆勢策略,圍繞一個 NON-OHLCV 機械式訊號 — 永續合約 FUNDING — 建構,其使用方式與策略工廠中已淘汰的現貨持有套利策略家族呈 OPPOSITE 關係。這 NOT Delta 中性的套利策略(該策略因資金費率損益相對於基差雜訊過小而遭淘汰),也 NOT 價格動能策略(HL 動能籃子為 0/84)。此處以資金費率作為擁擠程度/部位配置的衡量指標,掌握 DIRECTIONAL 逆勢交易的時機:已有充分文獻記錄的結果顯示,當永續合約資金費率極高且為正時,多頭槓桿過高,並支付費用以維持部位 — 歷史上,此狀態往往出現在永續合約未來報酬為 LOWER 之前(軋倉/洗倉風險);相對地,極端負資金費率則標示空頭投降,之後往往出現反彈。選擇此策略是為了一次補足三個代表性不足的類別:HYPERLIQUID(6.8%,目標為 20%)、long_short(14.2%),以及一個資料安全、非 OHLCV 且不在 OHLCV 過度擬合墳場中的優勢。刻意採用單一標的與 3 個參數,以確保可實作性(多交易標的的 HL 籃子因編碼逾時而遭淘汰),並抵抗過度擬合。IMPLEMENTATION NOTE:以逐步更新的滾動雙端佇列維護資金費率基準(每次更新為 O(1))— NEVER 在 on_bar 內重新掃描完整資金費率序列(該模式曾導致反覆發生 300 秒的沙箱逾時)。

假設

第 2 次迭代修正了第 -2 層唯一的失敗問題(`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`,全部六個情境)。第 -2 層的 `_StrategyProxy` 透過 `types.MethodType` 將策略的每個可呼叫屬性重新綁定至一個普通包裝器,這會把基底類別中接受單一引數的 `_bar_ts` 靜態方法轉成綁定方法 — 因此呼叫 `self._bar_ts(bar)` 時會帶入兩個引數。最小修正是將該次呼叫替換為模組層級的 `_bar_timestamp_ns(bar)` 輔助函式,直接讀取 `bar.ts_event`(若無則改用 `ts_init`)— 行為完全相同,且不受代理物件重新綁定的影響。其他部分皆未變更:匯入、類別結構、資金費率解析、訊號邏輯、進場、出場及部位規模設定,均與通過第 1 層的 previous_code 逐位元組相同,因此先前的檢查不會出現回歸問題。請注意,`_bar_interval_ns` 仍由 `__init__` 呼叫,而後者會在代理物件重新綁定任何項目之前於真實實例上執行,因此不受影響。槓桿 2.0 在 `position_size` 中透過 `self.config.leverage` 用於總名目曝險上限。

假設

負期望值的單一標的資金費率極端反向淡出策略——沒有可供最佳化的優勢。PF 0.60、total_return -33.7%、夏普值 -0.42、期望值 -$156/筆交易,以及 avg_trade_return_pct -0.37%(為負,低於 0.15% Hyperliquid 費用底線,L22)。每一年均虧損(2024 -14.8%、2025 -13.8%、2026 -6.5%),且多空兩個腿的勝率均低於 -43%,avg_loss > avg_win——反向淡出策略系統性地站在行情移動的錯誤一側,而唯一的正報酬月份只是單一 +10.77% 離群日(峰度 9.8)。機制實作良好(無逾時,且資金費率已計入),但屬於兩個零存活者族群:單一標的均值回歸/淡出(L55)與單一永續合約補充(資金費率)閘控方向性策略(L73)。價格未確認閘門沒有帶來真正的優勢。每筆交易優勢的符號為負,任何參數調整都無法將其翻轉。不值得投入 2 小時進行最佳化。失敗模式:fee_edge/no_edge 單一永續合約資金費率閘控反向淡出。

實作

Hyperliquid SOL 永續合約上的多空單一標的反向策略(4H 柱)。資金費率被用作擁擠度指標:每根柱都返回以自身追蹤分布計算的 hl_funding_rates 報價滾動 z 分數,作為連續訊號。極高的正 z(擁擠、過度付費的多頭)以 SHORT 淡出;極低的負 z(投降式空頭)以 LONG 淡出,但僅限價格未確認該擁擠狀態(收盤價未創下新的 confirm_bars 柱高點/低點)。於資金費率回歸(|z| <= exit_z)、進場時快照的 ATR 止損,或自 position.ts_opened 起計算的曆法時間止損時出場。倉位大小以風險優先:ATR 止損約消耗權益的 risk_frac,另設獨立的毛名目上限。

驗證結果

CLEAN RESTART 2026-09-04 — 本次執行的判定歷史與學習記錄已移除,並從驗證重新開始。先前的放棄源自管線,而非市場:Layer-2 harness 錯誤繫結了 @staticmethod 輔助函式(已修正),QA 在未最佳化的煙霧測試上發布了終局績效判定(已移除——QA 現在僅判斷正確性),而沙盒逾時則源於回測槽位耗盡(已修正)。假設與策略程式碼均未變更。請依據程式碼本身的優點進行驗證;績效將由完整回測與最佳化在稍後決定。

驗證結果

將 _param_bounds 縮限為標榜的 3 個可調參數(entry_z、exit_z、funding_lookback_prints);將風險/底層運作參數固定為常數。

驗證結果

此假說標榜「刻意採用 3 個參數,以抵抗過度擬合」的設計,但 _param_bounds 卻暴露了 11 個可最佳化參數。機制正確,但 11 維的前推搜尋與所述的防止過度擬合理由相矛盾,並提高了 PBO 風險。不構成阻擋。

驗證結果

無需採取任何措施;已告知分析師。

驗證結果

Layer-2 合成訊號全部凍結於 0.0(未注入資金費率),因此交易路徑僅由沙盒執行(使用真實資金費率交易了 65 次)。非致命。

回測檢視

機制運作順暢,並產生足夠的樣本(201 筆交易,歷時 953 天),且沒有逾時——O(log n) 資金費率實作依預期運作

回測檢視

單一交易標的、單一補充資料來源(hl_funding_rates),無資料/驗證異常;資金費用已計入損益

回測檢視

負期望值:profit_factor 0.60、total_return -33.7%,期望值 -$156/筆交易

回測檢視

avg_trade_return_pct -0.37%——為負,且遠低於 0.15% Hyperliquid 費用底線(L22)

回測檢視

三年全部虧損(2024 -14.8%、2025 -13.8%、2026 -6.5%)——是持續性的無優勢,而非優勢衰退

回測檢視

多空兩邊皆虧損(多頭勝率 42%、空頭勝率 42%),且 avg_loss > avg_win — 資金費率極端值逆勢策略站在行情走勢的錯誤方向

回測檢視

唯一的正報酬月份是單一 +10.77% 離群日(峰度 9.8);底層價格走勢一致為負

回測檢視

以資金費率為觸發條件的單一標的方向性逆勢交易 — 均值回歸(0/174)及以補充資料為觸發條件的單一永續合約方向性策略(L73),均屬零存活者類別

Iteration History

驗證失敗(第 2 層 — 合成情境): 使用的參數:['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints'] 檢查 __init__ 是否透過 self.parameters.get() 設定所有屬性。 - steady_uptrend:TypeError:FactoryStrategy._bar_ts() 接受 1 個位置引數,但傳入了 2 個(K 棒時間戳記:1735690500000) - steady_downtrend:TypeError:FactoryStrategy._bar_ts() 接受 1 個位置引數,但傳入了 2 個(K 棒時間戳記:1735690500000) - flat_ranging:TypeError:FactoryStrategy._bar_ts() 接受 1 個位置引數,但傳入了 2 個(K 棒時間戳記:1735690500000) - volatility_spike:TypeError:FactoryStrategy._bar_ts() 接受 1 個位置引數,但傳入了 2 個(K 棒時間戳記:1735690500000) - zero_volume:TypeError:FactoryStrategy._bar_ts() 接受 1 個位置引數,但傳入了 2 個(K 棒時間戳記:1735690500000) - price_gap:TypeError:FactoryStrategy._bar_ts() 接受 1 個位置引數,但傳入了 2 個(K 棒時間戳記:1735690500000)
策略報告

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