使用数据进行回测

时间:2016-05-30 02:03:36

标签: python pandas back-testing

在假设的场景中,我收到大量数据,并且在收到时通常按时间顺序排列,是否有任何方式可以播放"数据是向前还是向后,从而根据需要重新创建新信息流?我知道,在一个简单的意义上,我总是有一个脚本(任何输出都不重要),它以一个for循环开始,它接受任意数量的事件或观察并做某事,然后接受更多的观察,更新以前的内容输出带有新结果,依此类推。有没有一种方法比简单的for循环更容易扩展?

基本上,每当我查看这个主题时,我很快就会发现自己导航到高频交易的主题领域,特别是通过对历史数据进行回溯测试的算法效率。虽然我的问题是在更广泛的意义上这样做,我们的观察不需要股票/期权/未来价格点,但必须采用相同的原则。有没有人有过如此平台建立在一个更可扩展的级别上的经验,而不仅仅是一个逻辑低于它的for循环?另一个例子是健康数据/索赔,随着时间的推移,随着时间的推移,人们可以看到发生的事情。

1 个答案:

答案 0 :(得分:0)

优化循环的问题是,假设您有3年时间,并且您只有3个感兴趣的事件。然后,您可以使用基于事件的回溯测试,仅使用3次迭代。

这里的问题是你必须预先计算需要数据的事件,并且大多数时候你需要有关你回溯的统计数据,这些数据也需要数据,例如max-drawdown。

所以大多数回溯框架无论如何都会使用循环。或者如果你在R / Matlab Numpy上进行矢量化

如果您真的需要优化它,您可能需要预先计算并存储所有信息,然后进行查找