程式

使用多種資產回測投資組合策略

  • January 15, 2021

我知道有幾個庫和程序允許通過迭代感興趣的股票的 OHLC 數據框(Backtrader,Backtesting,…)來測試投資組合策略。但是,當我們研究一隻或幾隻股票時,這些方法很有用:當涉及回測包含幾隻股票(數千隻)的策略時,不可能遍歷所有這些數據集。

在這些情況下,我們如何確定包含如此數量工具的投資組合的事後回報?例如,如果我們知道每個交易日每隻股票在投資組合中的權重,我們如何測試這種策略?

QuantRocket支持兩個回測器,它們都旨在支持數千個宇宙大小。

  1. Moonshot是基於 pandas 的,並且具有您期望從基於 pandas 的庫中獲得的可擴展性。如果您已經了解並喜歡Pandas,這是一個不錯的選擇。
  2. 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)

引用自:https://quant.stackexchange.com/questions/60505