在做量化分析时,我们有很多种策略,这些策略的好坏如何去评价,那就是用过往数据进行测试。这里就需要用到量化分析的回测系统了。由于刚入门,就使用了Python中的backtrader。由于自己Python水平有限,也是摸索了很久,才简单的掌握了如何用这个系统去进行回测。很多文章中,有介绍比较简单的均线策略,关于indicators里的其他包介绍比较少,这里我就用布林带策略作为演示。因为我基本没有查到有用这个包做测试的文章,而且我对于类的调用不是很熟悉,如果你和我一样,对于类不是很熟悉,那么想去调用,确实会很费劲。
回测系统,我的理解是一个迭代器,在一段时间内,使用我们写的策略去迭代,然后这个时间段内的收益。首先介绍策略的写法。
import pandas as pd
from datetime import datetime
from datetime import timedelta
import backtrader as bt
import matplotlib.pyplot as plt
class Boll_strategy(bt.Strategy):
#自定义参数,每次买入100手
params=(('size',1000),)
def __init__(self):
self.dataclose=self.datas[0].close
self.order=None
self.buyprice=None
self.buycomm=None
##使用自带的indicators中自带的函数计算出支撑线和压力线,perio