【qstock量化】数据篇之股票基本面数据

简介

qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析开源库,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(backtest)四个模块。其中数据模块(data)数据来源于东方财富网、同花顺、新浪财经等网上公开数据,数据爬虫部分参考了现有金融数据包tushare、akshare和efinance。qstock致力于为用户提供更加简洁和规整化的金融市场数据接口。可视化模块基于plotly.express和pyecharts包,为用户提供基于web的交互图形简单操作接口;选股模块提供了同花顺的技术选股和公众号策略选股,包括RPS、MM趋势、财务指标、资金流模型等,回测模块为大家提供向量化(基于pandas)和基于事件驱动的基本框架和模型。


qstock目前在pypi官网上发布,开源版本为1.1.0,读者直接“pip install qstock ”安装即可使用。GitHub地址:

https://github.com/tkfy920/qstock。

目前部分策略选股和策略回测功能仅供知识星球会员使用,会员可在知识星球置顶帖子上上获取qstock-1.1.1.tar.gz (强化版)安装包,进行离线安装。

下面为大家介绍qstock数据模块(data)中基本面数据的调用方法。

#导入qstock模块
import qstock as qs

01

股东持股情况

01

股票前十大股东信息

stock_holder_top10(code, n=2)

获取沪深市场指定股票前十大股东信息

code : 股票代码

n :最新 n个季度前10大流通股东公开信息

df=qs.stock_holder_top10('中国平安', n=2)
df

dc7e57ebd7e7252577dea54ab1ca45a3.jpeg

02

沪深个股股东数量

stock_holder_num(date=None)
获取沪深A股市场公开的股东数目变化情况

date : 默认最新的报告期,
指定某季度如'2022-03-31','2022-06-30','2022-09-30','2022-12-31'

df=qs.stock_holder_num('20220930')
df

f5369b8f4ea6f7d3143020eb24bc307c.jpeg

03

大股东增减持变动明细

无需输入参数,获取大股东增减持变动明细

#大股东
df=qs.stock_holder_change()
df.head()

4dbf3d9b3dd38fc739bced62b69ce7b2.jpeg

04

机构持股

institute_hold(quarter = "20221")

获取新浪财经机构持股一览表

quarter: 如'20221表示2022年一季度,
其中的 1 表示一季报; "20193", 其中的 3 表示三季报

#2022年2季度
df=qs.institute_hold('20222')
df

1db8f071dd29a64eaa27024a65b90104.jpeg

02

主营业务

05

主营业务收入数据

main_business(code= "000001")

获取公司主营业务构成

code: 股票代码或股票简称

df=qs.main_business('丰元股份')
df.head()

58bb876d0c08f201dda5a5313ba9a539.jpeg

03

财务报表

06

财务报表数据

financial_statement(flag='业绩报表',date=None):

flag:报表类型,默认输出业绩报表;
'业绩报表'或'yjbb':返回年报季报财务指标;
'业绩快报'或'yjkb':返回市场最新业绩快报;
'业绩预告'或'yjyg':返回市场最新业绩预告;
'资产负债表'或'zcfz':返回最新资产负债指标;
'利润表'或'lrb':返回最新利润表指标;
'现金流量表'或'xjll':返回最新现金流量表指标.

date:报表日期,如‘20220630’,‘20220331’,默认当前最新季报(或半年报或年报)

业绩报表

df=qs.financial_statement('业绩报表',date='20220930')
df.head()

2163f0ac0439cabe41e0aa08865746d2.jpeg

业绩预告

df=qs.financial_statement('yjyg')
df.head()

1d581ca55801d8e45919de5a58e2f0d6.jpeg

业绩快报

#注意参数设置有个小bug,目前调用会报错,将在新版本中修正!
df=qs.financial_statement('yjkb')
df.head()

1ce8a0c7f8389ec5372ec7f1ffcbfe1f.jpeg

资产负债表

df=qs.financial_statement('资产负债表')
#查看前几行
df.head()

3775345eb487826fe17ef1e796c04440.jpeg

利润表

df=qs.financial_statement('利润表')
#查看前几行
df.head()

0e6c4c1a5b69f150ef67035a2ed8b8c8.jpeg

现金流量表

df=qs.financial_statement('现金流量表')
#查看前几行
df.head()

17c9a4198efb036909f596ea91875c3f.png

04

财务指标

07

个股基本财务指标

stock_basics(code_list)

code_list:代码或简称,可以输入单只或多只个股的list  
如:单只个股:code_list='中国平安'; 
多只个股code_list=['晓程科技','中国平安','西部建设']  
返回:代码、名称、净利润、总市值、流通市值、所处行业、市盈率、市净率、ROE、毛利率和净利率指标

code_list=['300139','中国平安','西部建设','贵州茅台','丰元股份','002432']
df=qs.stock_basics(code_list)
df

b4e8fdc59655a605815dcf4a95574aac.jpeg

08

个股详细财务指标

stock_indicator(code)

code: 股票代码或简称

获取个股历史报告期所有财务分析指标

df=qs.stock_indicator('中国平安')
df.head()

9564d3a68b26be2a77c42f6d64893625.jpeg

09

每股收益预测

获取全市场A股最新机构研报数、买卖评级和每股收益预测

df=qs.eps_forecast()
df.head()

2b1bc7a4b6ea24365910b233685cb875.jpeg

后续推文将进一步分享qstock数据模块中关于宏观数据和财经新闻数据等的调用方法。

参考资料:

1. https://efinance.readthedocs.io/en/latest/

2. https://akshare.akfamily.xyz/data/stock/stock.html#a

3. https://www.tushare.pro/document/2

猜你喜欢

转载自blog.csdn.net/ndhtou222/article/details/127355905