技术教程《扫地僧Backtrader给力教程系列一:股票量化回测核心篇》
backtrader文档本身并没有提出“策略迭代表”这个概念,这是我们在自编教程中提出的概念。在多股操作时,必须理解涉及多股的策略迭代表中数据的对齐方式,否则你就无法理解一些运行现象。比如下面这位的问题就是没有理解这个概念而造成困惑。
backtrader论坛上有人提了一个问题,见这里,他写了段简单的测试代码,如下。向策略加了两个行情数据,data0是指数(沪深300),data1是股票000001.SZ。在next中每迭代到一个bar,输出data0的日期,data1的收盘价等。
class TestStrategy(bt.Strategy):
def log(self, txt, dt=None):
''' Logging function for this strategy'''
dt = dt or self.datas[0].datetime.date(0)
print('%s, %s' % (dt.isoformat(), txt))
def __init__(self):
# Keep a ref