首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Backtrader来啦:数据篇

此系列将由浅入深,每期1~2周,大家敬请期待! 前言 阅读完上一篇Backtrader 来了后,不知大家心里是否有如下疑惑: 1、为什么用 DataFeeds 模块导入DataFrame 数据框必须依次包含7个字段 'datetime'、 'open'、'high'、'low'、'close'、'volume'、'openinterest'? 2、能否以及如何自定义导入的数据集结构? 3、为什么 self.datas[0].datetime.date(0) 返回的就是当前回测时刻? 4、self.datas 的结构是怎样的? 5、Backtrader 的数据组织形式又是怎样的? 6、回测过程中,数据的传递规则是怎样的? 7、在编写策略时,该如何提取想用的数据? ...... 对上述问题进行标准化,其实就是一个传统的“数据表格创建和增删改查“问题。之所以有上述疑惑,是因为不了解 Backtrader 框架下的数据表格的属性和操作规则,下面就带大家全面深入的了解一下 ~ Data Feed 数据馈送对象 Backtrader 中有一个“Data Feed” 或 “Data Feeds” 概念(可将其称为“数据馈送对象” ),其实这个“Data Feed” 或 “Data Feeds”就是我们熟悉的数据表格或数据表格集合 。Data Feed 在 Backtrader 中扮演一个“数据传递者”的角色,给策略有序的提供数据以及数据的索引位置 。 self.datas 大家在策略函数中经常用到的 self.datas 属性就是一个 Data Feeds,对应通过 Cerebro 导入的行情数据表格的集合(可能只导入了一只证券的行情数据,也可能导入了 N 只证券的行情数据)。在这个集合中,数据表格是按照导入的顺序依次确定索引位置,第一个导入的数据表格的索引位置为 0 ,之后的依次递增,如下图所示:

04
领券