从前两篇文章中,我们使用pyalgotrade框架进行了量化策略的回测的基本操作。使用框架确实比较方便,但是仍有很多每次都要进行的重复操作,比如建立数据源,建立策略,绑定策略与分析器,运行回测,取得回测结果,绘图等。能不能进行进一步的封装?我想要的是,指定要交易的股票代码,基准股票代码,初始资金,手续费率,回测时间等参数,然后执行回测,就能得到各种回测数据,还可以绘图。
现在就开始干吧。
class Backtesting():
def __init__(self):
pass
先建立构造函数,传入上面所说的各种初始值。
"""
封装回测过程
参数:
instrument: 要回测的股票代码
startYear: 回测开始年份
endYear: 回测结束年份
base: 基准股票代码,默认为300etf
cash: 初始资金,默认为1000000元
feeRate: 手续费费率,默认为0.0003
"""
"""
封装回测过程
参数:
instrument: 要回测的股票代码
startYear: 回测开始年份
endYear: 回测结束年份
strategy: 回测的策略
base: 基准股票代码,默认为300etf
cash: 初始资金,默认为1000000元
feeRate: 手续费费率,默认为0.0003
"""
class Backtesting():
def __init__(self, instrument