常用的股票量化分析方法 (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

基本面量化分析,qstock如何用

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

基本面量化分析,qstock如何用

03 大股东增减持变动明细

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

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

基本面量化分析,qstock如何用

04 机构持股

institute_hold(quarter = "20221")

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

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

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

基本面量化分析,qstock如何用

02 主营业务

主营业务收入数据

main_business(code= "000001")

获取公司主营业务构成

code: 股票代码或股票简称

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

基本面量化分析,qstock如何用

03 财务报表

财务报表数据

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

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

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

业绩报表

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

基本面量化分析,qstock如何用

业绩预告

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

基本面量化分析,qstock如何用

业绩快报

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

基本面量化分析,qstock如何用

资产负债表

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

基本面量化分析,qstock如何用

利润表

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

基本面量化分析,qstock如何用

现金流量表

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

基本面量化分析,qstock如何用

04 财务指标

个股基本财务指标

stock_basics(code_list)

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

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

基本面量化分析,qstock如何用

个股详细财务指标

stock_indicator(code)

code: 股票代码或简称

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

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

基本面量化分析,qstock如何用

每股收益预测

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

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

基本面量化分析,qstock如何用

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