赞
踩
AKshare库是一个很好用的金融数据获取的API,股票的数据很全面,还有很多别的数据:
链接: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()
这只是一个小样例,实际上AKshare有太多的接口了,数据很丰富,官网文档都说的很清楚的:
想要什么数据都可以去官网找接口。我下面展示一些我自己用过的接口
例如获取水泥建材板块当天股票数据:
- stock_board_industry_cons_em_df = ak.stock_board_industry_cons_em(symbol="水泥建材")
- stock_board_industry_cons_em_df
我时间定在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
然后得到的数据可以计算你要的各种指标:
- # 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
简单画个图:
- 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()
这是一个很简单的样例,批量获取你想要的资产负债表和利润表数据。然后计算一下画个图。
当然AKshare还有超级多的数据,我也没用过多少,需要自己去官网研究,要什么数据去找接口。这个库使用起来找数据会带给很多经济会计金融专业的学生便利吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。