来自圣路易斯联邦储备银行的python api for federal reserve economic data(fred)
fredapi的Python项目详细描述
fredapi是 FRED数据由 圣路易斯联邦储备银行。fredapi在 python到FRED web service,还提供 解析和分析时间点数据的几种简便方法 (即历史数据修订) ALFRED
fredapi使用pandas并在 pandasSeries或DataFrame
安装
pip install fredapi
基本用法
首先你需要一个api密钥,你可以在fred上免费apply for one 网站。一旦拥有了api密钥,就可以在三个 方式:
- 将其设置为环境变量fred_api_key
- 将其保存到文件中并使用“API密钥文件”参数
- 直接将其作为“api_key”参数传递
fromfredapiimportFredfred=Fred(api_key='insert api key here')data=fred.get_series('SP500')
使用数据修订版
许多经济数据系列包含频繁的修订。fredapi 提供处理数据修订和 回答什么时候知道什么数据的问题。
在ALFRED中有 年份的概念。基本上每一个观察都可以 与之相关的三个日期:date,realtime\u start和 实时结束。
- 日期:值的日期
- 实时启动:值有效的第一个日期
- realitime_end:值有效的最后日期
例如,对于 2014年第一季度国内生产总值:
<observationrealtime_start="2014-04-30"realtime_end="2014-05-28"date="2014-01-01"value="17149.6"/><observationrealtime_start="2014-05-29"realtime_end="2014-06-24"date="2014-01-01"value="17101.3"/><observationrealtime_start="2014-06-25"realtime_end="2014-07-29"date="2014-01-01"value="17016.0"/>
这意味着2014年第一季度的gdp值已经发布了三次。 第一次发布是在2014年4月30日,值为17149.6,然后 已于2014年5月29日和2014年6月25日对 分别为17101.3和17016.0。
仅获取第一次数据发布(即忽略修订)
data=fred.get_series_first_release('GDP')
获取最新数据
注意,这与简单地调用get_series()
data=fred.get_series_latest_release('GDP')
获取给定日期的最新已知数据
fred.get_series_as_of_date('GDP','6/1/2014')
获取所有数据发布日期
这将返回一个DataFrame,其中包含来自alfred的所有数据
df=fred.get_series_all_releases('GDP')df.tail()
获取所有年份日期
vintage_dates=fred.get_series_vintage_dates('GDP')
搜索数据系列
您始终可以在fred网站上搜索数据系列。但有时 以编程方式搜索会更方便。fredapi 提供一个search()方法,该方法执行全文搜索并返回 DataFrame个结果。
fred.search('potential gdp')
您还可以使用各种选项按版本ID和类别ID进行搜索
df1=fred.search_by_release(11)df2=fred.search_by_category(101,limit=10,order_by='popularity',sort_order='desc')
依赖关系
更多示例
- 我有一本blog post with more examples写在我的笔记本里。