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

167b1763750b944d6445d94c1ac8a7d8.png

搭建自己的量化系统

6e06e310dacb4f36b8c9f4b23e220fbf.png

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

QTYX是一个即可以用于学习,也可以用于实战炒股分析的量化系统。毕竟边学习边实战,在实战中学习才是最有效地进阶量化交易的方式。

我们分享QTYX系统目的是提供给大家一个搭建量化系统的模版,最终帮助大家搭建属于自己的系统。因此我们提供源码,可以根据自己的风格二次开发。

搭建自己的量化系统的好处如下所示:

  • 【匹配自己的交易风格】投资交易是和每个人的认知、性格强相关的,比如收益的预期、风险承受能力、资金的大小、能够投入的时间等等。

  • 【对整个系统知根知底】搭建自己的量化系统,整个系统的各个环节、细节是比较透明的,不存在黑箱子。如果运行时候出现问题,也可以马上定位到原因。如果用第三方封装好的系统,自己也不清楚底层的实现,就会存在这方面的风险。

  • 【顺应市场时刻调节】市场是一直在变化的,有的策略当下和市场的匹配度高,成绩自然就很好,如果市场风格一转变,不及时调整就会遭受到巨大的打击。如果直接拿别人的系统、策略来使用,自己不理解、消化,就会出现这种情况。

  • 【负和游戏,反其道而行】投资交易是一个负合游戏,只有根据自己的风格和习惯搭建和别人不一样的系统,才有可能通往赚钱之路。如果大家的系统都一样,同时出现买或者卖信号,那是无法成交的,这个时候就要反其道而行。

用Python搭建一套自己的量化交易系统结构如下所示:

dc81f36ce76e9171218d0db46278eb8c.png

结构中包含了各种模块,采用什么模块和每个人的需求息息相关。目前QTYX综合考虑后选择代表性的模块作为案例。大家可以根据自己需求二次更改,也可以联系我合作定制你的版本。

本期我们介绍的功能属于“行情数据”模块。

由于QTYX一直迭代更新,当前介绍对应于版本V2.5.1。后续升级版本会同步更新文档内容。

0fb282b6f60bfc2ee85e7e8976340dd2.png

功能概览

e9b7306e246e4ea0065a961d0e71c5df.png

股票数据的获取是从事股票分析的第一步。数据获取的途径有很多,对大家来说除了数据的质量以外,获取的效率是第二敏感的点。

市面上有一些股票数据服务平台提供了Python接口来获取数据,比如tushare、baostock等。

总的来说,用于单个股票获取时候还是挺方便的,但是当我们的策略涉及到全市场的回测时,一下子下载4000多只股票非常耗时,每天全市场选股需要花1-2个小时。

因为调用接口时,本质上是连接到这些平台的服务器上,所以获取数据时服务器会有一些限制,比如tushare的积分限制,每次调用的频次和数据量都有一定的限制。

为了加速数据获取的过程,股票量化分析工具QTYX使用本地数据源加速全市场选股的过程,仅仅需要十几分钟即可。

992cc8cf3e35622011d14ef2f285456f.png

下载本地数据

7cd48479a6f9e048c124dc2ff0cedc4c.png

我们使用的数据源来自于网易财经!

关于网易财经获取数据的URL分析可参考知识星球《玩转股票量化交易》【1-19】主题。

为了加快A股股票数据的下载进度,我们用了多线程爬虫的方式,然后保存在本地使用。

我们对核心代码封装了一层GUI,提供给大家直接可用的“股票数据下载”工具,只要简单的操作就能下载到股票数据。

这个功能非常关键,为全市场的选股比如双底形态、均线粘合突破、RPS强势个股、走势线性回归等打下基础!

接下来说说怎么使用吧!

首先要在QTYX\DatazFiles路径下创建一个文件夹,用于存储股票数据文件,每个股票一个csv文件。代码中变量data_path默认的是stock_history/,当然大家可以随意更改。

如果stock_history目录下已经存在csv格式的股票数据,那么工具会自动加载到界面中。双击股票文件名称后,股票数据就会在界面右边表格中显示。

d946a53b4b90beb2baa6b6817e10cf7a.png

数据内容包含收盘价、开盘价、最高价、最低价、成交量外,还包含了涨跌

幅、换手率、总市值等等,还是比较丰富的。

在工具顶部菜单栏三个按钮的功能如下:

  • “开始下载”:工具开始增量下载股票从上市至最新交易日的全部数据

  • “刷新文件”:重新加载stock_history目录下存在的股票数据文件

  • “补全下载”:在使用过程中如果触及了网站反扒机制,可以把未下载成功的股票名单记录下来,手动方式二次下载。

  • “停止下载”:下载过程中停止下载任务。

b5ca34858f656fea7eafcbd6128b2c84.png

下载过程中会有“进度条”提供进度:

cec87a7e7427f9e1cb237682ebc97e62.png

下载完成后在“日志区”会统计下载的情况。

因为我本地已经有历史数据了,所以只更新了最近的一天数据。如果是第一次使用本工具,则会下载全部的股票数据。

日志上显示:共更新4773支股票,4773支股票增加数据,0支股票更新失败。共耗时526秒(每天花10分钟左右更新下数据,非常能接受了!)

3dd0c8211429bca88bd77cf00e4dabd0.png

如果有股票下载失败,我们等待一会再点击“补全下载”按钮进行二次下载。

存储了全市场的股票数据之后,针对于全市场的选股和回测就可以展开了!

d7693d4030a2b4859c5fe138468af0f9.png

数据复权处理

04eddb3a24a835253daac84f004b13dd.png

我们获取到的数据是除权的数据,对于像双底形态识别、跳空缺口识别这类的形态分析方法,如果使用除权的股票价格,那么会对选股的结果产生一些影响。

什么是除权和复权?除权通常是除权除息的简称。除权除息前后的股价是需要等价换算的,换算是根据“除权前后流通股股东价值不变”原理来确定的。因此除息要去除股价分红的影响。除权要去除股票数量增加的影响。

假如一只股票除息前股价5元,通告今天是股权登记日,当日每10股分红5元。那么明天为除息日,除息后的股价变为4.5元。

假如一只股票除权前股价20元,通告今天是股权登记日,公司决定每10股送10股。那么明天为除权日,股价变为10块,股本增加1倍,原来持有100股在除权日就变为200股。

这两种情况会在走势图上出现不同程度的下跌缺口,我们称为除权缺口。

除权除息会使投资者误认为是一个向下跳空缺口,如下所示:

7375cfa6fa0b5748a489dda60bd1bc17.png

如果根据除权的股价去计算股票涨跌幅显然是不对的,同花顺软件里面显示的是-52.49%。同样计算得到的各类指标也是毫无参考价值的。

为了使得走势图能真实反映各股价趋势,让投资者更好做出判断,除权除息后的价格就不能直接和以前的价格比,而是要经过复权处理后才有可比性。

复权处理是根据“除权前后流通股股东价值不变”原理。保持现有股价不变,调整以前的价格,就叫做前复权。

同样,保持以前的股价不变,调整除权后的股价,就叫做后复权。

如何得到复权后的股价呢?其实非常简单,无论前复权还是后复权数据,都是可以通过复权涨跌幅转换得到的。复权涨跌幅即是股票的真实涨跌幅。

比如得到了股票第一天的价格之后,通过简单的连乘计算,自然就可以计算出之后每一天的复权价,这个叫做后复权价。

同样的,知道了股票最后一天的价格,那么反向处理也就可以计算出之前每一天的价格,这个叫做前复权价。行情软件中的前后复权价格,其实也是这么算出来的。

QTYX的高速行情数据源支持股票数据的复权处理。

使用方法非常简单。点击 【选股流程】->【开始选股】->【形态驱动型选股】,会出现选股数据参数对话框,包含了【股票周期】、【股票复权】、【选股模型】等栏目。

我们根据需求在【股票复权】下拉选项中选择【不复权】、【前复权】和【后复权】中的一个即可。

8746867cb7c848215963647cd3567c14.png

注:默认只有在选择了扫描“全市场股票”时,才会使用本地高速行情数据源。

210bf152a0d7ed2f76fc8f02e3131e74.png

想要了解代码是如何实现复权的话,可以查看QTYX/ApiData/Csvdata.py文件的load_history_st_data()函数。

不少星友会留意到有时候同一只股票,在不同的行情软件里面显示的复权价格是不一样的。这里需要和星友们说明下关于复权后股价数据不一致的原因。

数据不一致的主要原因是不同系统间采用复权方式可能不一致。比如QTYX使用的是“涨跌幅复权法”进行复权,而同花顺或者通达信等软件可能是不同的。

其实复权是非常复杂的处理,真实的情况下有分红、转增、增发、配股、可转债等非常复杂的情况。即使是专业的数据库,也都会在复权计算中出现错误。

所以大家更多还是结合自身使用的情况,去考虑复权数据的影响。比如对于形态选股而言,只要把除权缺口弥补即可,对价格的微小误差并不敏感。

如果是在回测中,则应该使用真实价格的回测模式。

比如当回测到“历史时刻1”时,使用“历史时刻1”的复权因子对之前的价格进行前复权,如果出现成交,就和真实价格撮合成交;当回测到“历史时刻2”时,“对“历史时刻2"之前的价格进行前复权。

1c17e9be1767217903804ab04d425318.png

f87e2007cd5f3730d9746c65176c7794.png

代码中函数说明

b14bdbd756643bc1f5c53ff428c4095b.png

我们对功能相关的函数进行列举说明,大家可以找到源码进行调试和学习。

UserFrame.py
_ev_click_menu_start:菜单栏->开始下载->事件触发
_ev_click_menu_fresh:菜单栏->刷新文件->事件触发
_ev_click_menu_compt:菜单栏->补全下载->事件触发
_ev_click_menu_stop:菜单栏->停止下载->事件触发
CrawlerThread:多线程回调爬虫行情数据接口
DefProgress.py
ProgressBarDialog:操作进度条元素
DownloadDataThread:多线程更新进度条

HistoryOCHLV.py:爬虫获取网易财经数据驱动
DatHandle.py
day_to_qfq:前复权处理day_to_hfq:后复权处理

说明

1. 我们会把完整的源码上传到知识星球《玩转股票量化交易》中,帮助小伙伴们更好地掌握这个方法。

2. 想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利!

知识星球介绍点击:知识星球《玩转股票量化交易》精华内容概览

fdf791bfafc11166ed8c5baa68b00d56.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17946.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

祝《玩转股票量化交易》星友们2022年股市收益高涨、财源滚滚!

前言 元宵大师给大家拜年啦!祝大家虎年大吉、阖家安康、万事如意! 最最最重要的是在2022年里,祝愿知识星球《玩转股票量化交易》的小伙伴们能够继续在量化交易之路上取得进步,搭建出属于自己的量化交易系统。 同时,我和…

[独家]自动播放K线图训练盘感能力!股票量化分析工具QTYX-V2.3.5

K线量价的重要性 K线图对炒股的朋友来说太熟悉不过了,每一根K线包含了开盘价、收盘价、最高价和最低价这四个价位信息,分别用红和绿两种颜色来表示上涨或下跌,反映了单位时间周期内价格变动的情况。 不过K线的功效可不仅仅用来记录价格的变动…

股票量化分析工具QTYX使用攻略——挖掘主升浪中的人气个股(更新2.6.5)

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

量化交易-利用同花顺量化平台supermind 5行代码搞定多条件选股并微信实时收消息-保姆级教程

利用supermind 5行代码搞定多条件选股并在微信实时收消息-保姆级教程 前言 对大部分炒股的朋友来说,日常最耗时的就是盯着选股条件然后不停的选股,我经常苦恼于有无程序能自动化实现选股,然后选中之后自动发送消息到我的手机里面。这样我就能…

Easytrader 超简单的股市自动交易神器

往期推荐 量化投资实战教程(1)—基于backtrader的简单买入卖出策略 量化投资原来这么简单(2)—MACD策略(26.9%) 量化投资原来这么简单(3) —A股回测MACD策略 Python 量化投资原来这么简单(4) —KDJ 策略 Python 量化投资原来这么简单(5) — A股回测KDJ策略 Python 量化投资原来…

RWKV:在Transformer时代重振RNN

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【Transformer】交流群 梦晨 衡宇 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT爆火以来,大语言模型和Transformer几乎成了同义词,然而真的如此吗&…

上海成国内开发者收入最高城市,2022 全球程序员收入报告出炉!

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 在科技迅速发展的时代,各行业对程序员的需求持续增长,程序员作科技市场的“重要基石”,薪资一直是非常“能打”的存在。 近日,美国科技公…

好好讲话--《即兴演讲:掌控人生的关键时刻》

最近在微信听书上听到了一个比较好的课程–《即兴演讲,张口就说》,总共12节,细致的讲解了即兴演讲的技巧和经验。 突然想起来读过的这本书,于是就重新拿出来翻了翻。 和上面的课程进行了一个简单的对比,发现&#xf…

对话OpenAI研究科学家:他们是如何让GPT4更像人的?

ChatGPT不是一次伟大创新的产物,而是许多个阶段性创新持续叠加的结果。 文 | Aparna Dhinakaran 究竟是怎样的大脑创造出了跨时代的ChatGPT?作为ChatGPT的姊妹模型,InstructGPT的核心技术和ChatGPT有很多相通之处。 近期,美国AI可…

记北京Linux用户组2008年第一次活动——串夜派对NO.1

串夜派对NO.1<o:p></o:p> 上周四&#xff0c;周老师&#xff08;博文视点副总&#xff09;告诉我&#xff0c;孟岩老师&#xff08;《程序员》技术总监&#xff09;要带我去参加BJUG Linux用户组组织的一个活动。当时我有些纳闷&#xff0c;有这样的活动我怎么不知…

ZT 80-90年代港台300部电视剧 你看过多少?

80-90年代港台300部电视剧 你看过多少&#xff1f; [复制链接] 噗噗 738主题18精华 万家金领 发消息 发表于 2010-4-27 09:01:02 | 显示全部楼层 1、&#xff08;珍珠传奇&#xff09; 施 思 寇世勋 姜厚任 台湾古装剧     2、&#xff08;法网柔情&#xff09; 米 雪 刘…

SparkCore-RDD编程

SparkCore-RDD编程操作 0. 大纲 Spark程序的执行过程RDD的操作 RDD的转换操作共享变量 高级排序 1. Spark程序执行过程 1.1. WordCount案例程序的执行过程 1.2. Spark程序执行流程 2. RDD的操作 ​ At a high level, every Spark application consists of a driver program…

有了这个Python库,再也不愁给孩子起名字了

后台回复1024&#xff0c;解锁无限快乐&#xff01; 你是不是曾经为了给孩子起名字而左思右想&#xff0c;抓耳挠腮&#xff1f; 今天&#xff0c;我为你带来一款永久且快速的解决方案&#xff0c;让你再也不会为给孩子起名而苦恼了&#xff0c;无论生多少个&#xff0c;起名都…

深挖GPT-4背后的技术方向,华人开发者成绩斐然

源&#xff5c;机器之心 始于谷歌&#xff0c;发迹于 OpenAI&#xff0c;这是很多 GPT-4 贡献者的职业轨迹。 这个星期&#xff0c;OpenAI 大模型 GPT-4 的发布让全球科技圈的技术竞争进入了白热化。几天之内&#xff0c;ChatGPT、必应搜索和 Microsoft 365 相继接入 GPT-4&…

火狐十大必用插件

十个个必装的火狐插件 也许这十个中其中某个或者几个并适合中国人用&#xff0c;当我至少有3个在用&#xff01; 上次我们为必装的火狐扩展进行排行 已经是两年前的事了。而现在的新 排行做出了一些必要的更新&#xff0c;和上次一样以即点即用的形式为大家展现这次的大师级最…

火狐的一些实用插件

Firefox Firefox是一一个出自Mozilla组织的流行的Web浏览器。Firefox的流行并不仅仅是因为它是一-个好的浏览器&#xff0c;而且它能够支持插件进而加强它自身的功能。 Mozilla 有一个插件站点&#xff0c;在那里面有成千上万非常有用的插件。一些插件对于渗透测试人员和安全…

推荐几个火狐浏览器插件

目前&#xff0c;谷歌浏览器市场占有率最高&#xff0c;谷歌公司号称不作恶&#xff0c;实际上也作了一些恶&#xff0c;只不过底线比百度高一点。因为各类屏蔽广告的插件有损谷歌自己投放的广告的收益&#xff0c;因此谷歌对广告屏蔽插件下手了&#xff0c;削弱插件的屏蔽效果…

Firefox火狐浏览器插件大全

Firefox火狐浏览器 软件版本&#xff1a;51.0.1 简体中文版软件大小&#xff1a;666KB软件授权&#xff1a;免费适用平台&#xff1a; WinXP Win2003 Vista Win8 Win7 Win10下载地址&#xff1a;http://dl.pconline.com.cn/download/52175.html 立即下载 一、浏览器功能扩展组…

fireFox post请求插件,火狐浏览器插件

在开发过程中&#xff0c;为了测试数据&#xff0c;提交表单等。经常会用到post请求&#xff1b;在这里向大家介绍一款比较好用的浏览器插件&#xff0c;它可以很好的模拟post&#xff0c;get&#xff0c;put等常用的请求。大大便利了我们的开发。它就是fire fox中的RESTClient…