在   量化交易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中的数据概念 - 简书


 

Logo

专业量化交易与投资者大本营

更多推荐