如何在特定日期进行回溯测试,例如Quanstrat中的2008 :: 2010? 我想加载2001年至2017年的符号,但我只想重新测试一部分日期。 (而不是每次为特定日期范围重新加载符号)
答案 0 :(得分:3)
在quantstrat
中没有内置方法可以执行此操作。事实上,在 apply * 函数的开头有一条评论说:
#TODO add Date subsetting
(欢迎补丁)
虽然现有代码有很多种方法可以做到这一点。
最简单的方法可能是将所有市场数据加载到环境中,然后在每次调用applyStrategy
之前将市场数据子集化到.GlobalEnv中。
指标和信号应使用矢量化函数,并且应该(最多)秒应用于整个系列。因此,最简单的事情可能是在整个系列中手动运行applyIndicators
和applySignals
,然后只使用您想要的子集调用applyRules
。
您还可以添加一个了解子集的信号函数。此信号函数将在策略规范中排在最后,并将在首选日期范围之外将所有其他信号过滤为0。