是否有任何R包/功能可以实时获取汇率,例如来自Google财经?如果已经有RCurl或其他解析器,则宁愿避免使用。
具体来说,给定“ from”和“ to”货币符号的向量,我想知道汇率。就像是:
IdealFunction(c("CAD", "JPY", "USD"), c("USD", "USD", "EUR"))
最佳答案
您可以使用quantmod来获取雅虎报价。 (我不确定yahoo FX报价的延迟时间或更新频率。)
library(quantmod)
from <- c("CAD", "JPY", "USD")
to <- c("USD", "USD", "EUR")
getQuote(paste0(from, to, "=X"))
# Trade Time Last Change % Change Open High Low Volume
#CADUSD=X 2014-11-01 08:23:00 0.8875 N/A N/A N/A N/A N/A N/A
#JPYUSD=X 2014-11-01 08:23:00 0.0089 N/A N/A N/A N/A N/A N/A
#USDEUR=X 2014-11-01 08:23:00 0.7985 N/A N/A N/A N/A N/A N/A
如果您注册了免费帐户,则可以使用TFX进行实时,毫秒时间戳的报价。 (请注意,您必须使用市场惯例;即,美元/日元而不是日元/美元)
library(TFX)
pairs <- paste(to, from, sep="/")
QueryTrueFX(ConnectTrueFX(pairs, "validUser", "anytext"))
# Symbol Bid.Price Ask.Price High Low TimeStamp
#1 USD/CAD 1.12651 1.12665 1.12665 1.12651 2014-10-31 20:45:00.559
#2 USD/JPY 112.34600 112.35900 112.35900 112.34600 2014-10-31 20:45:00.134
#3 EUR/USD 1.25234 1.25253 1.25253 1.25234 2014-10-31 20:45:00.598
或者,如果您拥有盈透证券帐户,则可以使用IBrokers package或我的twsInstrument package(基本上只是IBrokers函数的包装器)
library(twsInstrument)
getQuote(paste0(to, from), src="IB") # only works when market is open.