用拓撲方法建構投資組合
先從一個包含 882,000 個系統化策略的池子起步:7 個訊號家族交叉 100 個 Binance USDT 永續配對,在 1 小時 K 棒上交易,每一個都經過前推最佳化並逐筆在樣本外記帳,扣除 taker 手續費、滑價與資金費率後的淨值。那個池子裡的單一策略優勢是真實且微薄的。25.5% 的策略在樣本外以獲利收場,相較於用同一套機制建構的隨機策略基準的 21.8%。大約四個百分點的技巧勝過雜訊,僅此而已。
投資組合建構能否把一個那麼微薄的池子,變成值得交易的東西?有一個特定的想法行得通,一個幾何的想法。你挑選的是位於相關性結構邊緣的策略,而非那些績效紀錄最好的策略。優勢就此磨利。
這個流程如何運作
一個前推迴圈跑完整個建構;下方的圖示為本文其餘部分繪製了地圖。每一個策略的樣本外交易帳簿坍縮成每週的區塊報酬。這些堆疊成一個 749,895 個策略乘以 322 週的矩陣。每週才是讓建構奏效的粒度。從那裡開始,迴圈逐週滾動。在每一週,它先依過去 52 週的 Sharpe 預篩到前 200 個策略,然後建構它們過去的相關性矩陣。現在來到關鍵的那一步:對那個矩陣做特徵分解,從最大的特徵向量讀出共同市場模態,保留在它上面載荷最小的正優勢策略。這些倖存者拿到等量資本。籃子持有到下一週,記錄報酬,視窗向前滾動。在第 m 週的挑選只看得到 m 之前的週,並設有禁運間隔,所以下游沒有任何東西知道未來。最後縫合起來的報酬序列,就是這裡每一個指標所計算的對象。
圖 0:端到端建構
一個 walk-forward 迴圈,從原始策略池到一條縫合且計入成本的報酬序列。
7 個訊號族 × 100 個 Binance USDT 永續交易對,1 小時 K 棒,walk-forward,計入所有成本
每份台帳 → 每週;一個 749,895 策略 × 322 週的矩陣
依過去 52 週的 Sharpe 排序;保留前 200 名
建立這 200 個策略的移動相關矩陣
進行特徵分解;保留正邊、在市場模式上載荷最小的策略
等權資金(MNS),或在去噪共變異數上取最小變異數(NCO)
持有該組合一週,記錄報酬,向前滾動
ROI、年化 Sharpe、最大回撤、獲利組合比例,全部為樣本外
用白話講這些概念
在進入圖表之前,先講清楚它們所依賴的詞彙。這些東西都不需要超出形狀與距離這層日常意義的拓撲。
相關性距離。 兩個一起漲跌的策略是接近的;兩個各自獨立移動的策略則相隔遙遠。公式 d = √(2(1−ρ)) 把一個相關性 ρ 變成一個實際的距離,對於完全相同的行為為零,並隨著兩者脫鉤而變大。本文中的每一張圖都建立在那唯一一個距離之上。
市場模態。 把相關性矩陣拆解成它的特徵向量,最大的那一個指向幾乎每一個策略都共享的方向,也就是整個池子正在下的共同押注。那個方向就是市場模態。一個策略與它對齊得有多強,也就是它的載荷,說明了它的報酬有多少是群眾的押注,而非屬於它自己的東西。
Marchenko–Pastur 界限。 用幾百個策略加上只有那麼多週的資料,一個相關性矩陣即使其實沒有任何結構也會顯現出表面上的結構,就像一小串擲硬幣會看起來有連勝一樣。隨機矩陣理論精確地說出了一個那種形狀的純雜訊矩陣,其特徵值能變得多大。那個帶之內的一切,也就是 Marchenko–Pastur 界限,都是雜訊。一個坐落在它之外很遠處的特徵值是真實的,而在這裡那個離群值就是市場模態。
最小生成樹。 在相關性距離之下把每一個策略連到它的最近鄰,持續加上連線直到一切都相連,且不允許任何迴圈。掉出來的是一棵樹:中間是一團互相相關的策略所結成的密集結點,外緣四周則是孤零零的葉子。那些葉子就是分散者。
MDS 嵌入。 多維尺度法把那同一組距離,在二維所允許的範圍內盡可能忠實地,釘到一個平面上,於是擁擠的核心與正交的外環一眼就能看出來。
那兩種建構方法。 市場中性的頻譜挑選(MNS)保留在市場模態上載荷最少的正優勢策略,並把它們等權重。巢狀分群最佳化(NCO)先把策略分群,然後在一個已刷除其雜訊特徵值的共變異數矩陣上,以群內與跨群的最小變異數權重來設定部位大小。
體制偵測。 一條只讀過去市場波動率的規則,把接下來的那一週標記為平靜或動盪,好讓帳簿能在整個市場中性群眾傾向於一起失血的那些週之前先縮小。
一個有形狀的池子
策略並非獨立的抽樣。它們共用訊號、交易同樣的幣,而且大多數同時做多同樣的東西。那份共享的曝險有一種幾何。那個幾何就是建構必須運用的對象。第一張圖直接把它畫出來:近期某一週裡 180 個最高 Sharpe 策略的最小生成樹,每一個策略在相關性距離 d = √(2(1−ρ)) 之下與其最近鄰相連。
一個密集的結點坐落在中心附近,主要是載荷於某個共同因子的波動壓縮家族。在葉子外緣的是分散者,也就是與其他一切都只微弱相連的策略。節點大小是過去的 Sharpe,所以葉子並非弱績效者。它們是恰好在做著與群眾不同的事的好策略。那些葉子,正是致勝方法所伸手去取的對象。
為什麼按 Sharpe 排序會失敗
按過去的 Sharpe 排序策略,持有最頂端的少數幾個,隨著排序變動而再平衡。那是顯而易見的建構,而它在樣本外虧錢。原因是同一個幾何。高 Sharpe 策略擁擠在同一個因子裡。
要看見那個因子,看相關性矩陣的特徵值頻譜。大多數特徵值落在 Marchenko–Pastur 界限之下,也就是同樣形狀的純雜訊矩陣會產生的那個帶。那些不帶有任何可靠的結構。有一個特徵值坐落在那個帶之外很遠的地方。
那個離群值就是市場模態,是每一個擁擠策略都載荷其上的共同方向。它主宰了樣本內的變異。它不會持續:讓那些頂端 Sharpe 策略上一季看起來很好的東西,是一個會衰退的共享押注。按 Sharpe 排序,你買進的是一籃子同樣的押注,沒有去除任何雜訊。這是 López de Prado 對隨機矩陣理論的解讀,套用在一個策略池而非一個資產宇宙上。它乾淨地延續過來。
市場模態也解釋了本研究中最糟的單一結果。把唯一一個過去 Sharpe 最佳的策略逐週滾動,報酬是 −113.6%,年化 Sharpe 為 −0.67,最大回撤為 146.9%。你無法從一週到下一週重新挑出對的策略。追逐領先者,就是在那個衰退因子最集中之處追逐它。
按 Sharpe 排序,你買進的是一籃子同樣的押注,沒有去除任何雜訊。
拓撲的想法
如果市場模態是問題,修正之道就是逆著它來挑選。三種方法做到了這件事。它們是同一個想法的三種語言。
市場中性的頻譜挑選(MNS)。 把每一個策略投影到最大的特徵向量上,並測量絕對載荷。保留載荷最低的正優勢策略,也就是與共同因子最正交的那些。載荷分佈顯示了什麼會被保留、什麼會被丟棄。
左側的藍色尾巴是挑選器從中取材的市場中性區域。紅色的主體是群眾。大多數高 Sharpe 策略住在紅色裡。
巢狀分群最佳化(NCO)。 對相關性距離跑階層式分群,然後在每個群內以及在去雜訊後的共變異數上跨群分配最小變異數權重。樹狀圖就是 NCO 所利用的結構。
逐區塊分配能讓最佳化器不致集中到單一個相關群裡,而那正是在一個帶雜訊的共變異數矩陣上做天真的最小變異數求解的失敗模式。
最小生成樹的外緣。 取第一張圖中網絡的葉子與低度數節點。它們依建構即為分散者。這是與 MNS 相同的挑選,只是從網絡而非從頻譜讀出。
相關性距離的二維嵌入把這三者放進同一張圖。靠近中心的策略擁擠在市場模態裡;位於外環的策略與它正交。
紅色的核心與藍色的外環,是載荷直方圖所畫出的同一個分裂,如今攤開在空間中。每一種拓撲方法都是一條偏好外環的規則。
每週的反轉
再平衡的粒度決定了結論,而起初它指向錯誤的方向。在每月再平衡時,投資組合看起來比單一策略還差。那是區塊大小的人為產物,並非建構的性質。每週的執行把它反轉了過來。
在每週再平衡時,市場中性的 MNS 挑選進入 10 檔的等權重投資組合,把樣本外獲利的比例從單一策略的 28.7% 提升到投資組合的 45.1%。越過 Sharpe 大於 1 的比例從 3.2% 上升到 4.2%。下方兩個面板把每一個單一策略按樣本外 Sharpe 排在左邊,把每一個建構出的投資組合排在右邊。右邊的面板明顯更藍。
Fig. 6 — The weekly flip
Single-strategy OOS Sharpe is thin; market-neutral construction sharpens it.
元前推排行榜用每種方法的三個數字來論證存活力:投資報酬率、年化 Sharpe,以及最大回撤,全都是樣本外的,且挑選僅在過去的週上完成。
| 方法 | ROI | 年化 Sharpe | 最大回撤 |
|---|---|---|---|
| 單一最佳策略,滾動 | −113.6% | −0.67 | 146.9% |
| MNS RMT 頻譜,市場中性 | +9.2% | 0.16 | 20.3% |
| NCO(最小變異數) | +1.7% | 0.04 | 12.7% |
兩種拓撲方法都越過了單一策略基準,主要是靠不爆掉。單一最佳那條線自我毀滅,因為它的回撤跑到 147%。NCO 把它的回撤壓在 12.7%,是所有測試過的東西中最低的。
抓準體制的時機
到目前為止的一切都讓市場開著。MNS 帳簿每一週都滿倉投資,而它的 0.16 Sharpe 是好週與整個市場中性群眾一起失血的週所混合的結果。一個自然的問題是,那些週能否事先被分類出來,並在進入糟糕的週之前把帳簿降風險。那是一個與挑選不同的槓桿。它是第一個把天花板抬升的槓桿。
先把兩個拓撲想法分開來,因為體制測試對它們施加的壓力不同。MNS 是挑選:要持有哪些策略,也就是低載荷的市場中性標的,等權重。NCO 是加權:每一個要多少,也就是在去雜訊後的共變異數上做最小變異數 NCO。上面描述的每週帳簿是 MNS。NCO 是加權那一步的替代方案,而在體制壓力之下,結果它才是不穩定的那一個。
偵測以兩種方式運行,兩者都只看得到過去的週。市場因子是策略每週報酬的橫斷面平均,也就是池子所擁有的平均週。靜態偵測器在某一週過去 13 週的波動率跑到該同一波動率過去 52 週滾動中位數之上時,把那一週標記為動盪。HMM 偵測器在波動率特徵上配適一個兩狀態的高斯隱藏馬可夫模型,並前推地重新配適它,讓資料來命名平靜與動盪的狀態,而非用一個固定的門檻。
接著有兩種對體制採取行動的方式。曝險抓時機在動盪的週把整本帳簿縮小,否則維持正常。體制匹配的挑選保留在當前體制中表現最好的策略,其理論是在動盪中奏效的東西會在動盪中持續奏效。
體制匹配的挑選失敗了,而且它對兩種偵測器都以同樣的方式失敗。靜態匹配的挑選報酬是 −0.51 Sharpe;HMM 匹配的是 −0.84。以這個體制中奏效的東西為條件,是微薄優勢的詛咒再上一層:領先上一段動盪期的策略,並不比那些以原始 Sharpe 領先的策略更能持續。你是在重新挑選一個衰退中的贏家,只是按體制而非按報酬排序。
用靜態門檻的曝險抓時機才是奏效的那一個。 讓 MNS 在被標記的週裡降風險,把它的 Sharpe 從 0.16 提升到 0.28,而如果帳簿在動盪的週裡完全退場而非僅僅減倉,則提升到 0.31。最大回撤減半,從 20.3% 到 10.0%。這個效果在你降風險的力度上是單調的:在動盪的週裡持有正常曝險的 0% 給出 0.31,20% 給出 0.29,30% 給出 0.28,50% 給出 0.24。在糟糕的週裡待得越少,Sharpe 越多,沒有任何會散發過度配適氣味的反曲點。
HMM 做得比什麼都不做還差。它經曝險抓時機後的 Sharpe 約為 0.05,低於樸素的 0.16 每週基準。被推斷出的狀態更吵雜且落後於轉折,所以模型在錯誤的週裡降風險:它在動盪已經落地之後才砍曝險,並在平靜成真之前就把它恢復。一個兩行的波動率門檻在這裡打敗了配適出的狀態模型,與那套額外機制所承諾的恰恰相反。
兩個對照組釘住了訊號究竟是什麼。它是市場波動率,而非帳簿自身的波動率。連續的自我波動率目標化,也就是按投資組合已實現波動率縮放曝險,落在 0.12,低於基準。加權的選擇也很重要。NCO 的最小變異數加權是這個壓力下不穩定的方法,在樸素的每週執行與靜態覆蓋層之下都是負的,而在那裡 MNS 的等權重維持為正並有所改善。把市場中性挑選等權重,才是撐得住的那個搭配。
| 做法 | 年化 Sharpe | 最大回撤 |
|---|---|---|
| MNS 每週,無體制 | 0.16 | 20.3% |
| MNS + 靜態波動率曝險抓時機 | 0.28 | 10.0% |
| MNS + HMM 曝險抓時機 | 0.05 | 20.3% |
| MNS + 靜態體制匹配挑選 | −0.51 | 31.9% |
| MNS + HMM 體制匹配挑選 | −0.84 | 48.7% |
| MNS + 連續自我波動率目標化 | 0.12 | 20.6% |
這一切都沒有提高 alpha。原始 Sharpe 的天花板坐落在每月、每週與每日粒度之間的 0.16 到 0.26 附近。體制覆蓋層並未突破它。覆蓋層所做的,是在市場中性帳簿失血的那些週裡退場觀望。那大致把風險調整後報酬翻了一倍,並把回撤減半,卻沒有找到任何一塊新的優勢美元。市場波動率體制告訴你何時該小;在對的週裡變小,在這裡的價值大約與挑選規則本身一樣多。
在第二個池子上撐住
一個池子可能會奉承一個方法。所以整個建構在一個獨立建構的池子上重跑了一遍,姑且稱之為 v4:26 個 Binance 永續配對,相對於 v5 的 100 個,不同的家族世代,在同樣的交易筆數篩選之後有 154,000 個策略,同樣的 2020 到 2026 視窗,同樣的無前視安全程式碼。除了輸入的帳簿之外,這套機制裡沒有任何東西改變。
排序乾淨地延續過來。在 v4 上,市場中性的 MNS 再次拿出所有測試過的東西中最低的回撤,18.1%,相對於把整個池子等權重的 41.7% 與滾動單一最佳策略的 82.3%。它再次在 Sharpe 上打敗每一個天真的挑選器。靜態波動率覆蓋層再次降風險,把 MNS 的回撤砍到 12.3% 並把它的 Sharpe 從 −0.42 提升到 −0.28,或在動盪的週裡完全退場時提升到 −0.13。體制匹配的挑選再次以 −1.69 失敗得最慘,而 HMM 再次沒有加上任何靜態門檻所沒有的東西。來自 v5 池子的每一個定性結果都重演了。
水準並未重演。v4 上的 MNS 落在 −0.42,深深處於水面之下。原因在於池子:把整個 v4 等權重的報酬是 −2.7 Sharpe,而橫斷面的平均策略一週又一週地虧損。從一個平均成員失血的池子裡,建構不出一本為正的帳簿,而市場中性挑選變不出一本來。
那道差距有一部分是廣度。v5 帶有 100 個配對,相對於 v4 的 26 個。更多的標的意味著一個更豐富的外緣可供取材分散者。把 v5 限制在 v4 那精確的 26 個配對上,會讓 MNS 從 0.16 掉到 0.08:把宇宙減半,大致把優勢減半。它不會翻轉符號。剩下的距離,也就是 v5 配對上的 +0.08 對 v4 上的 −0.42,是池子本身。在同樣的幣上、同樣的週裡,v4 的策略比 v5 的更弱。建構讀的是池子交給它的幾何。它不會改善池子。
碰巧的是,兩個池子都沒有一個為正的平均策略。v5 的市場因子平均也是負的;MNS 在那裡賺到它的 0.16,是靠孤立出那條確實帶有優勢的微薄正交尾巴。在 v4 上那條尾巴太薄,無法越過成本。方法在兩者上是相同的,而不同的是池子裡有沒有任何東西可供它找到。
建構買到什麼,又沒有買到什麼
誠實的解讀:拓撲建構買到的是存活力,並在不抬升 Sharpe 天花板的情況下磨利優勢。僅靠建構達到的最佳樣本外 Sharpe 約為 0.16,而挑選的幾何並未移動它。被移動的是那個會在優勢得以付出之前先把你殺死的回撤,加上建構出的投資組合中以正值收場的比例,從 28.7% 上升約 16 個百分點到 45.1%。分散化磨利一個微薄的優勢。它無法製造出一個厚實的優勢,而 v4 池子把這一點具體化了:在池子裡沒有任何東西可萃取時,那個提升了 v5 的同一個建構,只是虧得少一點。
體制覆蓋層才是那個抬升風險調整後數字的槓桿,且不觸動 alpha。在高市場波動率的週裡退場觀望,把 MNS 從 0.16 帶到大約 0.30 並把回撤減半。那是風險抓時機,不是新訊號。簡單的波動率門檻做得比配適出的 HMM 還好。
在一個固定的每月視窗上持有,最佳策略的報酬是 +52%。試著真的去交易它,每週的現實是 −113%。那個紙面數字是後見之明挑選的海市蜃樓。幾何才是撐得住的那一部分。
那個但書之所以重要,是因為單一策略交易在紙面上看起來有多好。在一個固定的每月視窗上持有,最佳策略的報酬是 +52%。試著真的去交易它,隨著排序攪動而重新挑選領先者,每週的現實是 −113%。那個紙面數字不過是後見之明挑選罷了。幾何才是撐得住的那一部分:從相關性網絡的外緣挑選,與市場模態保持正交,然後在市場波動率說市場中性帳簿即將失血時退場觀望。一個薄到無法一次只交易一個策略的池子,變成一個你能在裡面存活的池子。

