← Alpha
Alpha Research · · 閱讀時間11分鐘

策略近期的成績,該不該改變它管理下一筆交易的方式?

連輸三筆就把部位縮小,順風一段就給下一筆多一點空間。這個信念老到已經發展出自己的一套術語。我們把進場訊號固定住,測試管理決策究竟值多少。

幾乎每一位交易員都相信這個想法的某種版本。連輸三筆之後把部位縮小。順風一段之後,下一筆交易就給它多一點空間。這個信念老到已經發展出自己的一套術語:手氣熱時加碼、對回撤保持敬意、狀態回來之前先做小一點。系統化交易台也把同樣的直覺寫進了權益曲線濾網、動態部位規模,以及在最近幾筆交易順利時放寬停損的規則裡。

這個主張可以檢驗,而且比表面上看起來更狹窄。它並不是在主張某個策略有效。它說的是:在進場的決定已經做出之後,策略自身已完結的交易歷史,仍然帶有關於這筆進場該如何管理的資訊,包括停損放在哪裡、停利放在哪裡、部位要多大,或者這筆交易到底該不該做。

我們在一組固定的機械式策略庫上檢驗它,橫跨兩個市場與兩種速度,並把進場訊號固定住,讓任何差異都只能來自管理決策。後來,研究規定必須報告的其中一項統計量,反過來削弱了五個管理家族中三個家族的證據強度,因此我們把第二套協定登記為增補研究,以它自己的配置雜湊值凍結,用來排除這項弱點並重新檢驗那三個家族。兩者的結果都列在下面。

可重現性

這裡每一個數字背後的完整作法,包括增補研究改動了什麼,以及各自帶著的凍結雜湊值,都放在獨立的一頁。

閱讀可重現性內容 →

我們測試了什麼

本研究中的每一組比較都固定住進場。兩套政策在同一根K棒上看到同一個機會,差別只在於它們拿這個機會怎麼做。這正是這項測試乾淨的原因,也是為什麼結論談的是管理,而不是策略本身。

我們測試了五種管理規則家族,每一種都讀取策略自身近期表現的某項摘要,然後只動一根槓桿:停利價位、停損價位、兩者一起、部位規模,或者這筆交易做不做。驅動每個家族的近期表現摘要共有八種,其中包括最近十筆與五十筆交易的累計損益、數個回看期的勝率、目前的連勝或連敗長度,以及最近五十筆交易的回撤。每一種摘要都往兩個方向各跑一次,涵蓋「手氣熱」的讀法,也就是成績好就該做更多,以及「均值回歸」的讀法,也就是成績差才該做更多。這樣共有80套不同的管理政策,而且兩個方向都不是我們事後才挑的。兩者都事先登記,也都納入搜尋。

這些政策底下是一個由80個機械式策略組成的基礎策略庫,取自八個標準家族:均線交叉、動能、均值回歸、突破、波動度突破、趨勢跟隨、布林通道反轉與RSI反轉,每一個都會發出雙向訊號。樣本範圍是10檔加密貨幣永續合約與10檔美國大型股,各自以15分鐘與1小時兩種頻率取樣,構成四個格子。這四格分開報告,絕不合併,因為在加密貨幣上的發現不能當作股票的證據。樣本外評分從2023年1月跑到2026年7月,以季為單位向前推進,每一季所用的政策都只依前24個月選出。

策略是在任何樣本外數字存在之前就選定的,只依交易頻率與持有期間,絕不依獲利能力。障礙寬度與報酬風險比則在每個窗口的樣本內調校,因此各項處理必須擊敗的基準,是經過調校的靜態管理,而不是隨手設定的二比一稻草人。

這裡沒有任何一項是不計成本的回測。進場要跨越價差,並支付taker手續費加滑價。停利掛的是限價單,因此支付maker手續費,不吃價差也不吃滑價;停損則要跨價成交,支付taker手續費加滑價。加密貨幣部位在每一個經過的結算時點支付或收取資金費率,採用實際觀察到的費率與真實的正負號。資金費率單獨報告,不併入淨值數字,因為在這段期間它對做多的帳本而言是一項持續性的成本,否則很容易被誤認成策略效果。

一筆交易在觸及停損、觸及停利,或策略改變看法而部位翻向時結束。沒有時間出場,也沒有最長持有期間,因為強制出場是測試框架的產物,不是交易員會做的決定。

什麼才算是一項發現

要在某一格中認定某個管理家族成立,必須通過八項條件。其中七項是描述性的,分別檢查這項改善是否真的存在、在實際成交的交易上是否仍然存在、風險比率是否保持不變、獲勝的月份是否多於落後的月份、刪掉表現最好的那一個月之後是否還在、能否擊敗條件匹配的安慰劑,以及交易序列被擾動之後是否仍然成立。

第八項是統計性的:一個以整個日曆週為單位重抽樣的配對bootstrap,讓同一週內的交易一起移動,使重疊部位無法欺騙檢定,之後再把已宣告家族中的每一組比較放在一起做多重檢定校正。

七項當中,安慰劑檢定值得多說幾句,因為它最鋒利。它拿同一套政策,把它的動作在同一批交易上輪轉,完整保留大部位、小部位與略過的次數,只破壞權益狀態與它所反應的那筆交易之間的對應關係。一套連自己被打亂的動作都贏不了的政策,反應的是它出手的頻率,而不是出手的時機。

結果

在20組比較中,也就是四個市場與時間框架格子各五個管理家族,沒有任何一個家族在任何地方被認定成立。統計條件在全部20組中都沒有通過,校正後的顯著性數值最好也只有0.700,門檻則是0.05。

Fig. 1: 主研究的每一組比較,以實測改善幅度對校正後顯著性作圖。虛線是一項結果必須通過的門檻,而沒有任何一點接近到同一個數量級。顏色代表市場與時間框架;把游標移到點上可以看到管理家族的名稱。

實測差異大多為正,而且一律很小,範圍是每個訊號 -0.0014 到 +0.0094 個風險單位。在這個設計中一筆交易承擔的是一整個風險單位,因此主研究中找到的最大效果,價值還不到一筆交易風險的1%。

20
已宣告家族中的比較組數
0
獲得認定的管理家族數
0.700
最佳校正後顯著性,門檻為0.05
+0.0094
最大改善幅度,每訊號風險單位
19 / 20
擊敗自身打亂動作的比較組數
70.3%
以反向訊號而非障礙結束的交易占比

某一列通過八項條件中的六項或七項,並不代表它差一點就成立,這一點值得講白,因為表格很容易讓人讀成相反的意思。其他條件都是描述性的,只說明這層管理疊加動的方向對了、形狀也守住了。它們沒有一項在檢驗這個差異能否與雜訊區分開來,而唯一在做這件事的那一項,到處都沒通過。

更有意思的另一半

這些管理政策確實擊敗了自己被打亂的安慰劑。20組比較中有19組,真實政策落在自身輪轉動作的第95百分位之上,百分位數從0.807到1.00不等。

Fig. 2: 每一套政策相對於自身動作1,000次輪轉的排名位置。輪轉保留了政策出手的頻率,只破壞它出手的時機,因此越過這條線就代表時機本身帶有資訊。

打亂近期成績與下一筆交易之間的對應關係,穩定地會讓績效變差。因此這層對應關係確實帶著某種可測量、可重複的東西。只是它帶的東西不值得拿來行動:這個效果在正負號上是真的、方向上是一致的,但一旦把它被搜尋過多少種方式納入考量,就遠遠小到無法與雜訊分開。這比單純判定這個想法失敗要精確得多。

逼出增補研究的那項統計量

規定必須報告的統計量中,有一項讓上面這個虛無結果變得複雜,我們把它擺在這裡而不是埋起來,因為它會改變你該相信這個結果到什麼程度。

70.3%的交易是以反向訊號結束,而不是觸及障礙。原因很機械。障礙距離是在樣本內調校的,搜尋偏好較寬的設定,而寬的障礙在下一個訊號到來之前很少會被觸及。

對於作用在部位規模、或是決定要不要交易的那兩個家族來說,這件事毫無影響,因為它們對每一個候選訊號都會出手,不管交易最後怎麼結束。但對於移動停損或停利的那三個家族來說,這件事影響一切。很少成交的障礙,等於幾乎沒有留給這三個家族可以動的東西,所以它們的虛無結果只是弱證據:它說的是這項處理沒什麼機會發揮,而不是近期成績對障礙的擺放位置沒有資訊。

增補研究:僅以障礙出場的協定

增補研究是對上面那項主研究的增補,不是取代。主研究沒有任何東西被重新評分,兩者也絕不合併;增補研究在它的任何樣本外數字產生或被打開之前,就已經以書面形式訂定,並以它自己的配置與實作雜湊值凍結。它只重新檢驗那三個檢定受到損害的家族,因為另外兩個家族本來就已經受到公平的檢驗。

它唯一的改動是:一筆交易只能在停利或停損成交時結束,不會以其他任何方式結束。 沒有時間出場、沒有最長持有期間、沒有反向出場。

Fig. 3: 交易是怎麼結束的。在主研究的出場規則下,障礙家族幾乎沒有機會決定任何事;在增補研究的規則下,幾乎每一筆交易都由障礙決定。

這項改動帶出一個主研究從來不必回答的問題:當部位還開著的時候又有訊號進來,該怎麼辦。兩種答案都跑了,各自成為一個分支,兩者也都報告出來。

分支持倉期間又出現新訊號時
單一部位拒絕該訊號,帳本維持既有部位
疊倉再開一個部位,因此交易會重疊

兩個分支收到的訊號流完全相同,並逐格驗證過,兩者也都以每個提供的訊號的淨損益來評分。這個共用的分母正是讓它們可以比較的原因:拒絕訊號的那個分支,不會因為分母比較小而被美化。由於障礙現在承擔了全部的責任,障礙距離在執行前依格重新校準過,只讀取持有期間與資料頻率,絕不讀取獲利。

在它的24組比較中,也就是三個家族、四個格子、兩個分支,兩個分支都沒有任何家族被認定成立。統計條件在全部24組中都沒有通過,校正後的顯著性數值最好也只有0.819。

Fig. 4: 增補研究的各組比較,每個持倉分支各一個面板,顏色依市場與時間框架標示,圖例與第一張圖相同。給障礙家族一個乾淨的機會,只讓效果量換了換位置,顯著性則完全沒有動。把游標移到點上可以看到管理家族的名稱。

效果量的範圍是每個訊號 -0.0011 到 +0.0144 個風險單位,因此最大的那一個大約值一筆交易風險的1.4%。安慰劑的表現與主研究一致:24組比較中有17組擊敗了自身打亂動作的第95百分位。

拿掉反向出場之後,一筆交易唯一可能無法結清的情況,就是在該標的的歷史資料用完時仍然開著,而這種交易的損益是由資料在哪裡結束決定,不是由策略決定,這正是可能讓整個設計沉船的失效模式。橫跨每一個格子與兩個分支測量的結果,這種情況發生在0.08%到0.46%的交易上。

所以,移動停損或停利的那三個家族,在兩種不同的持倉規則下、在兩個市場與兩種速度上,幾乎在每一筆交易上都拿到了乾淨的機會,卻仍然沒有產出任何能撐過校正的東西。主研究對這三個家族的虛無結果原本是弱證據,現在不弱了。

每個分支各自付出什麼代價

兩個分支都是可以實際運作的帳本,而各自為自己的規則付出的是不同幣別的代價。

統計量單一部位疊倉
未觸及障礙的交易占比0.08%至0.44%0.31%至0.46%
持有期間中位數7.5小時至26小時16小時至49小時
持有期間第90百分位50.5小時至192小時171小時至480.5小時
持有部位的時間占比23.7%至44.1%31.0%至74.6%
因已持倉而被拒絕的訊號占比31.2%至53.5%
做多占比49.6%至50.0%50.0%

區間涵蓋四個市場與時間框架格子。除了下方的曝險統計量之外,每一項數字都是在樣本外測量;曝險統計量是在選定障礙設定的樣本內測量。

單一部位分支拒絕了它收到的31%到53%的訊號。這就是兩個分支之間的全部差別,也是同一時間絕不持有一個以上部位的代價。

疊倉分支對同時持有的部位數沒有設上限,聽起來像是無界的,所以我們直接測量了帶正負號的曝險。單純數開倉單會高估風險,因為同一標的的一多一空會互相抵銷;誠實的量度是帶正負號的加總,並在實際持有部位的K棒上按時間加權。

Fig. 5: 疊倉分支帶正負號的淨曝險,在樣本內測量,並在有持倉的K棒上按時間加權。一條對同時持倉數不設上限的規則,結果大多數時間只持有一個單位的方向。

在這個基準上,每一格的中位數都是一個單位的方向,第90百分位是一或二,任何地方的最大值都是五,因此多出來的倉單只是短暫的。疊倉規則真正花掉的是成本,而不是風險承載能力:重疊的兩邊都要開倉也都要平倉,而它在15分鐘加密貨幣上的資金費率帳單,大約是單一部位分支的18倍。

結論

策略近期的成績,確實帶著關於下一筆交易的微弱訊號。打亂兩者的對應關係會讓結果明顯變差,這代表這層關係是真的,不是想像出來的。

但在橫跨兩種出場規則、兩種持倉規則、兩個市場與兩種速度的44次檢定中,拿它來行動從來沒有產生大到足以與運氣區分開來的改善。

對系統化帳本而言,這代表的是:把管理規則固定下來,依你打算承擔的風險去設定部位大小,然後把研究預算花在進場上。

限制

  • 疊倉分支在一半的格子裡幾乎沒有真的疊倉。樣本內測量顯示,它在兩個1小時格子的持倉中位數是1.05與1.07,等於在那裡它跟單一部位分支幾乎是同一個實驗。分支之間的比較只有在15分鐘格子裡才是真實的,那裡的中位數達到1.33與1.61。這件事應該在樣本外被用掉之前就測量,當時設計還來得及放寬。
  • 單一部位分支的覆蓋較薄。拒絕大約一半的訊號,會讓樣本內搜尋可用的交易變少,因此在15分鐘格子裡,最多有17%的窗口缺席某個管理家族,因為沒有任何政策值得選。疊倉分支在每一格的每一個窗口都派得出全部三個家族,所以單一部位的結果建立在較少的窗口上。
  • 有一組障礙設定超出了它的持有期間目標。在15分鐘股票的最寬設定下,有24.3%的交易持續兩週或更久,而容許值是20%。我們選擇報告而不是移除,因為刪掉一組設定好讓目標看起來達成,等於是在挑答案。
  • 股票的借券費用未納入模型。上游資料裡沒有這一項。在跨越多日的持倉上,這會低估放空股票的成本。
  • 十組檢核套件中有六組沒有針對主研究的引擎重跑。有四組重跑了,其中包括執行一致性測試,而那正是這個設計真正改動的地方。增補研究則針對自己的引擎重跑了全部四組必要套件。
  • 適用範圍有限。二十檔標的、兩個市場、兩種速度,每個家族一種近期表現的定義,這樣的設計留下了空間:換一種權益狀態摘要、換一個較慢的策略庫,或拉長時間跨度,結果都可能不同。這是針對這個設計的虛無結果,不是對這個想法整體的證明。

本頁每一張圖表都是在你的瀏覽器中,依研究儲存的結果產物即時繪製,與內文及可重現性頁面所報告的是同一批數字,背後沒有任何圖片檔案。

完整方法論

資料、策略庫校準、候選訊號網格、權益狀態變數、walk-forward流程、成本模型、統計推論、增補研究改動了什麼,以及每一個凍結的雜湊值。

可重現性 →