- 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=1739589173-KfZcs5kz3K62EimWnBDxuv4Uu3DAXn8I-0-36e093b6ad0a208336c9e923f12937a8)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_46_1.jpg?sign=1739589173-kpcOPBoIOKAHseb4gL8MkWTdFo5Eh4oI-0-e66a7cd9866a1af61befbdf56ac40941)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_1.jpg?sign=1739589173-MIqPyeSB7VXzlQH80WszrfDhjJGuV6OY-0-a11ab1bb3ab2279d185606c1af7355a6)
案例代码运行结果如图3-5所示。
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_2.jpg?sign=1739589173-Rbn0ZCy1Qt3b1NTL9q0fqeyLwiMN8P6D-0-2e8e0163ddcd533aa2bbc9da5bddbbc0)
图3-5 策略运行结果图
从图3-7运行结果可以看出,因为本案例是空策略案例,所以最上方的收益曲线没有波动,看不到曲线的起伏。收益曲线下面是买卖点示意图(也就是常说的买单/卖单),目前看该示意图为空白。本案例输出的图就只有一个简单的个股价格曲线。曲线图标是字符C,即收盘价(Close)的首字母缩写。
下面将案例代码分组进行分析。
第一组和第二组代码都是用来设置量化引擎入口及相关数据的,如下:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_47_3.jpg?sign=1739589173-pPrfR8JvCs2NeKxFYYwOUrylDPmDxFEJ-0-771d7f365845cceb7000dd4deee3b650)
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_1.jpg?sign=1739589173-wSFYCYgtkcaW3csJ9SFoR7Ydz44Cr1LB-0-90d6f16dfff55fc05a8ef3e664b4470a)
第三组代码运行量化程序:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_2.jpg?sign=1739589173-ZB4biAkIeR9mRfWzUJfNr3Jhs5O27yEL-0-da8b3dfafb3d4f2d936e30c2ff98ae82)
第四组代码输出回测数据,绘制相关图表:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_48_3.jpg?sign=1739589173-LJDviQTGGhZ7lCpSZ1B52Yzz2paV1z1H-0-c708a8f4cecc21d4b3dc12c3ac4fcaa5)
程序运行后,对应的输出数据是:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_49_1.jpg?sign=1739589173-rZE7GsYfLAGzXoiTTuPyrAwm7GG3VB8r-0-f2e8bbf9bdf272f63324b53fa8041989)
从以上输出数据中可以看到,资产总值还是10万元,起始资金也是10万元。
在程序运行过程中,屏幕输出每天的收盘价。
本案例的重点代码是策略设置代码:
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_49_2.jpg?sign=1739589173-PXqSE3fboufOce24NiT8j03PkoVtaUAg-0-de0e51f113c7bc254f8dcc978fc09e00)
其中,addstrategy语句用于设置策略。如图3-6所示是addstrategy策略添加函数关系属性示意图。
![](https://epubservercos.yuewen.com/80F853/18519309601631906/epubprivate/OEBPS/Images/39705_50_1.jpg?sign=1739589173-x2DIRpze5NfzCEIdBOelNi9JmKXZavUE-0-c215b4ab2f94fb14b643e562f800b41e)
图3-6 addstrategy策略添加函数关系属性示意图