量化交易学习(十九)backtrader平台运行概念2数据源
今天这篇是backtrader文档的学习笔记。主要介绍了数据源的概念。
官方文档链接:https://www.backtrader.com/docu/operating/#up-and-running
运行
backtrader在运行时至少涉及3个线(Lines)对象:
一个数据源(Data feed)对象
一个策略(Strategy)对象(实际上是 Strategy 的派生类)
一个 Cerebro 对象(在西班牙语中是大脑的意思)
数据源(Data Feeds)对象
数据源对象在回测的过程中提供数据。
backtrader提供以下几种数据源:
-
CSV格式读取器
-
雅虎在线数据获取器
-
Pandas DataFrame 和 blaze 对象中读取数据
-
支持 Interacive Brokers、Visual Chart 和 Oanda 提供的实时数据
backtrader不对数据源的内容(例如时间范围和压缩)做出任何假设。可以对数据源进行一些高级操作,例如数据源重采样(例如将 5 分钟频率的数据源转换为日频数据源)
下面是一个使用雅虎财经数据源的示例:
1 | import backtrader as bt |
可选的参数 reversed
用于反转日期,因为直接从雅虎下载的数据是从最新日期开始的,而不是从最早的日期开始。
如果你的数据的时间跨度很大,可以通过下面的方式限制实际加载的数据范围:
1 | data = btfeeds.YahooFinanceCSVData( |
如果 fromdate
及todate
在数据源中存在,则它们会被包含在加载的数据中。
另外还可以添加timeframe
、compression
及name
属性:
1 | data = btfeeds.YahooFinanceCSVData( |
在画图时,这几个属性值会被用上。
这一篇就到这里啦。欢迎大家点赞、转发、私信。还没有关注我的朋友可以关注 江达小记