作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R/Python),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等。知乎专栏:R语言数据挖掘邮箱:huang.tian-yuan@qq.com.欢迎合作交流。
前文:
HopeR:R语言金融基础:tidyquant获取数据(标普500与纳斯达克)
HopeR:R语言金融基础:tidyquant获取数据(股票每日行情)
除了股市的数据,tidyquant还支持开放获取宏观经济数据,举一个简单的例子:
library(pacman)
p_load(tidyquant)
wti_price_usd <- tq_get("DCOILWTICO", get = "economic.data")
wti_price_usd
# A tibble: 2,693 x 2
date price
<date> <dbl>
1 2009-01-01 NA
2 2009-01-02 46.2
3 2009-01-05 48.6
4 2009-01-06 48.6
5 2009-01-07 42.8
6 2009-01-08 41.7
7 2009-01-09 40.7
8 2009-01-12 37.6
9 2009-01-13 37.8
10 2009-01-14 37.4
# ... with 2,683 more rows这个数据的数据源为:Federal Reserve Economic Data(美联储经济数据)。只要get参数设置为“economic.data”,就会调用这个API。但是具体应该获得什么数据,需要在官网看清单和详细介绍。举一个例子,点进去其中一个网站(Crude Oil Prices: West Texas Intermediate (WTI) - Cushing, Oklahoma):

红色方框里面就是这个数据的代号,我们需要用代号来访问这个数据。
如果想要获得汇率,可以把参数改为“exchange.rates”。
eur_usd <- tq_get("EUR/USD",
get = "exchange.rates",
from = Sys.Date() - lubridate::days(10))
eur_usd 上面这段代码,获得了近十天的欧元/美元汇率,Sys.Date获得的是今天的日期,减去十天就是10天前的日期。这个数据的数据来源是OANDA。
外汇交易 | 在线货币交易 | 外汇经纪商 | OANDA 外汇交易 | OANDA
汇率代号哪里查?网址如下:
https://forex-trading/markets/recent?instrument=GBP/CHF 外汇交易 | 近期 OANDA 点差 | OANDA
这个数据源同时提供了金属价格的变动,调用代码如下:
plat_price_eur <- tq_get("plat", get = "metal.prices",
from = Sys.Date() - lubridate::days(10),
base.currency = "EUR")
plat_price_eur
# A tibble: 10 x 2
date price
<date> <dbl>
1 2019-04-24 793.
2 2019-04-25 794.
3 2019-04-26 801.
4 2019-04-27 806.
5 2019-04-28 806.
6 2019-04-29 803.
7 2019-04-30 798.
8 2019-05-01 783.
9 2019-05-02 767.
10 2019-05-03 768.价格的单位设为欧元(EUR),而代号plat是platinum的简称,也就是铂金。关于具体商品代号,还是上面的网址,但是需要调整左边方框的内容。

本质上,tidyquant是在调用quantmod的getMetals函数。
原文作者:;如有侵权,请联系管理员删除。