来自圣路易斯联邦储备银行的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从CSV读取并批量插入数据库Netezza   java如何减少Apache CXF客户端存根对象的内存大小?   ServletsJava。lang.NullPointerException:未设置FileItemFactory   Android中的java,是否有任何使用类格式化一组视图的方法?   java无法使用JACOB创建ActiveXComponent   java组织。日食swt。小部件。组,这个类可以被滚动吗   java如何隐藏javabean中的方法,使其不出现在wsdl中   Java函数式编程:如何将for循环中的ifelse梯形图转换为函数式?   java Openshift:在应用程序之间共享MySQL cartrige   JavaHTTPPOST请求返回HTML代码而不是JSON数据   java为什么我的合并排序比快速排序慢?   java JMH基准测试Neo4j   java在底部导航器上处理rotate,在片段上导航   java错误:链接有关字符串资源的文件资源失败   Javaservlet+ajax+jsp   java:加载带有客户端证书的HTTPS url   java如何使用自定义ConstraintValidator将ConstraintViolations添加到索引i处的列表元素   java是否可以在某些布局中对容器中的组件重新排序?