- BackTrader量化交易案例图解
- 何海群
- 807字
- 2020-11-24 13:23:49
1.4 量化回测“四步曲”
一个完整的量化回测分析/交易流程可以分为四个步骤,这种四步切分法,是笔者根据自己的实盘操作总结出来的经验模式,以便于初学者理解和学习,读者也可以根据自己的经验另行划分。具体的四个步骤如下。
第一步,设置一个回测main主函数,init初始化量化运算引擎。
第二步,设置量化回测参数,主要设置金融交易数据源data,包括离线数据、living-data实时交易数据,以及其他参数,比如佣金、分析参数等。
第三步,调用量化回测程序,开始run运行量化回测分析。
第四步,回测数据分析,绘制相关分析图表,或者根据回测推荐结果进行交易。
其中,第四步又分为以下两种情况。
● 模拟盘:根据回测结果对策略进行优化,积累操盘经验。
● 实盘操作:根据量化分析结果投入资金进行交易,可以采用人工手动操作,也可以采用程序化交易模式自动下单。
下面加载量化版的“Hello”案例程序,大家可以看到BackTrader软件的各个运行步骤,案例源码文件名是:btr_e001base.py。运行程序,大家会看到很多WARNING警告提示信息,这是由于很多模块库升级,部分接口有所变化导致的。大家可以忽略这些WARNING警告信息,直接查看程序输出语句。
程序输出信息如下:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_17_1.jpg?sign=1739568215-H74Iix2mWGINOawPa2ljPgr8AYfIxnz4-0-5532eeb6f59c85e2e090b35db8423d1e)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_18_1.jpg?sign=1739568215-YnL9MKgrph0TTT9X888ie8uKFxuz50eB-0-97f0d86f590a73fd724effea8e095792)
因为在这个案例当中没有设置策略,所以没有发生交易,也没有交易数据。
下面看一看案例源码的核心代码,只有十几行,而且进行了分组和中文注解,特别适合初学者学习,核心代码如下:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_18_2.jpg?sign=1739568215-2WYKBTOy6GbXy5Qh5MI7EHBdjy6C7hv4-0-e45d3626818cf9f17f1b913b8457c42c)
程序核心代码非常简单,共分为四组,需要注意程序开头部分的import导入代码:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_19_1.jpg?sign=1739568215-7M56nvzgpt0zlDtLkinc7JhDMg0yUx86-0-58b1c9ce896fd5655b76fd8bd3e35254)
这两行代码其实是开发一线的实战技巧,属于比较专业的编程语句。其作用是增加一个子目录:topqt,作为当前工作目录。
在topqt目录中有几个文件,但实际上常用的只有一个函数文件:topquant2019.py。
把以下代码导入BackTrader模块库(在代码中将BackTrader缩写为bt):
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_19_2.jpg?sign=1739568215-gQ97sscbUetADj3JYZqVLxzPBu41nZH9-0-b2d4da9ea1dc14c01d71e5e735a71656)
把以下代码导入TOP极宽量化工具函数库(缩写为tq):
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_19_3.jpg?sign=1739568215-WSBSlevUkBzQH6MP5Vphelwx4Sz3k6Zn-0-6f188202fa7b92d922f29c11e17e6cc1)
因为没有设置交易数据,所以在第四组代码以后,程序对默认流程当中的图表生成语句进行了屏蔽,如下:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_19_4.jpg?sign=1739568215-gy9fzStLG36rargmsYzypmegNRb003ME-0-58b0d93c82c3825d50e9714a994aebd2)
通过学习这个量化版的“Hello”程序案例,大家对BackTrader量化软件和量化分析的四个步骤应该有了一个直观的认识。