因为最近自己在研究怎么样做期货和股票的交易,其中涉及到对交易系统的测试。可以直接做手工测试,但是为了提高效率还是想要研究一下怎么做到自动来做历史数据的回测。通过网上搜索找到了Backtrader 这个工具。下面和大家简单介绍一下这个工具。
Backtrader 简介
Backtrader 是一个基于Python语言的进行自动化回溯测试的平台。可以添加自定义的指标和交易策略,提高对交易系统回测的效率。
这个工具可以导入自己的行情数据文件,也可以添加自定义的指标。 测试结束后能显示指标和行情图表,而且可以对指标的不同参数设置进行批量测试。
简单的实例
MA均线应该是最常用的指标之一了。那么下面就使用两条简单MA均线的交叉来作为交易策略。 具体代码如下:
from datetime import datetime
import backtrader as bt
#新建均线交叉的交易策略,快线是10周期,慢线是30周期
class SmaCross(bt.SignalStrategy):
params = (('pfast', 10), ('pslow', 30),)
def __init__(self):
sma1, sma2 = bt.ind.SMA(period=self.p.pfast), bt.ind.SMA(period=self.p.pslow)
self.signal_add(bt.SIGNAL_LONG, bt.ind.CrossOver(sma1, sma2))
# 新建回测平台实例
cerebro = bt.Cerebro()
# 在线下载雅虎的特定时间段的股票行情信息
data = bt.