【qstock量化】數(shù)據(jù)篇之股票基本面數(shù)據(jù)
簡(jiǎn)介
qstock由“Python金融量化”公眾號(hào)開(kāi)發(fā),試圖打造成個(gè)人量化投研分析開(kāi)源庫(kù),目前包括數(shù)據(jù)獲?。╠ata)、可視化(plot)、選股(stock)和量化回測(cè)(backtest)四個(gè)模塊。其中數(shù)據(jù)模塊(data)數(shù)據(jù)來(lái)源于東方財(cái)富網(wǎng)、同花順、新浪財(cái)經(jīng)等網(wǎng)上公開(kāi)數(shù)據(jù),數(shù)據(jù)爬蟲(chóng)部分參考了現(xiàn)有金融數(shù)據(jù)包tushare、akshare和efinance。qstock致力于為用戶提供更加簡(jiǎn)潔和規(guī)整化的金融市場(chǎng)數(shù)據(jù)接口??梢暬K基于plotly.express和pyecharts包,為用戶提供基于web的交互圖形簡(jiǎn)單操作接口;選股模塊提供了同花順的技術(shù)選股和公眾號(hào)策略選股,包括RPS、MM趨勢(shì)、財(cái)務(wù)指標(biāo)、資金流模型等,回測(cè)模塊為大家提供向量化(基于pandas)和基于事件驅(qū)動(dòng)的基本框架和模型。
qstock目前在pypi官網(wǎng)上發(fā)布,開(kāi)源版本為1.1.0,讀者直接“pip install qstock?”安裝即可使用。GitHub地址:
https://github.com/tkfy920/qstock。
目前部分策略選股和策略回測(cè)功能僅供知識(shí)星球會(huì)員使用,會(huì)員可在知識(shí)星球置頂帖子上上獲取qstock-1.1.1.tar.gz?(強(qiáng)化版)安裝包,進(jìn)行離線安裝。
下面為大家介紹qstock數(shù)據(jù)模塊(data)中基本面數(shù)據(jù)的調(diào)用方法。
#導(dǎo)入qstock模塊
import?qstock?as?qs
01股東持股情況
01股票前十大股東信息
stock_holder_top10(code, n=2)
獲取滬深市場(chǎng)指定股票前十大股東信息
code : 股票代碼
n :最新 n個(gè)季度前10大流通股東公開(kāi)信息
df=qs.stock_holder_top10('中國(guó)平安',?n=2)
df

02滬深個(gè)股股東數(shù)量
stock_holder_num(date=None)
獲取滬深A(yù)股市場(chǎng)公開(kāi)的股東數(shù)目變化情況
date : 默認(rèn)最新的報(bào)告期,
指定某季度如'2022-03-31','2022-06-30','2022-09-30','2022-12-31'
df=qs.stock_holder_num('20220930')
df

03大股東增減持變動(dòng)明細(xì)
無(wú)需輸入?yún)?shù),獲取大股東增減持變動(dòng)明細(xì)
#大股東
df=qs.stock_holder_change()
df.head()

04機(jī)構(gòu)持股
institute_hold(quarter = "20221")
獲取新浪財(cái)經(jīng)機(jī)構(gòu)持股一覽表
quarter: 如'20221表示2022年一季度,
其中的 1 表示一季報(bào); "20193", 其中的 3 表示三季報(bào)
#2022年2季度
df=qs.institute_hold('20222')
df

02主營(yíng)業(yè)務(wù)
05主營(yíng)業(yè)務(wù)收入數(shù)據(jù)
main_business(code= "000001")
獲取公司主營(yíng)業(yè)務(wù)構(gòu)成
code: 股票代碼或股票簡(jiǎn)稱
df=qs.main_business('豐元股份')
df.head()

03財(cái)務(wù)報(bào)表
06財(cái)務(wù)報(bào)表數(shù)據(jù)
financial_statement(flag='業(yè)績(jī)報(bào)表',date=None):
flag:報(bào)表類型,默認(rèn)輸出業(yè)績(jī)報(bào)表;
'業(yè)績(jī)報(bào)表'或'yjbb':返回年報(bào)季報(bào)財(cái)務(wù)指標(biāo);
'業(yè)績(jī)快報(bào)'或'yjkb':返回市場(chǎng)最新業(yè)績(jī)快報(bào);
'業(yè)績(jī)預(yù)告'或'yjyg':返回市場(chǎng)最新業(yè)績(jī)預(yù)告;
'資產(chǎn)負(fù)債表'或'zcfz':返回最新資產(chǎn)負(fù)債指標(biāo);
'利潤(rùn)表'或'lrb':返回最新利潤(rùn)表指標(biāo);
'現(xiàn)金流量表'或'xjll':返回最新現(xiàn)金流量表指標(biāo).
date:報(bào)表日期,如‘20220630’,‘20220331’,默認(rèn)當(dāng)前最新季報(bào)(或半年報(bào)或年報(bào))
業(yè)績(jī)報(bào)表
df=qs.financial_statement('業(yè)績(jī)報(bào)表',date='20220930')
df.head()

業(yè)績(jī)預(yù)告
df=qs.financial_statement('yjyg')
df.head()

業(yè)績(jī)快報(bào)
#注意參數(shù)設(shè)置有個(gè)小bug,目前調(diào)用會(huì)報(bào)錯(cuò),將在新版本中修正!
df=qs.financial_statement('yjkb')
df.head()

資產(chǎn)負(fù)債表
df=qs.financial_statement('資產(chǎn)負(fù)債表')
#查看前幾行
df.head()

利潤(rùn)表
df=qs.financial_statement('利潤(rùn)表')
#查看前幾行
df.head()

現(xiàn)金流量表
df=qs.financial_statement('現(xiàn)金流量表')
#查看前幾行
df.head()

04財(cái)務(wù)指標(biāo)
07個(gè)股基本財(cái)務(wù)指標(biāo)
stock_basics(code_list)
code_list:代碼或簡(jiǎn)稱,可以輸入單只或多只個(gè)股的list ?
如:?jiǎn)沃粋€(gè)股:code_list='中國(guó)平安';?
多只個(gè)股code_list=['曉程科技','中國(guó)平安','西部建設(shè)'] ?
返回:代碼、名稱、凈利潤(rùn)、總市值、流通市值、所處行業(yè)、市盈率、市凈率、ROE、毛利率和凈利率指標(biāo)
code_list=['300139','中國(guó)平安','西部建設(shè)','貴州茅臺(tái)','豐元股份','002432']
df=qs.stock_basics(code_list)
df

08個(gè)股詳細(xì)財(cái)務(wù)指標(biāo)
stock_indicator(code)
code:?股票代碼或簡(jiǎn)稱
獲取個(gè)股歷史報(bào)告期所有財(cái)務(wù)分析指標(biāo)
df=qs.stock_indicator('中國(guó)平安')
df.head()

09每股收益預(yù)測(cè)
獲取全市場(chǎng)A股最新機(jī)構(gòu)研報(bào)數(shù)、買賣評(píng)級(jí)和每股收益預(yù)測(cè)
df=qs.eps_forecast()
df.head()

后續(xù)推文將進(jìn)一步分享qstock數(shù)據(jù)模塊中關(guān)于宏觀數(shù)據(jù)和財(cái)經(jīng)新聞數(shù)據(jù)等的調(diào)用方法。
參考資料:
1. https://efinance.readthedocs.io/en/latest/
2.?https://akshare.akfamily.xyz/data/stock/stock.html#a
3. https://www.tushare.pro/document/2