- BackTrader量化交易案例图解
- 何海群
- 428字
- 2020-11-24 13:23:54
3.5 案例:策略编程
下面看一组策略的基础代码,案例文件名是:btr_e003sta.py。该案例是一套基础策略源码,采用的是空策略。
以下是案例主程序部分代码:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_45_1.jpg?sign=1739566516-hdyaOGhu6ZuPnh4cbqdxTkIoR8HrDlV0-0-0cb02990eb34d5eef8ab33818c071737)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_46_1.jpg?sign=1739566516-P2HiXGcmc2taqKK1915lXDfWWpUo2ivm-0-19b3664a6d51d9a1afbc9825a0f730f8)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_1.jpg?sign=1739566516-wK3x7bpAMYSgFJnJNQiH8jpG6ZeRyLcX-0-2bedd5ee9c90bd66d0290b7932dfb5c8)
案例代码运行结果如图3-5所示。
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_2.jpg?sign=1739566516-TLbNxec8nCIhfYd6nWtUjZmMh6czimJP-0-e5f03b3b7691ded024672f8b6e24218a)
图3-5 策略运行结果图
从图3-7运行结果可以看出,因为本案例是空策略案例,所以最上方的收益曲线没有波动,看不到曲线的起伏。收益曲线下面是买卖点示意图(也就是常说的买单/卖单),目前看该示意图为空白。本案例输出的图就只有一个简单的个股价格曲线。曲线图标是字符C,即收盘价(Close)的首字母缩写。
下面将案例代码分组进行分析。
第一组和第二组代码都是用来设置量化引擎入口及相关数据的,如下:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_3.jpg?sign=1739566516-ebQzwNTwJNqMRDCd7ae0YQ2VesIY2cdx-0-753844d1b32da69cc70d56646cc5e26a)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_1.jpg?sign=1739566516-AMXK3IqYeeRdpt1ZvO27fJ2zNlwus4s9-0-4b62c312ecb325dd6f5b1068696e42e6)
第三组代码运行量化程序:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_2.jpg?sign=1739566516-SjlUwM1ZcJqAyxi8rAoZ91lvizaSYe6E-0-4a4910fbf5d28acc92921cfd56283a36)
第四组代码输出回测数据,绘制相关图表:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_3.jpg?sign=1739566516-4pomdZQ2loZV5KMLB7dZ783m5ZFqBHYs-0-fc818cb1538add7e452299cf5f7d040f)
程序运行后,对应的输出数据是:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_49_1.jpg?sign=1739566516-vfo7bYomwUKQPA8dKzynwqK2abFw9Tmq-0-f6759cbb88ca430c1447f04d771cacb5)
从以上输出数据中可以看到,资产总值还是10万元,起始资金也是10万元。
在程序运行过程中,屏幕输出每天的收盘价。
本案例的重点代码是策略设置代码:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_49_2.jpg?sign=1739566516-yQBm9yRjnTZXFCj1amXT5WSlfWnsmktb-0-f649aee7ec96f828fab1f4ae9dcdb289)
其中,addstrategy语句用于设置策略。如图3-6所示是addstrategy策略添加函数关系属性示意图。
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_50_1.jpg?sign=1739566516-mQ716hOVj5yVBuSJensT8Lq0C3eAJeWU-0-0e00ef519fccf917a95a72c0e040b4f1)
图3-6 addstrategy策略添加函数关系属性示意图