Backtracder 简概
Backtracder 简介
Backtrader 是 2015 年开源 Python 量化回测框架,功能丰富,应用非常灵活。
Backtrader 是基于 Python 编写,应用 pandas 矢量运算,速度快。而且反对金融指标库 Ta-lib ,反对可视化,社区沉闷,文档齐全,所以这轮子很不错,基于这轮子,只须要专一编写策略,可大大节俭开发工夫。
官网文档[1],按模块来介绍,十分具体。<br/>
源码地址[2],开源,轻易批改。
装置
命令<br/>
pip install backtraderpip install backtrader[plotting]python setup.py install
模块划分
流程
流程代码<br/>
import backtrader as bt # 导入 Backtraderimport backtrader.indicators as btind # 导入策略剖析模块import backtrader.feeds as btfeeds # 导入数据模块# 创立策略class TestStrategy(bt.Strategy): # 可选,设置回测的可变参数:如挪动均线的周期 params = ( (...,...), # 最初一个“,”最好别删! ) def log(self, txt, dt=None): '''可选,构建策略打印日志的函数:可用于打印订单记录或交易记录等''' dt = dt or self.datas[0].datetime.date(0) print('%s, %s' % (dt.isoformat(), txt)) def __init__(self): '''必选,初始化属性、计算指标等''' pass def notify_order(self, order): '''可选,打印订单信息''' pass def notify_trade(self, trade): '''可选,打印交易信息''' pass def next(self): '''必选,编写交易策略逻辑''' sma = btind.SimpleMovingAverage(...) # 计算均线 pass# 实例化 cerebrocerebro = bt.Cerebro()# 通过 feeds 读取数据data = btfeeds.BacktraderCSVData(...)# 将数据传递给 “大脑”cerebro.adddata(data)# 通过经纪商设置初始资金cerebro.broker.setcash(...)# 设置单笔交易的数量cerebro.addsizer(...)# 设置交易佣金cerebro.broker.setcommission(...)# 增加策略cerebro.addstrategy(TestStrategy)# 增加策略剖析指标cerebro.addanalyzer(...)# 增加观测器cerebro.addobserver(...)# 启动回测cerebro.run()# 可视化回测后果cerebro.plot()
以上只是开源库 Backtrader 简略的介绍,前面会陆续按模块学习,缓缓玩转回测神器 Backtrader
援用链接
[1] Backtracker 文档链接:https://www.backtrader.com/do...;br/>
[2] Backtrader github: https://github.com/mementum/b...
写于 2022 年 09 月 25 日 22:45:37
本文由mdnice多平台公布