最初嘅要求好簡單:整個 BTC 自動交易 demo,再搵個 Sharpe 高嘅策略。
但做落去,真正嘅問題變咗:
第二條先係整份研究嘅核心。任何人掃一千組參數都一定搵到「靚」嘅結果 —— 問題係點分辨真假。
全部 1 小時 K 線,由公開交易所 API 抓,零 API key。 XRP 原始數據有個 905 日缺口(SEC 訴訟期間美國交易所下架), 表面上完全睇唔出 —— 檢查連續性先發現,已經自動只保留最長連續段。
每一級都比上一級難呃。整份研究嘅價值就喺呢度。
Demo 最初行 EMA 交叉 + RSI 濾網。四年 Sharpe -0.61,蝕 66%, 回撤 73%,炒足 623 次。
成本敏感度(同一個策略,只改手續費):
| 零成本(發夢) | Sharpe +0.74 |
| 3 bps | +0.46 |
| 15 bps(我哋假設) | -0.61 |
| 30 bps(散戶) | -1.86 |
佢唔係冇訊號 —— 係每次交易嘅優勢細過來回成本。623 次 × 0.3% ≈ 燒咗 187% 本金落手續費。
同一組參數、同一段時間長度嘅均線,淨係換 K 線大細:
由 1 小時到 1 日,Sharpe 全部 1.42–1.44。邊際效益喺「時間長度」,唔喺「取樣密度」。 個策略一年只做 次交易。
用條件前瞻回報驗(唔經策略揀選,所以冇 overfit 空間):睇「呢一刻之後 7 日賺幾多」。
| 指標區間 | 樣本 | 平均 7 日回報 | 勝率 |
|---|---|---|---|
| ADX 低 | 23,489 | +1.87% | 54% |
| ADX 高 | 5,956 | +4.28% | 69% |
| 回歸 R² 低 | 13,504 | +1.78% | 57% |
| 回歸 R² 高 | 23,608 | +3.10% | 60% |
| Hurst 低 | 15,969 | +2.99% | 54% |
| Hurst 高 | 7,370 | +1.99% | 54% |
ADX 單調而且分得好開。Hurst 完全冇分辨力 —— 高嗰邊反而差過低嗰邊,已經劃走。 另外:回歸本身(OLS 斜率)冇新資訊,佢基本上就係另一條移動平均線。有用嘅係「趨勢質素」, 唔係將「趨勢方向」再算一次。
呢個唔係我哋計劃入面嘅測試 —— 係諗緊「可唔可以行快一日」嗰陣意外量到嘅。
中間嗰行先係真。 第一行係用第 i 支嘅收市價做決定、然後喺第 i 支嘅開市價成交 —— 即係用一個當時仲未見到嘅價去落單。條數睇落好靚:回報由 232% 變 1,986%。
值得記住嘅唔係「唔好偷望」呢句廢話,而係個倍數。一個好隱蔽、差一格 index 嘅 bug,
可以令你以為搵到寶。所以 tests/ 入面有個專門捉呢樣嘢嘅陷阱測試:
對第 i 支 K 線有完美預知,唔可以喺第 i 支賺到 —— 引擎一改成收市價成交就即刻紅。
第三行順帶答咗另一條問題:遲一日成交要俾 22% Calmar。即係話個策略對執行時機唔算敏感, 但都唔係免費 —— 值得保住而家嗰個時序。
而且揀嘅時候分數越高,之後跌得越犀利:
| 喺邊隻幣揀 | 該幣分數 | 其他幣中位數 | 差距 |
|---|---|---|---|
| SOL | 1.82 | −0.09 | −1.91 |
| BTC | 1.39 | −0.13 | −1.52 |
| ETH | 1.10 | 0.13 | −0.97 |
| DOGE | 0.84 | 0.32 | −0.52 |
| ADA | 0.32 | −0.18 | −0.50 |
| LINK | 0.26 | 0.29 | +0.03 |
| LTC | 0.17 | 0.38 | +0.21 |
跑齊全部 35 種「3 隻幣揀 / 4 隻幣驗」切分:訓練分數中位數 0.48,未見過嘅幣中位數 0.13, 35 個入面 27 個變差,衰退中位數 −0.26。
沽空喺熊市的確有用,但長開就有害。試過五種開關條件(慢線下斜、ADX 確認、跌穿長期均線⋯⋯), 冇一個打贏得到「唔沽空」:長倉 only 中位數 0.40,最好嘅閘門 0.39,而且最差嗰隻幣仲衰過。
沽空腿逐隻幣睇,賺錢嘅正正係有持續熊市嗰啲:
做開加密貨幣嘅人最常講嘅一招係橫向動量:每日排一次名,只揸最強嗰幾隻。 我哋開頭用 7 隻幣試,數字好靚,但 7 隻根本冇得分兩個籃驗證。今次擴到 隻,先夠位做真正嘅測試。
全部一齊 in-sample 跑,最好嗰組係 ,Calmar —— BTC 嘅三倍幾。呢個數字我特登擺喺最前,因為佢冇意思: 佢就係一份唔留 held-out 嘅研究會 print 出嚟嘅嘢。
真正嘅測試係:將啲幣隨機劈成兩個唔重疊嘅籃,喺第一個籃揀參數,喺第二個籃報成績, 重複 次。
順帶一提,呢次連 plateau 都救唔到。之前單幣種嗰陣,plateau 明顯穩陣過 greedy; 今次兩個一齊冚 —— 因為呢度過擬合嘅唔係參數,係個籃。
我仲做多咗一個特別乾淨嘅測試:喺 IBKR 買唔到嗰 24 隻幣度揀參數,拎去 13 隻買得到嘅度跑。 測試籃完全冇參與過選擇:
睇落好似證明咗啲嘢。但同上面 12 個 split 擺埋一齊睇就唔可以咁讀: 排名係擲毫,所以呢個 1.75 大機會只係「呢個籃啱啱好」。真正穩陣嗰行係第二行 —— 13 隻等權,一個參數都冇揀過,就已經 2,187% → 4,702%。
最後一關,亦都係唯一可以決定要唔要改上線策略嗰關:封存最後兩年, 呢段期間整份研究從來冇攞嚟揀過任何嘢。唔揀參數,淨係問「等權籃係咪好過淨 BTC」:
加密貨幣圈成日講「跟住成交量」。試咗四種成交量閘(OBV 斜率、資金流 CMF、 企喺 VWAP 之上、成交量高於平均),喺 隻幣度驗。
問題係:跌市入面任何「減少落場」嘅做法睇落都會靚。所以真正嘅測試唔係同「冇 gate」比, 係同同樣場內比例、但完全隨機開關嘅閘比 —— 淨喺封存期做,每個閘隨機試 40 次:
試咗 個鏈上訊號(每個兩個窗口):whale 代用嘅平均轉帳金額、 活躍地址數、交易筆數、鏈上轉帳總額、手續費、算力、NVT。每個都同「將訊號旋轉去歷史上 另一個時間點」嘅 null 比,打贏隨機 90% 以上先算數。
BTC 同乜嘢一齊郁?回歸落 SPY、QQQ、黃金、長債、美元指數、3 個月息率、 10 年孳息、。
單週相關唔弱(SPY 0.20、QQQ 0.21),但呢啲係「解釋」唔係「預測」—— 攞嚟做未來一週嘅回歸,先睇下呢層關係穩唔穩:
逐個因子單獨做未來一週嘅預測(避免多因子互相抵銷),再分頭 70% / 尾 30%(封存)兩段睇:
十年 BTC 聽落好多數據,但獨立樣本其實得大約 十幾個市場情節 —— 幾個牛市、幾個熊市、幾段上落市。 喺 1,299 組參數入面,梗會有幾組啱啱好夾到嗰十幾個情節。呢個唔係優勢,係用一千個籤去抽十幾個結果。
加幣之所以有效,係因為佢真正增加咗獨立樣本,而唔係將同一條價格路徑切得更細。 一個 1 小時 K 線嘅 BTC 序列有 87,659 個數據點,但佢哋高度相關;八隻幣就係八條真正唔同嘅路徑。
發現四嗰張表入面,關係係倒轉嘅:兩個「揀出嚟最靚」嘅(SOL 1.82、BTC 1.39)崩塌得最犀利; 兩個「最難睇」嘅(LTC 0.17、LINK 0.26)反而係唯一 travel 得到嘅。
封存驗證講緊同一件事:系統自己揀嗰隻,訓練期 Calmar 6.43,封存期實際交出 0.27 —— 衰退 24 倍。
Sharpe 可以用一個賤招造靚:坐喺現金度。有個版本 Sharpe 1.37 睇落好靚, 但拆開睇 —— 1,461 日入面只有 162 日真係有倉,89% 時間貢獻零波幅,把個分母壓細咗。 總回報只有 +130%,而基準版本有 +313%。
所以揀選改用 Calmar(回報 ÷ 最大回撤)+ 最低持倉 20% 門檻。
點解揀呢組:唔係因為佢喺 BTC 度分數最高,而係因為最多獨立切分同意佢 —— 5 個手選分層切分入面贏咗 3 個,包括訓練集係三隻跌得最慘嘅幣嗰個。
呢啲唔係「未做」,係做咗、輸咗。記低佢哋同記低贏嗰啲一樣重要 —— 一份只講成功嘅回測報告,本身就係一個 overfit 嘅訊號。
| 試過乜 | 結果 | 點解唔落 |
|---|---|---|
| 沽空(5 種開關條件) | 長倉 only 0.40 / 最好嘅閘門 0.39 | 2022 年有用,其餘時間侵蝕複利:10 年 7,982% → 5,325% |
| 價格追蹤止蝕(減倉唔清倉) | 未見過嘅幣 0.39,對 0.52 | 70 個切分只贏 32 個,靚數字係孤例 |
| 戶口層斷路器 | 未見過嘅幣 0.57,對 0.52 | 呢個落咗 —— 70 個切分贏 48 個 |
| 橫向動量(排名揀最強) | 訓練 1.86 → 未見過嘅籃 0.88 | 贏唔到「完全唔排名」(5/12),排名本身冇 edge |
| 多幣等權籃 | 封存期 0.43,對淨 BTC 0.75 | 贏嗰個版本(37 隻,0.98)有 24 隻 IBKR 買唔到 |
| 成交量閘(4 種) | 最好嗰個對隨機 35/37,但 BTC 封存 0.41 對 0.54 | 有真資訊,但套落 BTC 自己度打和 |
| 鏈上/whale 代用指標(16 個) | 揀參數期 1/16、封存期 2/16 過 90% 門檻 | 贏家換人 —— 揀參數期嗰個喺封存期唔見咗,係噪音 |
| 因子擇時(8 個宏觀因子) | 24 個係數,0 個 |t| > 2 | SPY beta 每兩年跳一次符號,關係唔穩定 |