在 量化交易1-backtrader介绍 一文中介绍了一个简单的策略,其中需要回测的数据为:
dfqc.csv中定义的数据,dfqc.csv文件中所描述的数据即是框策略执行的数据来源,大家通过看dfqc.csv内容就能够发现,数据是很有规律,dfqc.csv中的列头也就是backtrader框架所需要的数据格式:
datetime 、Open、 High、 Low、 Close、 Volume、 OpenInterest 这几个字段也就是分别为:时间(datetime)、开盘价(Open)、最高价(High)、最低价(Low)、收盘价(Close)、成交量(Volume)、持仓量(OpenInterest)。由于例子中的是使用python中的Pandas框架来做数据转换,把csv文件中的数据转为backtrader所需要的数据,然后运行。
-------------------------------------------------------------------------
以下的内容是从大佬处复制来的对backtrader导入数据的定义:
在backtrader中,数据通常通过adddatafeed的方式输入至cerebro中,然后用户在自定义的stragety的子类(即自定义策略)中进行数据处理。传入数据一般具有一些固定格式,这些格式通常通过定义特定数据文件格式的子类来规定如:
class GenericCSVData(feed.CSVDataBase):
params = (
('nullvalue', float('NaN')),
('dtformat', '%Y-%m-%d %H:%M:%S'),
('tmformat', '%H:%M:%S'),
('datetime', 0),
('time', -1),
('open', 1),
('high', 2),
('low', 3),
('close', 4),
('volume', 5),
('openinterest', 6),
)
feed.CSVDataBase 是backtrader 中定义的处理csv文件的基类。因此,传入backtrader中的数据通可以指定既可以作为整体进行处理,也可以通过指定open,high等属性来对特定数据进行处理。
附上大佬的连接为:
Backtrader中的数据概念 - 简书