0

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

基本上,每当我研究这个主题时,我都会很快发现自己进入了高频交易的主题领域,特别是通过对历史数据进行回测的算法效率。虽然我的问题是在更广泛的意义上这样做,我们的观察不需要是股票/期权/未来价格点,但必须适用相同的原则。有没有人有这样的经验,了解如何将这样一个平台构建在一个更可扩展的级别上,而不仅仅是一个带有逻辑的 for 循环?另一个例子是健康数据/声明,随着时间的推移,随着越来越多的声明出现,人们可以前后看到发生了什么。

4

1 回答 1

0

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

这里的问题是您必须预先计算无论如何都需要数据的事件,并且大多数时候您需要有关回溯交易的统计信息,这也需要数据,例如最大回撤。

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

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

于 2017-05-04T04:54:04.710 回答