在 Quanstrat R 中对特定日期进行回测
Backtest over specific dates in Quanstrat R
如何在特定日期进行回测,例如 Quanstrat 中的 2008::2010?
我想从 2001::2017 加载符号,但我只想对日期的子集进行回溯测试。 (而不是每次都为特定日期范围重新加载符号)
quantstrat
中没有执行此操作的内置方法。事实上,在 apply* 函数的开头有一条注释说:
#TODO add Date subsetting
(欢迎补丁)
不过,有许多方法可以使用现有代码执行此操作。
可能最简单的方法是将所有市场数据加载到环境中,然后在每次调用 applyStrategy
.
之前将市场数据子集放入 .GlobalEnv 中
指标和信号应使用矢量化函数,并且应(最多)几秒钟即可应用到整个系列。所以最简单的事情可能是 运行 applyIndicators
和 applySignals
手动遍历整个系列,然后只用你想要的子集调用 applyRules
。
您还可以添加一个能够理解子集的信号函数。此信号函数将在策略规范中放在最后,并将您的所有其他信号过滤为您首选日期范围之外的 0。
如何在特定日期进行回测,例如 Quanstrat 中的 2008::2010? 我想从 2001::2017 加载符号,但我只想对日期的子集进行回溯测试。 (而不是每次都为特定日期范围重新加载符号)
quantstrat
中没有执行此操作的内置方法。事实上,在 apply* 函数的开头有一条注释说:
#TODO add Date subsetting
(欢迎补丁)
不过,有许多方法可以使用现有代码执行此操作。
可能最简单的方法是将所有市场数据加载到环境中,然后在每次调用 applyStrategy
.
指标和信号应使用矢量化函数,并且应(最多)几秒钟即可应用到整个系列。所以最简单的事情可能是 运行 applyIndicators
和 applySignals
手动遍历整个系列,然后只用你想要的子集调用 applyRules
。
您还可以添加一个能够理解子集的信号函数。此信号函数将在策略规范中放在最后,并将您的所有其他信号过滤为您首选日期范围之外的 0。