浏览器网站大全免费,wordpress实用插件,用百度网盘做视频网站,白云网站建设价格akshare是一个很好用的财经数据api接口#xff0c;完全免费#xff01;#xff01;和Tushare不一样。
除了我标题显示的数据外#xff0c;他还提供各种股票数据#xff0c;债券数据#xff0c;外汇#xff0c;期货#xff0c;宏观经济#xff0c;基金#xff0c;银行…akshare是一个很好用的财经数据api接口完全免费和Tushare不一样。
除了我标题显示的数据外他还提供各种股票数据债券数据外汇期货宏观经济基金银行货币等等。
基本上我找经济类数据都优先用这个本次就展示一下怎么获取标题上的这几个数据。 代码获取
先导入包
import numpy as np
import pandas as pd
import akshare as ak
import warnings
warnings.filterwarnings(ignore)
获取美团对人民币汇率这里原本是可以返回很多国家对人民币的汇率的我只取出了美国并且原数据是日度的我重采样为了月度数据
currency_boc_safe_df ak.currency_boc_safe().iloc[:,:2]
currency_boc_safe_dfcurrency_boc_safe_df.set_index(日期)
currency_boc_safe_df.indexpd.to_datetime(currency_boc_safe_df.index)
currency_boc_safe_df.rename(columns{美元:汇率},inplaceTrue)
currency_boc_safe_dfcurrency_boc_safe_df.resample(M).mean()
currency_boc_safe_df 没什么问题现在人民币汇率大概是7点多。数据时间口径也是月度。 获取外汇储备
#外汇储备
macro_china_fx_reserves_yearly_df ak.macro_china_fx_reserves_yearly().rename(外汇储备)
macro_china_fx_reserves_yearly_df 这个数据本来就是月度的所以就不需要额外处理2014年是半年一个可能原因是那个时候公布数据可能只是半年一次吧。到2016年就正常了。 获取广义货币量M2
#M2
macro_china_m2_yearly_df ak.macro_china_m2_yearly().rename(M2)
macro_china_m2_yearly_df 美国CPI
#美国CPI
macro_usa_cpi_monthly_se ak.macro_usa_cpi_monthly().rename(美国CPI)
macro_usa_cpi_monthly_se 国债利率
#国债利率
import datetime
start_date datetime.date(2016, 1, 1)
end_date datetime.date(2023, 12, 31)
all_data_formatted pd.DataFrame()
current_date_formatted start_date
while current_date_formatted end_date:year_end_date_formatted min(datetime.date(current_date_formatted.year 1, 1, 1) - datetime.timedelta(days1), end_date)start_date_str current_date_formatted.strftime(%Y%m%d)end_date_str year_end_date_formatted.strftime(%Y%m%d)year_data_formatted ak.bond_china_yield(start_datestart_date_str, end_dateend_date_str)all_data_formatted pd.concat([all_data_formatted, year_data_formatted])current_date_formatted year_end_date_formatted datetime.timedelta(days1)
all_data_formatted.head() 国债这个接口每次只能返回一年的数据所以需要获取很多次然后还需要把自己需要的1年期的国债利率取出来。
bond_china_yield_df all_data_formatted[[曲线名称, 日期, 1年]].query(曲线名称中债国债收益率曲线)
bond_china_yield_dfbond_china_yield_df.drop(columns曲线名称).set_index(日期).rename(columns{1年:国债利率})
bond_china_yield_df.indexpd.to_datetime(bond_china_yield_df.index)
bond_china_yield_dfbond_china_yield_df.resample(M).mean()
bond_china_yield_df 贸易顺差
macro_china_trade_balance_df ak.macro_china_trade_balance().rename(贸易顺差)
macro_china_trade_balance_df.tail() 是不是都很方便几行代码有的甚至一行代码就能获取你去统计年鉴翻遍的数据。
最后把数据都进行合并;
merged_df pd.concat([currency_boc_safe_df, macro_china_fx_reserves_yearly_df, macro_china_m2_yearly_df, macro_usa_cpi_monthly_se, bond_china_yield_df, macro_china_trade_balance_df], axis1).loc[2016-01-01:,:].resample(M).mean()
merged_df.index merged_df.index.to_period(M)
merged_df 除了几个月的某些指标没有数据外其他数据都是整整齐齐的很不错。很方便这样就可以进行自己的下一步研究了。
当然我这是选择了几个需要的指标方便我下一篇进行建模分析。
akshare还有超级多的种类的经济数据可以自己去查看官方文档怎么获取。
不会获取的同学需要我这里的数据可以参考我下一篇的文章里面的数据获取方式 创作不易看官觉得写得还不错的话点个关注和赞吧本人会持续更新python数据分析领域的代码文章~