backtrader指南
最新推荐文章于 2024-09-09 17:28:46 发布

lipo8081 于 2021-05-29 17:46:57 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Backtrader是一个用于量化交易的平台,支持数据回测和策略制定。它提供了Data Feeds,Cerebro等核心概念,允许用户处理不同时间框架的数据,进行数据重播和过滤。用户可以自定义策略类,利用Cerebro执行回测,同时支持数据优化和内存管理,以适应各种回测需求。
摘要由CSDN通过智能技术生成
Backtrader
用于量化交易的机器人,可以对于数据进行有效回测和指定策略等。
基础概念
Data Feeds平台工作的基础将通过策略完成。这些将通过数据馈送,数据馈送以数组的形式自动提供给策略的成员变量,并提供数组位置的快捷方式。
class MyStrategy(bt.Strategy): params = dict(period=20) def __init__(self): sma = btind.SimpleMovingAverage(self.datas[0], period=self.params.period) ... cerebro = bt.Cerebro() ... data = btfeeds.MyFeed(...) cerebro.adddata(data) ... cerebro.addstrategy(MyStrategy, period=30) ...
12345678910111213141516171819Tip:
*args和**kwargs该策略的__init__方法可以接收使用 self.datas为一个数组/列表/可迭代对象,需要至少有一项数据 Shortcurs for Data Feeds self.data表示self.datas[0] self.dataX表示self.datas[X]class MyStrategy(bt.Strategy): params = dict(period=20) def __init__(self): sma = btind.SimpleMovingAverage(self.data, period=self.params.period) 12345Omitting the Data Feeds
class MyStrategy(bt.Strategy): params = dict(period=20) def __init__(self): sma = btind.SimpleMovingAverage(period=self.params.period) 12345Line
大部分对象都包含一个Line对象,用户角度上来看
它可以容纳一个或多个线,是一系列的线,是一组值的数组,放置在图表中表现为一条线比较经典的线是由股票收盘价形成的线,称为收盘时线
class MyStrategy(bt.Strategy): params = dict(period=20) def __init__(self): self.movav = btind.SimpleMovingAverage(self.data, period=self.params.period) def next(self): if self.movav.lines.sma[0] < self.data.lines.close[0]: print('平均线高于收盘价格') 123456789
常见的缩写形式
xxxx.lines -> xxx.l xxx.lines.name -> xxx.line_name self.data_name -> self.data.lines.name self.data1_name -> self.data1.lines.name Lines declaration定义对象中的线对象,可以采用line的类参数。
class SimpleMovingAverage(Indicator): lines = ('sma', ) 12
访问:
self.lines[0] -> self.lines.sma self.line -> self.lines[0] self.lineX -> self.lines[X] self.line_X -> self.lines[X] self.dataY -> self.data.lines[Y] self.dataX_Y -> self.data[X].lines[Y] Accessing lines in Data Feed通过省略形式访问lines数据
data = btfeeds.BacktraderCSVData(dataname="mydata.csv") ... class MyStrategy(bt.Strategy): ... def next(self): if self.data.close[0] > 30.0: ... 123456789Lines len
线对象
相关知识
幼鸟指南
入境指南
热带鱼饲养指南热带鱼饲养指南热带鱼饲养指南热带鱼饲养指南:带盖鱼缸的养护秘籍
投稿指南
指南猫旅行
养鼠指南
新版新生儿复苏指南
狗狗饲养指南
出游指南,宠物出游指南。
宠物鼠购买指南
原文链接: backtrader指南 https://www.mcbbbk.com/newsview674406.html
| 上一篇: 宠物类型指南金毛寻回猎犬——“... | 下一篇: 探索小仓鼠的可爱世界:宠物、习性... |





