Python量化交易11——使用AKShare获取公司财务数据

AKshare库是一个很好用的金融数据获取的API,股票的数据很全面,还有很多别的数据:

Python量化交易11——使用AKShare获取公司财务数据_第1张图片

 链接:AKShare 股票数据 — AKShare 1.10.85 文档

 他们获取来源都是东方财富网或者巨潮网等,都会写上的。

本次教大家怎么用AKshare获取资产负债表和利润表的数据:
 


代码实现

导入包:

import akshare as ak
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 
import seaborn as sns

plt.rcParams ['font.sans-serif'] ='SimHei'               #显示中文
plt.rcParams ['axes.unicode_minus']=False  

查看有哪些行业的数据:
 

 ak.stock_board_industry_name_em().板块名称.unique()

Python量化交易11——使用AKShare获取公司财务数据_第2张图片

 这只是一个小样例,实际上AKshare有太多的接口了,数据很丰富,官网文档都说的很清楚的:
Python量化交易11——使用AKShare获取公司财务数据_第3张图片

 想要什么数据都可以去官网找接口。我下面展示一些我自己用过的接口

例如获取水泥建材板块当天股票数据:

stock_board_industry_cons_em_df = ak.stock_board_industry_cons_em(symbol="水泥建材")
stock_board_industry_cons_em_df

Python量化交易11——使用AKShare获取公司财务数据_第4张图片

 


利润表资产负债表获取

我时间定在2022年底,然后只选了三个股票

stock_lrb_em_df = ak.stock_lrb_em(date="20221231")
lrb=stock_lrb_em_df[stock_lrb_em_df['股票代码'].isin(['601668','601186','601800'])].drop('序号',axis=1).set_index('股票代码')

获取资产负债表:

stock_zcfz_em_df = ak.stock_zcfz_em(date="20221231")
zcfz=stock_zcfz_em_df[stock_zcfz_em_df['股票代码'].isin(['601668','601186','601800'])].drop('序号',axis=1).set_index('股票代码')

合并,展示:

financial_data=pd.concat([lrb,zcfz],axis=1)#.to_excel('财务数据.xlsx')
financial_data

Python量化交易11——使用AKShare获取公司财务数据_第5张图片

 然后得到的数据可以计算你要的各种指标:
 

# Calculate financial ratio

financial_data['营业利润率'] = (financial_data['营业总收入'] - financial_data['营业总支出-营业支出']) / financial_data['营业总收入']
financial_data['资本收益率'] = financial_data['净利润'] / financial_data['股东权益合计']

# Select the relevant columns
financial_ratios = financial_data.reset_index()[['股票代码', '股票简称','营业利润率',  '资本收益率']]

financial_ratios

Python量化交易11——使用AKShare获取公司财务数据_第6张图片

 简单画个图:
 

colors = ['b', 'g', 'r', 'c', 'm']
financial_ratios.set_index('股票简称').plot(kind='bar', figsize=(5, 5))
plt.title('公司的财务指标')
plt.tight_layout()
plt.savefig('1.png',dpi=128)
plt.show()

Python量化交易11——使用AKShare获取公司财务数据_第7张图片

 


这是一个很简单的样例,批量获取你想要的资产负债表和利润表数据。然后计算一下画个图。

当然AKshare还有超级多的数据,我也没用过多少,需要自己去官网研究,要什么数据去找接口。这个库使用起来找数据会带给很多经济会计金融专业的学生便利吧。

你可能感兴趣的:(Python量化交易,python,数据分析,pandas,akshare,资产负债表)