搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表?
前言
前几期我们搭建了自定义的量化行情/选股/回测框架:
搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股
搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换
搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能会更好用
搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具
搭建系统|听说backtrader很不错!把它集成到本地GUI回测平台中!
搭建系统|在线改策略很便捷!试一试本地GUI回测平台动态改策略
搭建系统|多维度下不同股票|周期|除权|复权走势对比界面
搭建系统|行情软件可没有!多股票投资组合用的GUI分析界面
搭建系统|想把聚宽本地化吗?一起来创建GUI版的自定义量化回测平台
搭建系统|wxPython布局管理实现多只股票走势对比界面
搭建系统|比Matplotlib更好用的pyecharts打造GUI股票行情分析界面
前几期我们搭建的基本面选股小工具是用了tushare的两个接口组合而成,一个是pro.stock_basic(),另一个是pro.daily_basic()。
我一直强调炒股软件应该是每个人用的都不一样,即使是通用的行情软件,每个人的选择也都不同,有的喜欢同花顺、有的喜欢通达信,看行情时图表的组合也都不一样。
所以,我分享的选股小工具,是提供给大家一个思路,而不是让大家都一成不变的去使用。
本期我们要介绍的是如何更换财务数据源,让小工具为大家所用。
实现过程概述
首先,本次代码的更改是基于price_and_pick_upv1.py(公众号对应介绍)这个文件开展的,大家可以利用Pycharm的代码比较功能查看更改的地方。
此处,我们把PickFrame类中涉及到财务数据部分给提取出来了,用单独的类封装,比如Tspro_Backend类,其中包含了财务指标的种类self.tran_col、条件选股类别self.filter,还有财务数据表的处理方法datafame_join()。
然后以组合方式添加到PickFrame类中。
# 组合加入tushare数据
self.ts_data = Tspro_Backend()
self.filter = self.ts_data.filterself.tran_col = self.ts_data.tran_col
self.datafame_join = self.ts_data.datafame_join
于是我们就能够独立地更换下财务数据。
我们选取tushare无需积分的org版本的get_stock_basics、get_report_data接口结合pro的pro.stock_basic(该接口是必须的,以它为A股市场的股票名称和代码的基准)来制作财务数据表。
get_stock_basics包含的指标有:
code,代码
name,名称
industry,所属行业
area,地区
pe,市盈率
outstanding,流通股本(亿)
totals,总股本(亿)
totalAssets,总资产(万)
liquidAssets,流动资产
fixedAssets,固定资产
reserved,公积金
reservedPerShare,每股公积金
esp,每股收益
bvps,每股净资
pb,市净率
timeToMarket,上市日期
undp,未分利润
perundp,每股未分配
rev,收入同比(%)
profit,利润同比(%)
gpr,毛利率(%)
npr,净利润率(%)
holders,股东人数
get_report_data包含的指标有(这个接口是按年度、季度获取业绩报表数据。数据获取需要一定的时间。需要输入年度和季度,要注意最新的报表发布时间):
code,代码
name,名称
esp,每股收益
eps_yoy,每股收益同比(%)
bvps,每股净资产
roe,净资产收益率(%)
epcf,每股现金流量(元)
net_profits,净利润(万元)
profits_yoy,净利润同比(%)
distrib,分配方案
report_date,发布日期
我们会发现这几个接口中很多的类别是重复的,而且名称还不一样。这里我们用的是merge()方法,知识星球中有一个相应的数据处理场景可以参考。
我们发现有些列是重复的,因此在合并的时候要删除重复列。
比如区域和行业,两个表格的列名是相同的,在merge()合并的时候给它加了后缀,所以找不到预定义的名称。
比如上市日期和代码,两个表格的列名不相同,但内容相同,在merge()合并的时候会出现两列。
把有问题的列处理完成后,发现表格的行存在重复的股票。
在datafame_join方法中,我们连续使用了两次merge(),pd.merge(df_stbasic, df_dybasic,……)的结果是这样的,完全正确。
但是合并上这个表格(df_rpbasic)后就会出现行重复。
一种比较简单粗暴的方法是使用drop_duplicates去掉name列重复的行,并保留重复出现的行中第一次出现的行。
建立了自己的财务数据表格后,剩下的条件判断机制并不需要更改。所以,大家可以把各种平时分析的数据,比如盈利能力、运营能力等等合并到表格中来。
往期视频效果
加入知识星球 可获取完整代码
更多量化交易内容扫码加入星球!—————————————————元宵大师的量化交易书籍开售!!京东、当当、天猫有售!!加我QQ或者微信了解详情
微信关注:‘元宵大师带你用Python量化交易’
搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表?相关推荐
- Zabbix5.0前端个性化设置,手把手教你定制Logo
本文介绍在Zabbix5.0中如何通过修改Zabbix前端文件icon-sprite.svg来实现自定义Logo,参与感更强. 软件名称 软件版本 说明 Zabbix Server 5.0.5 已完成 ...
- 搭建系统|升级选股工具,多板块个股同时提取!个股行情走势存入数据库
前言 股票分析中选股是很重要的一个环节,特别是在市场走势普遍向好的环境下,选股比择时更为重要,原因很简单,就是资金的使用效率要最大化.比如同样的资金在同样的持股时间下,你的股票只涨了10%,大盘涨幅3 ...
- 搭建系统|升级选股工具,使用同花顺F10查看上市公司基本概况!
前言 股票分析中选股是很重要的一个环节,特别是在市场走势普遍向好的环境下,选股比择时更为重要,原因很简单,就是资金的使用效率要最大化.比如同样的资金在同样的持股时间下,你的股票只涨了10%,大盘涨幅3 ...
- 搭建系统|为何我坚持要用Python搭建属于自己的股票量化交易系统
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|说好了个性化的选股工具!教你定制自己的选股财务数据表? 搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股 搭建系统| ...
- 搭建系统|量化小工具升级!爬虫收集上市公司的公告,这样查阅才高效!
前言 "搭建系统"专栏系列前期一直以"选股"."回测"."行情"这三个主线展开的进程再不断地迭代开发工具. 我一直强调要 ...
- 我用wxPython搭建GUI量化系统之财务选股工具剔除ST股和次新股
前言 最近交易所公布了上证指数改编方案,其中有两条是和本篇文章相关的. 第一条是围绕ST个股改编.当上市公司变更为ST后一个月将从指数样板中剔除. 第二条围绕新股改编.上证指数新上市的日均市值前十的证 ...
- 搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具
前言 前几期我们搭建了自定义的量化行情/回测框架: 搭建系统|听说backtrader很不错!把它集成到本地GUI回测平台中! 搭建系统|在线改策略很便捷!试一试本地GUI回测平台动态改策略 搭建系统 ...
- 搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|"财务数据选股工具"如何与"多维度股票行情分析工具"完成无缝切换 搭建系统|升级基于财务数据 ...
- 搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换...
前言 前几期我们搭建了自定义的量化行情/选股/回测框架: 搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能会更好用 搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具 ...
最新文章
- 微生物组—宏基因组分析专题培训开课啦!
- dubbo在idea下的使用创建 服务者,消费者 注册中心
- linux oracle bad elf,oracle11g安装到red hat6.2 64位系统报错:/lib/ld-linux.so.2: bad ELF interpreter...
- mysql数据库约束详解_MySQL数据库中的外键约束详解
- MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制
- WinForm高级控件实例--职员信息登记
- java的位桶是什么_Java关于桶排序的知识点总结
- 六星经典CSAPP-笔记(7)加载与链接(上)
- 产业互联网周报:中国移动:择时分拆业务上市;金山云CEO王育林辞职;谷歌负面缠身,数据中心爆炸又遭罚款...
- Android 11日历中添加账户跳转失败
- 数据特征分析 - 帕累托分析法
- 什么是“富人思维”?
- SQL server 2012 下载,安装,磁力链接,下载地址 2020.11.28
- java丐帮_java多线程学习笔记(五)
- MATLAB运用——计算三维物体的质心(水花号)
- 惊悚恐怖好片推荐(喜欢看片的朋友们看过来)
- tar gz bz bz2 等各种解压文件使用方法
- CART决策树算法Python实现 (人工智能导论作业)
- 液压机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- mysql 结构化数据库_【MySQL】——MySQL数据库和SQL结构化查询语言概述
热门文章
- 12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?
- vue批量生成二维码并压缩打包下载(图片带标题)
- Android异常篇 The option setting ‘android.disableResourceValidation=true‘ is experimental and unsupport
- 说不尽的卡尔曼 | 详解扩展卡尔曼滤波器
- 计算机专业的毕业生35,计算机专业毕业生求职简历
- 软件设计师 知识产权
- bootstrap-datepicker的使用
- pytorch综合多个弱分类器,投票机制,进行手写数字分类(boosting)
- python 3.9特性_Python3.9新鲜出炉,Python3.9有什么特性?
- 校园是一本生物书 之显微镜下的微世界