通常而言,在沒有適當回測的情況下進行交易就像在賭場玩一樣。你可能會贏幾次,但從長遠來看,你將遭受重大虧損。原因是,在你開始冒險之前,最重要的是微調你的交易策略。它需要在各種市場情況下提供相對穩定的表現。本文將幫助你了解如何回測交易策略,哪種回測方法最有效,如何評估測試結果,以及最重要的是——你何時準備好進入市場進行交易。
什麼是回測?
回測是一種分析當前交易策略在過去某個時間段內表現的方法。回測交易策略可幫助你評估其在事後市場情景中的行為,並確定其優秀之處和不足之處。它是幫助你事後驗證交易模型的重要工具。
回測旨在幫助生成結果並評估風險和盈利能力,而無需冒任何實際資金風險。想像一下穿著救生衣游泳——你可以嘗到水的味道,但你不會溺水。
交易員的回測就像職業運動員的訓練。他們花數小時完善自己的技術,然後才出去與其他人競爭。這樣,他們就會在大量測試、數據和分析的基礎上變得更好,建立信心。
基礎
我們可以使用多種不同的軟體進行回測。選項包括 Microsoft Excel、現成的第三方平台或從頭開始構建。領先的演算法交易公司使用不同的電腦語言編寫回測軟體。這些語言包括 C++、C#、Python 或 R(適用於不太複雜的專案),甚至可以使用現今熱門的AI技術進行回測。
另外,你也可以使用TradingView進行交易回測,它是一款高度專業和強大的圖表工具,它提供了便捷的行情查看功能,並允許用戶以圖形化的方式查看策略回測結果。幾乎所有的策略回測都基於數據,諸如同花順、Wind等國內金融數據提供商應該也提供相關回測功能。
要進行正確的回測,你需要歷史數據。該程式會獲取你策略的規格,並將其應用於過去某個特定的市場時期,以向你展示該策略當時的表現。
根據回測結果,交易員或分析師將決定該策略是否需要進行微調或是否足夠好可以按原樣應用。
回測的理念基於金融市場週期運行的理論。如果某件事在過去是可行的,許多交易員會認為它在未來仍將適用。反之亦然——如果它在過去失敗了,那麼它在未來可能也不會成功。
為什麼需要回測你的交易策略?
建立交易或投資策略的兩個主要支柱是風險和回報及其關係。回測可幫助你量化這兩個因素,以顯示你策略的整體盈利能力和風險偏好。
你需要對自己的交易策略進行回測,以了解其在真實市場情況下的表現。回測允許你使用歷史數據模擬你的交易想法並測試其風險管理機制。
回測交易策略可以幫助你找到其弱點,測試其彈性,並突出顯示需要微調的地方,而不會帶來任何風險。通過在黑板上完成所有這些操作,你可以清除所有問題,增強風險管理工具,並確信你的交易策略足夠合理。這樣做將確保在實際市場場景中實施時獲得更令人滿意的表現。
回測告訴你什麼?
本質上,回測將為你提供以下基本問題的關鍵答案:
◎ 最適合你的需求和目標的交易設置是什麼?
◎ 每筆交易的最佳風險是多少?
◎ 這一策略在哪些市場最有效?
◎ 你的進入和退出觸發器是否調整良好?
你應該回測交易策略的另一個根本原因是,當今的市場是由數據驅動的。歷史數據、前瞻性指標、預測分析模型——所有這些都可以幫助你制定合理的交易策略。如果不結合真實的市場數據,你根本無法準確了解交易策略的未來表現以及它在實際市場條件下是否可行。
通過回測你的交易策略,可以發現它過去的表現如何。如果表現不佳,那麼未來成功的機會就很小。反之亦然。
回測交易策略可以為你帶來競爭優勢。它為你提供切實可行的見解,讓你了解在與其他交易者競爭時可以期待什麼。
回測之前你需要什麼?
最重要的是嘗試找到無偏數據,以避免扭曲模型的性能。如果使用有偏數據,幾乎不可避免地會扭曲測試結果。
雖然不可能完全避免偏差,但你應該盡量減輕偏差的影響,以獲得盡可能透明可靠的結果。有幾種類型的偏差可能會影響你的數據,從而影響模型的性能。
優化偏差
首先,優化偏差(又稱曲線擬合)描述的是交易者引入額外參數並贏得交易,直到其策略的表現滿足他們的預期。或者——「掩蓋系統的漏洞」並人為地誇大結果。然而,這樣做唯一的目的就是欺騙你,並導致你上線時表現出意想不到的糟糕表現。
前瞻性偏差
還有一種前瞻性偏差,即你不小心將未來日期納入模擬中。此錯誤可能是由於參數計算不當、技術錯誤(主要是在從頭編寫回測腳本時)等原因造成的。為避免這種情況,請務必在上線前仔細檢查數據和回測方法。否則,該策略在實際交易中可能會表現不佳。
其他偏差
還有其他類型的偏差。其中一種是倖存者偏差。這種偏差是在對無法代表你感興趣的所有相關資產的數據集進行策略回測時產生的。另一種是心理容忍偏差。這種偏差發生在對長期進行回測以提高績效,但實際上你計劃進行短期交易時。
確保數據和回測方法盡可能無偏差後,就該專注於選擇回測軟體了。如果你通過特定券商進行交易,他們很有可能在其平台上內置回測功能。至少最受歡迎的券商都有。在這種情況下,好處是你將使用經過測試的解決方案,該解決方案易於使用且行之有效。它還將幫助你解決交易者經常低估的一個關鍵問題——將交易成本納入回測模型。即使它們微不足道,當它們在長期交易中累積起來時,也會影響你策略的盈利能力。
你還可以訂閱第三方的回測平台。但是,請記住,回測通常是一個持續的過程。你應該偶爾回測你的策略,或者如果你計劃擴大投資組合、交易另類資產等。這樣做意味著你必須留出特定預算來定期支付回測軟體的費用。
具有技術技能的人可以用 R、Python 甚至 Excel 從頭編寫回測腳本。你還可以聘請程式設計師將你的策略轉化為程式碼。
找到合適的交易方法和完美的回測軟體後,就該撸起袖子加油工作了。
選擇回測策略
對於你將回測的具體策略沒有限制。大多數交易者有幾種交易策略,具體取決於市場情況(下行趨勢/上行趨勢)、資產類型、風險/盈利潛力等。可以理解的是,你應該確保測試所有策略並評估其表現。
在將策略應用於現實世界之前,請務必對其進行回測。例如,如果某個交易策略在去年第一季度的熊市中表現優異,那麼它在今年的牛市中可能會表現不佳。這裡的關鍵是將信息情境化。
此外,在各種市場條件下對交易模型進行回測也是必不可少的。雖然市場永遠不會以完全相同的方式移動。在大多數情況下,交易資產顯示出與之前相似的模式。
回測的場景越多,結果就越有代表性和可信度。
選擇要回測的資產
最好的情況是使用你計劃用實盤交易的同一工具的數據對你的策略進行回測。例如,如果你計劃將自己的方法應用於交易大豆期貨,請確保從CME或大商所等其他服務提供商下載歷史數據並在其上運行你的模型。
這樣,你就可以確保結果僅考慮特定於資產的因素。例如季節性、波動性、供需、外部風險(即最大大豆生產地區的惡劣天氣條件)等因素。
確保始終使用你打算應用該策略的確切資產對你的策略進行回測。如果這不可能(例如,無法獲取歷史數據),請找到能夠準確模擬原始資產行為的合理相似資產。在這種情況下,你可能需要對回測模型進行小幅調整,以確保結果可行。
如果你計劃交易一組股票,請確保收集具有代表性的樣本。數據應包括特定時期內破產的公司的股票。不要排除這些股票,因為這可能會影響你的策略表現。例如,如果你挑選今天所有現有公司的股票,那麼在回測系統時,你將獲得人為的高回報。
如何回測交易策略
無論使用哪個平台,回測交易策略的原理基本相似。
步驟#1
第一步,你必須向回測演算法提供精心挑選的歷史數據。在用歷史數據測試交易策略時,你需要為訓練集指定一個具體的時間段(例如,我們以美股為例,2022年至2023年期間的AAPL股票價格)。然後,你需要另一組替代時間段的數據。在不同時間段測試策略的原因是為了驗證其可靠性並減輕「隨機性」在整個過程中的作用。
步驟#2
接下來,你必須設置一些參數,具體取決於你的回測模型的複雜程度。這些參數可能包括初始資本、風險資本(%)、投資組合規模、手續費、平均買賣點差,以及最重要的基準(通常是標準普爾500指數)。
你還應該設置交易策略的具體參數。這些包括停損和移動停損指令、獲利水平、何時平倉、首選倉位類型等。
步驟#3
接下來,你將對測試數據集進行回測。上述所有信息都將用於模擬特定時期內的交易。
完成回測後,你應該對另一組數據重新運行該過程(至少幾次)。這將有助於確保消除任何潛在偏差和「隨機」因素的作用。
大多數回測軟體還支持自動策略優化功能。此功能非常方便。電腦可以找出你的策略最適合哪種輸入(或信息組合)。理想情況下,它還會為你提供一些有關如何微調模型的想法。
回測方法
最流行的回測方法旨在衡量所謂的「風險價值(Value-at-Risk)」。正如其名稱所示,VaR揭示了特定檢查期間和數據集中可能出現的最大虧損及其實現的可能性。
通過了解其投資組合的風險價值,投資經理或交易員可以更充分地為最壞情況做好準備。
我們可以使用幾種不同的方法來檢查風險價值。其中一些方法包括蒙特卡羅模擬(Monte Carlo Simulation)、方差-協方差法(Variance-Covariance Method)等。
所有回測方法的共同點在於它們的結論。它們會告訴你,策略在哪些方面不足,在哪些方面表現良好,這樣你就可以做出正確的調整和優化,以確保最佳的風險/回報。
如何評估結果?
完成回測後,就該解釋結果並查看你的策略在觀察期內的表現了。
你應該知道,沒有黃金公式或規則可以定義你的交易策略是好是壞。對於你進行的所有分析,你都需要牢記必要的背景。其中一些背景包括你的投資組合中還有哪些其他資產、市場環境以及該策略的獨特特徵。例如,有些策略在設計上風險更大。當然,它們也會獲得更高的利潤。其他策略則更為保守,會導致你的投資組合在回測結束時的價值增長較低。
評估策略結果的最佳方法是定義你的風險偏好和利潤目標。運行回測後,檢查策略是否產生符合您目標的結果。此外,請確保添加基準(比如標準普爾500指數/滬深300指數是最廣泛使用的基準)。執行回測後,你將看到自己的策略在市場上的表現。
回測方法將針對不同的指標生成結果。這些指標包括淨利潤和虧損、給定時間範圍內的總投資組合回報、風險調整回報、市場風險敞口、波動性等。
最後,軟體將量化每項措施的回測結果。根據你使用的軟體,還可以生成圖表並可視化回測結果。
成功的標準是什麼?
不要犯這樣的錯誤:僅根據收益來選擇策略。雖然利潤很重要,但脫離背景來看,利潤並不能提供任何有用的信息。恰恰相反,利潤可能會欺騙你,讓你選擇高風險的策略。
為了避免落入這個陷阱,除了分析所採用的風險之外,還要分析回報。可以理解的是,最好的策略是在沒有重大風險的情況下實現令人滿意的回報。或者,它具有較高的夏普比率。
此外,一定要跟蹤波動性。如果在回測後,你發現你的投資組合有高波動期,你應該意識到,如果這種情況在現實交易中發生,你可能會觸發停損或停利訂單。這就是為什麼等待並根據投資組合的波動性調整訂單至關重要的原因。
另一個決定你成功與否的關鍵因素是成分之間的相關性。如果資產之間的相關性很高,則意味著你的投資組合沒有足夠的韌性或安全墊來抵禦衝擊和特定行業的風險。或者,它的多元化程度較低,避險不足。這使得它更容易受到不同風險的影響。
總結
十年前,回測是只有對沖基金、投資銀行、高頻交易公司等大鱷才能享有的專有權利。如今,得益於技術的發展,甚至散戶交易者和小規模投資者都可以進行回測。如今,回測不再是一種奢侈。如果你想成功駕馭金融市場,它已經成為一種必需品和真正的必需品。
在最佳情況下,沒有進行適當回測的交易就是在進行有根據的猜測。對交易策略進行回測是交易員的必做功課。如果沒有準確的初始分析和風險評估,你將毫無準備地進入市場,很容易受到攻擊,不僅會受到市場的攻擊,還會受到其他交易員的攻擊。
請記住,你今天與之競爭的大多数交易員都使用回測。如果你想避免失利並獲得競爭優勢,請務必要做好功課。