在 Quanstrat R 中对特定日期进行回测

Backtest over specific dates in Quanstrat R

如何在特定日期进行回测,例如 Quanstrat 中的 2008::2010? 我想从 2001::2017 加载符号,但我只想对日期的子集进行回溯测试。 (而不是每次都为特定日期范围重新加载符号)

quantstrat 中没有执行此操作的内置方法。事实上,在 apply* 函数的开头有一条注释说:

#TODO add Date subsetting

(欢迎补丁)

不过,有许多方法可以使用现有代码执行此操作。

可能最简单的方法是将所有市场数据加载到环境中,然后在每次调用 applyStrategy.

之前将市场数据子集放入 .GlobalEnv 中

指标和信号应使用矢量化函数,并且应(最多)几秒钟即可应用到整个系列。所以最简单的事情可能是 运行 applyIndicatorsapplySignals 手动遍历整个系列,然后只用你想要的子集调用 applyRules

您还可以添加一个能够理解子集的信号函数。此信号函数将在策略规范中放在最后,并将您的所有其他信号过滤为您首选日期范围之外的 0。