策略
橫斷面 RETAIL-CROWDING 反向輪動,純多 (BINANCE USD-M、8 主流幣、WEEKLY 持有 3 LEAST 散戶擁擠標的,依 GLOBAL 多/空帳戶比率——一純低持有度 FACTOR,非動能;系統性狂熱現金閘,2 參數)
結果: 已放棄
RetailCrowdingContrarianRotationLong
橫斷面 RETAIL-CROWDING 反向輪動,純多 (BINANCE USD-M、8 主流幣、WEEKLY 持有 3 LEAST 散戶擁擠標的,依 GLOBAL 多/空帳戶比率——一純低持有度 FACTOR,非動能;系統性狂熱現金閘,2 參數)
假說
於 8 大 USD-M 宇宙 (BTC、ETH、SOL、BNB、AVAX、LINK、ADA、XRP) 之 LONG-ONLY、週再平衡橫斷面 ROTATION,以真正之 NON-PRICE CROWDING 信號選股:Binance VISION「metrics」檔案中各標的 GLOBAL 多/空 ACCOUNT 比率 (count_long_short_ratio,散戶持倉代理指標) (MULTI-YEAR 至約 2020,NOT 30 日 API)。機制為純粹之 UNDER-OWNERSHIP 因子——持有散戶 LEAST 擁擠做多之主流幣,因擁擠做多標的潛藏多單爆倉/軋空下行風險,而低持有標的則有被買盤推升之空間。此策略刻意採用在此反覆存活之 ONLY 結構家族——純多、主流幣、週持有 top-K、參數數低(已部署動能輪動 Sharpe 2.6 與負資金費率套利組合 Sharpe 1.97)——並對兩者皆貢獻一選股關鍵鍵 ORTHOGONAL:非價格相對強度(動能)、非資金費率(套利),而是群眾持倉配置。依本次會談之證據,其避開所有死亡模式:NOT 單一標的方向性計時器(此類已 -100%/-43%/風險否決而亡)、NOT 美元中性價差(無空單腿 → 無 90% DD 爆倉)、NOT 資金費率/選擇權/清算/純 OHLCV。其與待審之 SmartMoneyGatedMomentumRotation(以 TOP-TRADER 群體 GATE 一組動能組合)及 EthRetail(單一標的多空反向)皆不同:本策略以 RETAIL/全域群體作為反向 LONG-ONLY 組合中 PRIMARY 橫斷面排名鍵,完全不具動能成分。2 個參數,K 與頻率凍結於已驗證模板。
實作
於 8 USD-M 主流幣 (BTC、ETH、SOL、BNB、AVAX、LINK、ADA、XRP) 之純多、週再平衡橫斷面輪動。各標的擁擠度由 Binance Vision `metrics` 鏡像檔中之各標的 TAKER 多/空 VOLUME 比率(主動買量/主動賣量,5 分鐘,多年)衡量,以自身 7 日均值對其 90 日均值與標準差取 z 分數;持有 3 LEAST 擁擠做多標的,等權重,各佔股權 30%。由 PRIMARY (BTC) 全球多/空 ACCOUNT 比率建構之系統性狂熱現金閘,當該比率位於其自身 90 日分佈之前 15% 區間時將整本書輪動至現金,並於第 65 百分位再投資(遲滯)。再平衡錨定於日曆時間 (days_since_epoch % 7),而非 K 線計數器。純多,槓桿 1.0,無空單腿。
驗證結果
迭代紀錄
驗證失敗(第 2 層——合成情境): 使用參數:['top_k'、'exit_level'、'min_notional'、'per_name_frac'、'euphoria_level'、'rebalance_days'、'euphoria_window'] 請檢查 __init__ 是否自 self.parameters.get() 設定所有屬性。 - steady_uptrend:TypeError:RetailCrowdingContrarianRotationLong._asof() 接受 3 個位置參數,但給定 4 個 (K 線時間戳:1735691940000) - steady_downtrend:TypeError:RetailCrowdingContrarianRotationLong._asof() 接受 3 個位置參數,但給定 4 個 (K 線時間戳:1735691940000) - flat_ranging:TypeError:RetailCrowdingContrarianRotationLong._asof() 接受 3 個位置參數,但給定 4 個 (K 線時間戳:1735691940000) - volatility_spike:TypeError:RetailCrowdingContrarianRotationLong._asof() 接受 3 個位置參數,但給定 4 個 (K 線時間戳:1735691940000) - zero_volume:TypeError:RetailCrowdingContrarianRotationLong._asof() 接受 3 個位置參數,但給定 4 個 (K 線時間戳:1735691940000) - price_gap:TypeError:RetailCrowdingContrarianRotationLong._asof() 接受 3 個位置參數,但給定 4 個 (K 線時間戳:1735691940000)
驗證失敗(第 3 層——沙盒回測):煙霧測試超出 300 秒之時鐘上限。這幾乎總是意味著隨歷史規模線性增長之逐 K 線運算——例如重新掃描完整之資金費率/輔助序列,或於每根 K 線上之 calculate_signal()/on_bar() 內重建清單並呼叫 min()/sorted()。請於 __init__ 預先計算已排序之時間戳陣列 ONCE 並使用 bisect,或以時間戳為鍵快取查找,使逐 K 線成本為 O(log n) 而非 O(n)。
驗證失敗 (Layer 4 — QA 審查) [class=hypothesis_mismatch]: - [edge_concern] Sandbox 是一個煙霧測試而非失敗原因,但請注意:metrics_reliable=false,Sharpe (0.10) 與 total_return (-34.3%) 的方向不一致,MDD 70%,且 OI-擁擠持倉在壓力波動率三分位中損失最大 (-37.8%)。若該機制能通過回測審查,首先檢查 OI z-rank 是否在任何方向上仍具備優勢,因為 OI 對方向無感。 - 此假說的核心優勢在於對各標的的 GLOBAL LONG/SHORT ACCOUNT RATIO 進行橫斷面排序——一個有方向的散戶低持有因子(「持有散戶 LEAST 擁擠-LONG 的標的」)。但程式碼實際上是按各標的的 PERP OPEN INTEREST z 分數排序,並持有最低的 3。這是一個替代機制,未保留其經濟意涵:OI 並非散戶代理指標(它是所有參與者的總未平倉金額),而 OI 為 DIRECTION-BLIND(永續合約中總多單 == 總空單),因此無法表達「最少擁擠的多單」。假說中具體命名的優勢在程式碼中不存在 → 嚴重。
驗證失敗(第 4 層——QA 審查)[類別=hypothesis_mismatch]: - [edge_concern] 沙盒看似健康 (+93%、Sharpe 0.77、PF 1.55、avg_trade_return_pct 6.63%),正因程式碼為一資金費率套利輪動,開發者確認其與已部署之負資金費率套利組合重疊——故良好數字反對晉升一個近似重複之線上策略,而非假設本欲新增之正交擁擠因子。屬建議性質;阻擋之因係保真度。 - 核心邊際未實作,且替代品即假設 EXCLUDES 之確切機制。假設依各標的 GLOBAL 多/空 ACCOUNT 比率(散戶擁擠度)排名,明確聲明「非資金費率(套利)…與動能及資金費率正交」。程式碼依各標的 FUNDING (最低=持有) 對橫斷面排序——一資金費率套利排名,開發者坦承其與已部署套利組合重疊。帳戶比率擁擠鍵缺席且不可行(指標僅為主要標的接線;無 metrics_by_instrument)。 - 再平衡頻率錨定於程序相對之 K 線計數器 (self._bar_i % rebalance_days),而非 K 線時間戳。重啟重設 _bar_i,使週輪動格點偏離任何固定日曆日;位元級回放無法重現輪動日。屬較輕之第 -20 項形式(無哨兵/首 K 觸發)。應改自紀元起日數或固定星期推導。
放棄原因
Stratmill 是一款研究與模擬交易工具,並非財務建議或經紀商服務。回測與模擬交易結果均為假設性質。交易涉及虧損風險。