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

在这里插入图片描述

提供源码的初衷

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

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

目的是帮助大家更好掌握书本知识,同时提供给大家一个思路,可以以此为基础去搭建适合自己的系统!

当前学习版的股票量化分析工具,版本号为QTYX 2.02

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

知识星球详细介绍可以点击链接查看:【点击】

QTYX最新版本使用指南:【点击】

Python股票量化分析学以致用指南课程:【点击】

安装环境

因为QTYX工具提供的是Python源码,只要在Python环境下启动即可,所以第一步就是搭建运行环境!!!(实战版QTYX提供EXE可执行文件)

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

文字版指导文档【点击】:Python环境安装过程

视频版指导文档:链接: https://pan.baidu.com/s/1p5WES6Zd_duCinN5LGq3Tg 提取码: qgsq 复制这段内容后打开百度网盘手机App,操作更方便哦

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

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参数值:
在这里插入图片描述

界面显示比例

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

  • 31
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值