金母鸡量化教学场:不能错过!backtrader—最完善的Python量化回测框架之一
目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而国内外量化平台非常多,量化框架或平台都各有优劣美股回测。今天要说的backtrader,功能完善,有完整的使用文档,安装相对简单(直接pip安装即可)。我们就对其运行框架进行一下简要的介绍。
backtrader的主要组成部分:
1. 数据加载(Data Feed):将交易策略的数据加载到回测框架中美股回测。
2. 交易策略(Strategy):该模块是编程过程中最复杂的部分,需要设计交易决策,得出买入/卖出信号美股回测。
3. 回测框架设置(Cerebro):需要设置(i)初始资金(ii)佣金(iii)数据馈送(iv)交易策略(v)交易头寸大小美股回测。
4. 运行回测:运行Cerebro回测并打印出所有已执行的交易美股回测。
5. 评估性能(Analyzers):以图形和风险收益等指标对交易策略的回测结果进行评价美股回测。
展开全文
量化回测说白了是使用历史数据去验证交易策略的性能,因此回测的第一步是搭建交易策略,这也是backtrader要设置的最重要和复杂的部分,策略设定好后,其余部分的代码编写是手到擒来美股回测。
一、构建策略(Strategy)
交易策略类代码包含重要的参数和用于执行策略的功能美股回测,要定义的参数或函数名如下:
1、params-全局参数,可选:更改交易策略中变量/参数的值,可用于参数调优美股回测。
2、log:日志,可选:记录策略的执行日志,可以打印出该函数提供的日期时间和txt变量美股回测。
3、__init__:用于初始化交易策略的类实例的代码美股回测。
4、notify_order,可选:跟踪交易指令(order)的状态美股回测。order具有提交,接受,买入/卖出执行和价格,已取消/拒绝等状态。
5、notify_trade,可选:跟踪交易的状态,任何已平仓的交易都将报告毛利和净利润美股回测。
6、next,必选:制定交易策略的函数,策略模块最核心的部分美股回测。
二、数据加载(Data Feeds)
策略设计好后,第二步是数据加载,backtrader提供了很多数据接口,包括quandl(美股)、yahoo、pandas格式数据等美股回测。
三、回测设置(Cerebro)
回测设置主要包括几项:回测系统初始化,数据加载到回测系统,添加交易策略, broker设置(如交易资金和交易佣金),头寸规模设置作为策略一部分的交易规模等,最后显示执行交易策略时积累的总资金和净收益美股回测。
四、执行回测,输出回测结果美股回测。
五、可视化
对结果进行可视化,使用backtrader内置的matplotlib画图美股回测。
至此,简单的单均线回测就完成了美股回测。
backtrader是目前功能最完善的Python量化回测框架之一(单机版),得到欧洲很多银行、基金等金融机构的青睐,并应用于实盘交易中美股回测。
backtrader的优点是运行速度快,支持pandas的矢量运算;支持参数自动寻优运算,内置了talib股票分析技术指标库;支持多品种、多策略、多周期的回测和交易;支持pyflio、empyrica分析模块库、alphalens多因子分析模块库等;扩展灵活,可以集成TensorFlow、PyTorch和Keras等机器学习、神经网络分析模块美股回测。而不足之处在于,backtrader学习起来相对复杂,编程过程中使用了大量的元编程(类class),如果Python编程基础不扎实(尤其是类的操作),学起来会感到吃力。
评论