我有一个交易算法,我正在zipline上反向测试。我已经成功地从csv file.Moving远期中吸收了美国普通股捆绑,我想在每个交易日结束时不断地对其进行回测。
因此,我想通过从Interactive Broker下载每个美国股票的每日OHLCV价格,将它们附加到我现有的捆绑包中(我已经编写了一个python脚本来做到这一点)。
现在我的问题是:如何将每个股票的新数据行添加到我现有的zipline包中?
具体地说,我不想创建新的bundle。
发布于 2019-08-03 06:00:36
我碰巧自己也在调查这个问题,我的结论是这是不可能的。如果有任何zipline开发人员在直播中,如果我说错了,请纠正我。
每次摄取基本上都会创建一个新的SQLite表,这些表很容易在~/.zipline/data下找到。
假设您有三个不同的CSV用于三个不同的交换,则必须在三个不同的接收中分别导入它们。
令人失望的是(显然,我们可能错过了假设的用法)是,当运行一个反向测试时,它被限制在一个单一的摄取世界。如果我的符号列表是分散的-即不同交易所上的产品-那么就不可能对这种算法进行反向测试。
如果你依赖默认的quandle空间,那么你就不会面临这个问题,只要你的注册有足够的可见性(免费的API键是相当有限的)。
一种解决方案可能是在一个通用的交易日历下,将所有CSV一起导入。这听起来是人为的,但对评估非日策略的影响应该可以忽略不计。
因此,例如,如果您有三组用于AS、DE和MI的yahoo,只需将它们作为通用CSV导入这三个日历中的一个。详细步骤在here中解释。
谢谢,
https://stackoverflow.com/questions/54798300
复制相似问题