《Python股票量化交易从⼊门到实践》随书赠送“回测框架”的使⽤帮助赠送“回测框架”的⽬的
为了帮助读者再建⽴⼀座从书本知识到实战应⽤之间的“桥梁”,赠送⼀个回测⼩⼯具。
由书中知识点组合⽽成,实现了包括选股、⾏情、回测三个功能。额外使⽤wxPython封装⼀层GUI便于操作。
python教材下载
提供给⼤家⼀种“量化交易”为我所⽤的思路。⼤家可以以此为基础去搭建适合⾃⼰的系统!
回测框架效果展⽰
回测框架的功能,其实是我⾃⼰设定了⼀个炒股的场景。
我们根据上市公司的⼀些财务指标,去过滤出我们⼼仪的股票加⼊我们的股票池,然后查看股票的⾏情⾛势,选出⾛势较好的⼏只股,再制定⼀个择时策略,对这⼏只股票进⾏回测,评估择时策略的效果。
条件选股界⾯
我们把全市场股票的部分财务数据(市盈率、市值、换⼿率之类的)整合成了⼀张表,然后通过条件选取过滤出符合要求的股票,点击保存结果后就可以更新到⾃选股票池中。⼤家也可以重构这张表,把平时关系的⼀些财务指标加进来。
⾏情分析界⾯
我们可以点击股票池 显⽰⾏情⾛势,⾏情参数包括⾏情起始时间、周期、前复权、后复权、不复权。也可以4幅⼦图同时⽐较⾏情⾛势。
回测评估界⾯
策略池中注册策略,选择回测参数,⽐如初始资⾦、交易规模、滑点、⼿续费、印花税之类,点击开始回测,主界⾯可视化回测指标,⽐如风险和收益,⽇志中会有更具体的回测结果,⽐如交易明细、回测幅度、收益率等。
我录制了⼀个操作视频,⼤家可以看⼀下:
回测框架⽂件功能概述
回测⼯具的下载位置
在⽂件夹中下载⼀个名称“QuantTradeYx_System-v03”的压缩包。
【该版本为V1.0,是随书赠送的。⽬前有升级的V2.0:】
⽂件包括:
1. stock_self_pool.json:存储股票池,可参考书中《7.4 注册 JSON 格式⾃选股票池》的实现。
2. firm_para.json:⾏情显⽰页⾯配置参数,可参考书中《8.5 ⾃定义显⽰界⾯框架开发》
3. back_para.json:回测显⽰页⾯配置参数,可参考书中《9.1 建⽴多维度的度量体系》
thinkphp5怎么下载4. :存储回测结果的⽇志⽂件,可参考书中《9.1 建⽴多维度的度量体系》
5. :存储tushare pro的token码,⼿动把注册的token码存⽂件中
token码是从tushare官⽹获取,使⽤tushare的接⼝有积分要求
6. QTYX_ApiData.py:API数据获取接⼝⽂件,参考《
7.1 如何获取股票⾏情数据》
7. QTYX_ElementGui.py:GUI相关的定制类 QTYX_MainGui.py:GUI主界⾯,也是main启动⽂件
h5浏览器下载8. QTYX_MultiGraphs.py:⾏情显⽰/回测显⽰接⼝,可参考书中《8.1 定制可视化接⼝ 》《9.1 建⽴多维度的度量体系》和《8.5 ⾃
定义显⽰界⾯框架开发》
9. QTYX_StrategyGath.py:策略⽂件多维数组扁平化 js
10. QTYX_SysFile.py:⽂件的读取和存储接⼝
运⾏条件:
route add metric必看本⽂“安装环境”和“常见问题解决”的内容,可以少⾛很多弯路。
安装环境
移植程序前,按书中“2.1 快速部署 Python 开发环境”节内容安装开发环境。
新⼿读者建议和书中的Python版本保持⼀致。
Python3.7
wxpython 4.0.4
mpl_finance 0.10.0
TA-Lib 0.4.17
numpy 1.15.1
pandas 0.23.4
pandas-datareader 0.7.0
matplotlib 3.1.1
tushare 1.2.51
baostock 0.8.8
split函数分解字符串statsmodels 0.9.0
注意事项:
1. 需要额外安装GUI库wxPython(Win7环境下安装wxpython4.0.4,原因见“常见问题解决”)。
2. 书中安装部署anaconda和pycharm过程是以macos为例,对于Windows⽤户可以结合这篇⽂章参考。
3. 安装完成后启动主⽂件QTYX_MainGui.py
4. Mac⽤户可按照书中的过程⼀步步来即可
Windows⽤户参考下⾥朋友的过程:前往“”,到对应的wrapper
选择TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl(win系统64位,python3.7版本,根据⾃⼰系统和python版本选择相应的安装包),将下载包放在当前⼯作路径中,然后在Anaconda Prompt(或windows的cmd)⾥⾯输⼊命令:pip install TA_Lib-
0.4.17-cp27-cp27m-win_amd64.whl。
常见问题解决
1. 提⽰以下错误:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论