提供源码的初衷

为了帮助读者建立一座从书本知识到实战应用之间的“桥梁”,凡是购买书籍的读者都可以获取与书本配套的量化分析工具源码。

工具的源码是把书中知识点组合起来,使用wxPython封装一层GUI便于操作,实现了包括选股、行情、回测在内的一个炒股场景分析。

目的是提供给大家一个思路,可以以此为基础去搭建适合自己的系统!

最早的版本是QTYX 1.0。不少读者反馈希望有相应的视频课程讲解下这个量化分析工具源码的结构和使用方法,在大家的呼声下我和异步社区出联合出这个课程《理性投资!2天入门量化思维炒股!定制自己的股票分析工具》,帮读者捋一捋这个工具,同时也能完备书籍的知识点。

这个视频课程有一个大福利——我升级了量化分析工具的代码,版本号为QTYX 2.0

相比于最早期随书赠送的回测工具V1.0版本,除了增加了功能外,还对代码结构做了很大的优化,便于读者们更好地二次更改!

点击:QTYX最新版本使用指南[文字版]

点击:QTYX最新版本使用指南[视频版]

点击: QTYX历史版本更新说明

安装环境

因为QTYX工具提供的是Python源码,只要在Python环境下启动即可,所以第一步就是搭建运行环境!!!

移植程序前,请尽量按以下所列的库版本安装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
statsmodels 0.9.0

书中安装部署anaconda和pycharm过程是以macos为例,对于Windows用户可以结合这篇文章参考点击跳转链接。或者在B站上搜索pycharm、anaconda 关键字查看视频课程。资源网上很多,也很类似,大家搜下即可。

安装完成后启动主文件StartEntry.py即可!

TA-Lib安装会麻烦点。具体安装步骤可参考 https://github.com/mrjbq7/ta-lib 网站上介绍。

Mac用户可按照书中的过程一步步来即可!!!Windows用户参考下群里朋友的过程:前往“Python扩展包的非官方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。

Macos环境下显示效果如下:

  • 行情分析界面

我们可以点击股票池显示行情走势,行情参数包括行情起始时间、周期、前复权、后复权、不复权。也可以4幅子图同时比较行情走势。

我把书上衍生技术指标——均线金叉死叉、跳空缺口、黄金分割线、K线形态识别,都加到回测工具中了。
另外为了支持读者用回测工具分析其他的标的,比如基金、比特币等等,增加了导入离线数据的功能。

  • 回测评估界面

策略池中注册策略,选择回测参数,比如初始资金、交易规模、滑点、手续费、印花税之类,点击开始回测,主界面可视化回测指标,比如风险和收益,日志中会有更具体的回测结果,比如交易明细、回测幅度、收益率等。

  • 条件选股界面

我们把全市场股票的部分财务数据(市盈率、市值、换手率之类的)整合成了一张表,然后通过条件选取过滤出符合要求的股票,点击保存结果后就可以更新到自选股票池中。大家也可以重构这张表,把平时关系的一些财务指标加进来。

windows环境下显示效果如下:



常见问题解决

另外,有些新的功能在我的Macos平台下运行正常了,在windows平台上可能会出现各式各样的兼容问题。我记录在这里,以帮助大家更快地解决问题!

No module named ‘MainlyGui’

针对windows平台设置

如果下载下来的代码包存放在自己路径下,运行

StartEntry.py

出现以下提示:

from MainlyGui.MainApp import Wx_MainRun
ModuleNotFoundError: No module named 'MainlyGui'

先打印Python搜索路径:

import sys
print(sys.path)

如果不在的话,把当前路径加到python的搜索路径中:

sys.path.append(‘‘)

或者用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它!这里的路径会自动加入到sys.path中,永久存在于sys.path中而且可以在不同的Python版本中共享。

可查看这篇公众号的介绍:import模块提示找不到!股票量化分析工具常见问题剖析

针对MacOs平台设置

记得在Run->Configuration…选择中把 Working directory设置上脚本的存放路径

关于numpy.ufunc

运行过程中出现如下问题:

ValueError: numpy.ufunc size changed, may indicate binary incompatibility.

更新numpy版本即可!

pip install numpy

如果版本是0.4.20的话建议降到0.4.19

关于标签页切换

如果点击“行情参数”“回测参数”“选股参数”标签页,出现如下情况:


在MainFrame.py文件中,找到这句代码:

self.ParaNoteb.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self._ev_change_noteb)

把wx.EVT_NOTEBOOK_PAGE_CHANGING更改为wx.EVT_NOTEBOOK_PAGE_CHANGED

关于图表中文字体显示

如果Matplotlib图表无法显示中文字体,MainFrame.py文件开头加以下代码:

mpl_finance 升级:


mpl_finance库用于画K线,可指定书中版本安装。

首先删除当前版本 pip uninstall mpl_finance 或者pip uninstall mplfinance

然后指定版本安装pip install mpl_finance==0.10.0,这样避免更多的问题排查。

当然,有能力的朋友可以移植成mplfinance,参考这篇内容:mpl_finance升级至mplfinance!基于股票量化分析工具V2.06的改动!。

日期格式正确:

在win7环境下wxpython 4.1.0版本和baostock 0.8.8 一同使用时,在baostock的history.py文件的以下代码中报错:

经测试可以使用wxpython4.0.4版本和baostock 0.8.8共同使用。不过wxpython4.0.4在win7下会出现以下问题:

You probably called setlocale() directly instead of using wxLocale and
now there is a mismatch between C/C++ and Windows locale.

解决方法在MainGui文件中添加语句self.locale = wx.Locale(wx.LANGUAGE_ENGLISH),如下所示:

def OnInit(self):self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)self.frame = MainFrame()self.frame.Show()self.frame.Center()self.SetTopWindow(self.frame)return True

win10环境下baostock 0.8.8和wxPython4.1.1 不存在兼容性问题。

也有读者反映以下信息,仅供参考:

建议的版本搭配为:
Python3.8+wxpython4.1.1+baostock 0.8.8 + 去掉 self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
Python3.7+wxpython4.0.4+baostock 0.8.8 win10/win7 维持代码语句 self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)

或者把在baostock的history.py文件的175至187行注释掉。

您没有访问接口的权限


原因为tushare的积分不足,程序中使用了pro.daily_basic()接口,大家可前往官网查看积分获取规则。

当然,大家消化代码之后可以把自己选股的数据替换到工具中。知识星球中的新版本已经使用爬虫替换了tu share接口,可查看这篇文章:无积分困扰!爬虫获取A股每日指标!股票量化分析工具V2.1.3

utf-8 codec can’t decode byte…:

提示编码格式错误时,可以在SysFile.py文件中更改encoding参数值:

界面显示比例

如果界面显示比例有问题,可以调整下显示器的分辨率或者手动拖拽下工具的边框,以达到适合的程度。

后续进阶

这个工具目前定位仍然是配合书籍学习的工具,如果想要在这个基础上扩展为可供实战的股票量化分析工具,可以加入我的知识星球。

详细介绍可以点击链接查看:【点击】

持续更新中…

后续版本更新说明和使用方法链接:元宵大师的股票量化分析系统版本更新说明

定制自己的股票量化分析工具QTYX-V2.0版-使用帮助相关推荐

  1. 股票量化分析工具QTYX使用攻略代码说明——高速版本地行情源v2.5.1

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

  2. 股票量化分析工具QTYX使用攻略——页面控件功能导览v2.5.1

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

  3. 股票量化分析工具QTYX使用攻略——盘中选取强势股v2.5.2

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

  4. 股票量化分析工具QTYX使用攻略——RPS指标选取强势股(更新2.6.3)

    搭建自己的量化交易系统‍ 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统. 行情不等人!边学习边实战,在实战中学习才是最有效地方式.于是我们分享一个即可以用于学习,也可以用于实战炒股分析 ...

  5. 股票量化分析工具QTYX使用攻略——箱体形态突破选股v2.5.3

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

  6. 股票量化分析工具QTYX使用攻略系列——双底形态选股

    前言 自从股票量化分析工具QTYX新增双底形态选股功能以来,大家的反响一直很热烈.很多星球会员利用这个功能帮助自己抓到了大牛股. 确实,双底形态是由市场力量形成的,我们只需顺势而为即可,特别是大周期. ...

  7. 股票量化分析工具QTYX使用攻略——涨停数据选股(更新2.5.6)

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

  8. 股票量化分析工具QTYX使用攻略——高速版本地行情源(更新v2.5.4)

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

  9. 股票量化分析工具QTYX使用攻略——实盘交易信号监控(更新2.5.7)

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统. 如何学会搭建自己的量化交易系统? 边学习边实战,在实战中学习才是最有效地方式.于是我们分享一个即可以用于学习,也可以 ...

  10. 股票量化分析工具QTYX使用攻略——形态选股结果回测(更新v2.5.6)

    搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统.否则,赚钱或者亏钱我们很难归纳总结,往往是凭借运气赚钱,而不是合理的系统模型,一时凭借运气赚的钱长期来看会因为实力还回 ...

最新文章

  1. 合并下载的Solaris镜像为DVD文件的方法
  2. 012_HttpServletResponse响应乱码
  3. 把玩Fedora29操作系统
  4. 非平坦结构元matlab,基于MATLAB的巴特沃思型数字滤波器设计.doc
  5. python 渗透框架_Python渗透测试框架:PytheM
  6. vs矩形框边框线显示被选中的区域;_条形码区域解码:Web小工具
  7. Java使用代理服务器
  8. 一周年工作总结--wfdb库使用
  9. html网页制作代码大全:庆余年——电影网站7页,不包含js 有登陆注册,表格 table布局 ,有的登录注册页面,内嵌 css
  10. 你知道怎么下载矢量图标吗——Iconfont
  11. openwrt怎么做ap_openwrt 添加 无线AP
  12. VMware 8安装Mac OS X 10.7
  13. 高电平输入好还是rca输入好_dsp高电平和低电平输入哪个好
  14. Transformer Decoder
  15. 解决input获取焦点后,旁边文字抖动问题
  16. Java在线打开编辑PPT文档
  17. 解决latex图片浮动体过多的报错:Output loop---100 consecutive dead cycles和Too many unprocessed floats
  18. Centos6.6安装简易桌面环境
  19. onscripter For windows/MAC/Linux V3中文版
  20. “软件中国2006年度风云榜”获奖名单隆重揭晓

热门文章

  1. SpringCloud(14) Sentinel 1.8.4 规则持久化到Nacos
  2. flash文件系统实现原理
  3. python开发ios插件_[原创]Textobot-换个轻松高效的方式开发iOS越狱插件
  4. Keil MDK 选中相同变量 高亮突出显示
  5. asp.net 浏览器下载文件的四种方式
  6. [SCOI 2016]幸运数字
  7. w7设置双显示器_Win7双显示器怎么设置方法 Win7双显示器设置方法
  8. 重装win7系统并激活
  9. Spring boot系统拦截处理异常调转404/500页面
  10. MYSQL加密解密 中文、数字 AES_ENCRYPT,AES_DECRYPT