![BackTrader量化交易案例图解](https://wfqqreader-1252317822.image.myqcloud.com/cover/581/34667581/b_34667581.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.5 案例:策略编程
下面看一组策略的基础代码,案例文件名是:btr_e003sta.py。该案例是一套基础策略源码,采用的是空策略。
以下是案例主程序部分代码:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_45_1.jpg?sign=1738910014-urAoNVSEijCAfGrL2K57DZxG7lDTMHo4-0-db3555fa8d3b987a35bebc970c028095)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_46_1.jpg?sign=1738910014-orOVqa5NpCZyVKCz3317yFzW1lsNBDdr-0-ea7e38a24af277d7f0b61d14aedb5ece)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_1.jpg?sign=1738910014-kKcWEmcge92mlhSqLa9inS5rpCFUV0Sr-0-e41dd99a2a5e40554caa9ac89c98852d)
案例代码运行结果如图3-5所示。
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_2.jpg?sign=1738910014-sN1VzWGpKnOQp5k4spSsSI8gmf6t9b4n-0-ebda4c3c792c5e8f416a617194c4f3e4)
图3-5 策略运行结果图
从图3-7运行结果可以看出,因为本案例是空策略案例,所以最上方的收益曲线没有波动,看不到曲线的起伏。收益曲线下面是买卖点示意图(也就是常说的买单/卖单),目前看该示意图为空白。本案例输出的图就只有一个简单的个股价格曲线。曲线图标是字符C,即收盘价(Close)的首字母缩写。
下面将案例代码分组进行分析。
第一组和第二组代码都是用来设置量化引擎入口及相关数据的,如下:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_3.jpg?sign=1738910014-qAAXQO1C2dO9W6qON2vZ3H92GLrT2vAD-0-8c744263c8e07b77e13cac2640329578)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_1.jpg?sign=1738910014-ZhGM2csFm1i6hlRxOZeVpcxvEnL5liQd-0-e4363331ea57599233d65e2cc64dec4a)
第三组代码运行量化程序:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_2.jpg?sign=1738910014-gQb3rIZmXJebve3fKCE4ZCPH9jUdIvd6-0-8061fc7f3c4f575d9dbb8e269af0b137)
第四组代码输出回测数据,绘制相关图表:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_3.jpg?sign=1738910014-5mzL0qZyZ0CfL3qBEetfnJ1ZtyVBTQSQ-0-0412a2a03f2a3cd38f71d81dfb6063b9)
程序运行后,对应的输出数据是:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_49_1.jpg?sign=1738910014-fS8b6SZYs4tdQ3pKw9wFltbZsSjjVm9q-0-6d479c5a80e2e9126816932dc7d70bf1)
从以上输出数据中可以看到,资产总值还是10万元,起始资金也是10万元。
在程序运行过程中,屏幕输出每天的收盘价。
本案例的重点代码是策略设置代码:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_49_2.jpg?sign=1738910014-sFinTLi7hy1D7JHVVSzvMsmqEdwiG8rT-0-16fe410aa9261af2ef1fec9ced2f95e6)
其中,addstrategy语句用于设置策略。如图3-6所示是addstrategy策略添加函数关系属性示意图。
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_50_1.jpg?sign=1738910014-LaQpQnlP0uHpBrSbC28qlKlc27qfx6Iy-0-90a5faf4a5b37fad8d1a3682bb8ae726)
图3-6 addstrategy策略添加函数关系属性示意图