来自圣路易斯联邦储备银行的python api for federal reserve economic data(fred)

fredapi的Python项目详细描述


fredapiFRED数据由 圣路易斯联邦储备银行。fredapi在 python到FRED web service,还提供 解析和分析时间点数据的几种简便方法 (即历史数据修订) ALFRED

fredapi使用pandas并在 pandasSeriesDataFrame

安装

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中有 年份的概念。基本上每一个观察都可以 与之相关的三个日期:daterealtime\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')

依赖关系

更多示例

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要设置框架。可设置大小(false)以重新绘制()   java我对PDF文件感到困惑   为什么是太阳。jvm。热点。调试器。DebuggerException:无法打开二进制文件`?   设置结果为textview时出现java空指针异常   我应该使用什么同步原语在Java中实现事件驱动程序框架?   java为什么WindowClosing处理程序在退出程序之前不执行后台任务?   如何将“20170712T18:43:04.000Z”转换为安卓或java中的相对时间?   Java,获取按键的时间长度,currentTimeMillies()始终为24   maven构建的java可执行Jar找不到logback。xml   java在其外部的函数中使用for循环中的值   java如何以表格格式将不同长度的数据对齐   java Play 2.5 WebSocket连接构建   maven而非eclipse的java强制转换问题   java如何在JFreeChart中使X轴上的值水平?   构建Java Windows应用程序以访问在线MySQL数据库需要什么   java添加构造函数会出错吗?这没有道理,请帮忙,编程问题   java在一个jframe中的两个JPanel中使用两个绘制方法   java数学或逻辑问题   java如何复制Androids库存摄像头方向更改