搭建系统|升级选股工具,多板块个股同时提取!个股行情走势存入数据库
前言
股票分析中选股是很重要的一个环节,特别是在市场走势普遍向好的环境下,选股比择时更为重要,原因很简单,就是资金的使用效率要最大化。比如同样的资金在同样的持股时间下,你的股票只涨了10%,大盘涨幅30%,而强势股涨幅100%,所以说选股是拉开收益的主要因素。
对于大多数股民来说,一方面根据股价走势这类技术面来选股,另一方面也会加入一些基本面选股的条件,比如换手率、量比、市盈率、市净率、市销率、股息率、总股本、流通股本、自由流通股本、总市值、流通市值等等。
于是在“搭建系统”这个专栏中我会结合常用的选股技巧,一步一步地搭建出一个典型的选股小工具,通过这个过程来分享给大家构建本地选股工具的方法。
往期功能点实现罗列:
1 创建A股市场全部股票的基本面指标表,以指标的条件表达式来过滤股票,支持多指标条件叠加选股。
搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具
2 添加日历功能,获取不同交易日的基本面指标表。添加排序功能,过滤股票后以指标的阈值进行升序、降序排列。
搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能会更好用
3 将选股工具与行情界面相链接,选出的股票可直接通过行情界面查看多周期、前后复权的历史走势。
搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换
4 添加一键剔除ST股功能。添加日历控件,根据日期设置去剔除次新股。
搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股
5 面向对象方式封装选股数据接口,使用者可以轻松替换自己的选股数据源。
搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表?
6 根据所属行业分类,输入行业名称过滤出该行业下全部个股。
搭建系统|证券板块连续暴动!选股工具先按行业分类再选个股有多重要!
本期看点
随着A股市场不断地扩容,无论牛市还是熊市更多的还是结构性机会,也就是行业板块的轮动和切换,此消彼长,这会是一种常态。
因此选股环节要有先大后小,先关注板块再挑选个股的思维。上一期我们实现了所属行业的分类,以及输入行业名称过滤出该行业下全部个股。
本期在我们前期自制的选股小工具基础上,再次升级以下几个功能:
1 可同时输入多个行业,同时过滤出多个行情的全部个股
2 将所选股票对应的行情走势数据存入数据库中
实现过程概述
本次代码price_and_pick_upv4.py的更改是基于price_and_pick_upv3.py(已上传知识星球)这个文件开展的,大家可以利用Pycharm的代码比较功能查看更改的地方(知识星球3-6 如何用Pycharm对文件内容比较)。
首先,在条件表达式选股的参数区中按以下方式填写,文本框中以“|” 为间隔输入行业,比如“银行|证券”,点击【开始选股】即可。
在代码中主要改动点在start_select这个方法,我们会判断“|”符号,分别去过滤出各个行业,然后拼接在一起。
当选出相应的股票后,接下来,我们把股票的行情数据存入数据库中,便于后续进一步的分析。
关于数据库的存储,此处创建了一个对话框,可选择股票行情数据的时间范围,以及查看存储过程的日志信息。
代码中我们增添了一个DataBase_Sqlite类,目前完成了“获取股票代码列表”、“读取表数据”、“删除表”、“关闭数据库”这些功能。其实涉及到DataFrame.sql()的用法以及数据库中删除重复记录的方法,大家可参考知识星球中相应的主题介绍,如下所示:
接下来我们以一个选股的例子来介绍下使用方法。
1 选取7月10日的A股全部股票的选股数据;剔除ST股;按行业排序
2 粗选本人心仪的元器件和软件服务这两个板块,科技兴国离不开最基础的元器件和软件。
3 然后我们条件选取“流通市值”这个选项,以目前的行情我们偏向于选择流通市值中等规模以上的,从中长线的趋势来说会走的更稳健一些。
4 然后我们条件选取“市盈率”这个选项,市盈率是最常用来评估股价水平是否合理的指标之一,指的是股票每股市价与每股盈利的比率。如果一家公司股票的市盈率过高,那么该股票的价格具有泡沫,价值被高估。利用市盈率比较不同股票的投资价值时,这些股票必须属于同一个行业,因为此时公司的每股收益比较接近,相互比较才有效。这就是为什么我们要先选取板块再考虑个股的原因了。
选股后从3000多只股票中选出了200多只股票。我们还能再进一步通过换手率、涨跌幅等指标去选取更小范围的目标股票。
5 选完之后,保存股票,然后可以切换到行情界面查看个股的走势情况。点击“更新股票”按钮会同步选股后的股票池。接着就可以查看股票走势行情了。
以上就是本期分享给大家的一个需求实现方法,希望大家能够掌握并且以此为基础去搭建适合自己的工具,这才是应对瞬息万变的股票市场的有效途径。
往期视频效果
加入知识星球 可获取完整代码
更多量化交易内容扫码加入星球!—————————————————元宵大师的量化交易书籍开售!!京东、当当、天猫有售!!加我QQ或者微信了解详情
微信关注:‘元宵大师带你用Python量化交易’
搭建系统|升级选股工具,多板块个股同时提取!个股行情走势存入数据库相关推荐
- 搭建系统|升级选股工具,使用同花顺F10查看上市公司基本概况!
前言 股票分析中选股是很重要的一个环节,特别是在市场走势普遍向好的环境下,选股比择时更为重要,原因很简单,就是资金的使用效率要最大化.比如同样的资金在同样的持股时间下,你的股票只涨了10%,大盘涨幅3 ...
- 搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换...
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能会更好用 搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具 ...
- Python复盘股票_搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换...
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能会更好用 搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具 ...
- 搭建系统|量化小工具升级!爬虫收集上市公司的公告,这样查阅才高效!
前言 "搭建系统"专栏系列前期一直以"选股"."回测"."行情"这三个主线展开的进程再不断地迭代开发工具. 我一直强调要 ...
- 搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|"财务数据选股工具"如何与"多维度股票行情分析工具"完成无缝切换 搭建系统|升级基于财务数据 ...
- 搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表?
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股 搭建系统|"财务数据选股工具"如何与"多维度股 ...
- 搭建系统|为何我坚持要用Python搭建属于自己的股票量化交易系统
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表? 搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股 搭建系统| ...
- 搭建系统|别只盯MA、KDJ、MACD这些技术指标,择时策略也能叠加基本面指标!
前言 "搭建系统"专栏系列一直按以下的进程再不断地迭代开发工具: 我一直强调要搭建属于适合自己的股票量化交易系统,而不是照搬着拿别人的来用呢.也就是说我们要掌握搭建的方法,不断去调 ...
- 搭建系统|继承backtrader的本地量化回测平台如何玩转多股轮动策略!
前言 一个完整的量化交易系统离不开人机交互功能的应用,特别是在回测阶段,我们需要不断更改参数因子.更换交易策略以应对当前的市场.因此创建完整的.功能键全的GUI用户界面至关重要. 市面上也出现了很多相 ...
最新文章
- 没想到吧,让你一秒变身纸片人的爆火AI特效,背后还有这么多知识点
- Python入门100题 | 第013题
- 巧用windows快捷键
- DDD:DomainEvent、ApplicationEvent、Command
- 【转】3:C#异步WaitAll的使用
- python函数如何实现可变参数_【已解决】Python中实现可变参数的函数
- 6-1 另类堆栈 (8 分)
- 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装
- IMF:央行须变得更像苹果公司以保证央行数字货币处在技术前沿
- 设计一个媒体类,其中包含:书,CD及磁带3个子类。按照类的设计模式,完成他们的插入、删除和查找功能。
- ctx->cvdl->cuvidGetDecoderCaps(ctx->caps8) failed -> CUDA_ERROR_DEINITIALIZED: driver shutting down
- 怎么看懂计算机代码,程序员如何看懂别人的代码(干货,实用)
- 【超级不爽】腾讯居然在我不知情未授权的情况下偷偷的转载我的博客文章
- BZOJ 1406 [AHOI2007]密码箱 数论
- Cesium--模型(modle)的处理篇
- Openwrt如何添加SD_Card?看这里
- 职教云计算机网络基础题库,智慧职教云课堂APP计算机组装与维护章节测试答案...
- Mac版3D动画建模渲染工具C4D R26
- 【贪心】 大天使之剑
- protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);