R
R中有一個好的回測包嗎?
我的模型導出一個向量,它每天都有 b-buy s-sell 或 h-hold 它看起來像這樣:
簽名
$$ 1 $$bbssbbbssbsbssbsbssss bbssbbbbb bsbbbbbbb
我想回測它會在每天結束時買入或賣出投資組合中的所有股權,而持有將無濟於事。在 R 或其他方法中回測該策略的最佳方法是什麼?
謝謝
- 在 R 中,基本上有兩個包可以對您的策略進行回測:
SIT
和quantstrat
. 我個人更喜歡前者,因為它在管理頭寸方面更快、更透明。此外,SIT
在交易信號的形成方式上為您提供更大的靈活性。- 如果您有一個非常基本的策略,例如多頭/空頭/保持觀望,那麼快速測試您的策略的最佳方法可能是使用上面建議的 @Rime 之類的 2 個向量:一個用於回報,另一個用於您的頭寸(1 、-1 或 0),然後將它們相乘以獲得您在市場上的頭寸回報(無論是空頭還是多頭)。如果可以的話,有兩條建議:
- 將您的行動(買入或賣出)相對於信號向前移動一個週期。
- 空頭頭寸。仔細考慮如何在多個時期累積利潤。如果你碰巧做空一隻連續 3 天每天下跌 10% 的股票(即第一天從 100 到 90,第二天到 81,第三天到 72.9),那不會讓你變得更富有33.1% (1.1^3 -1),好像是為了多頭的正回報。你的回報寧願是 27.1%,你不會通過簡單地將回報和職位相乘來獲得……(更多資訊請參閱 SIT的這篇博文)
使用以下軟體包,我認為您有足夠的工具來開發回測:
- 量子模式
- 性能分析
- xts
我更願意了解正在發生的事情,而不是把所有的複雜性都抽象掉。Joshua Ulrich 的部落格中有多個關於如何開發回測的範例,應該足以開始。我個人也發現
data.table
與這些軟體包結合使用很有用。