程式
使用多種資產回測投資組合策略
我知道有幾個庫和程序允許通過迭代感興趣的股票的 OHLC 數據框(Backtrader,Backtesting,…)來測試投資組合策略。但是,當我們研究一隻或幾隻股票時,這些方法很有用:當涉及回測包含幾隻股票(數千隻)的策略時,不可能遍歷所有這些數據集。
在這些情況下,我們如何確定包含如此數量工具的投資組合的事後回報?例如,如果我們知道每個交易日每隻股票在投資組合中的權重,我們如何測試這種策略?
QuantRocket支持兩個回測器,它們都旨在支持數千個宇宙大小。
- Moonshot是基於 pandas 的,並且具有您期望從基於 pandas 的庫中獲得的可擴展性。如果您已經了解並喜歡Pandas,這是一個不錯的選擇。
- Zipline的設計允許您每天動態過濾數千種證券,並在過濾後的子集上執行日內交易邏輯。它還支持日終策略。
QuantRocket 的程式碼庫中有一些針對大宇宙的策略範例。
你說得對,許多回測者只針對少數證券,試圖調整它們以支持數千種證券通常是一場艱苦的戰鬥。
免責聲明:我隸屬於 QuantRocket。
如果使用 R 是一種選擇:使用
PMwR
我維護的 package ,您可以在一行程式碼中計算此類投資組合的時間序列回報:## P -- a matrix of prices: each column holds the prices of one asset ## w -- a matrix of target weights: each row holds a portfolio ## t -- a vector of times (i.e. row numbers) at which to rebalance library("PMwR") returns(P, weights = w, rebalance.when = t)