2017-10-18 86 views
0
start.date <- as.Date("2016-05-13") 
end.date <- as.Date("2017-10-18") 

conn <- blpConnect() 
spxE <- bdh(conn, "SPX Index", "PX_LAST", start.date, end.date, override_fields = "CURRENCY", override_values = "EUR") 
spx <- bdh(conn, "SPX Index", "PX_LAST", start.date, end.date) 
spx=cbind(spxE, spx) 
tail(spx) 

那是我的代码。输出是:RBBG BDH重写以获得欧元价值

    date PX_LAST  date PX_LAST 
2017-10-10 2017-10-10 2550.64 2017-10-10 2550.64 
2017-10-11 2017-10-11 2555.24 2017-10-11 2555.24 

所以很明显,它没有工作得到SPX指数以欧元计算。它在Excel中工作...任何tipps?

+0

您是否尝试过'CRNCY_ADJ_PX_LAST'和'EQY_FUND_CRNCY'? – assylias

+0

这两个只适用于BDP,不适用于BDH,但thx适合您的输入! – Sonja

+0

哦,我的坏,我没有注意到这是一个bdh - 你用'FX'而不是'CURRENCY'尝试过吗? – assylias

回答

0

大多数字段不提供覆盖以使用不同的货币。这是有道理的,因为它会不必要地使请求复杂化(考虑到货币对有多个定价来源)。您可以随时索要货币证券:DS004或PR467,然后从该货币转换为欧元。这可能类似于:

currency <- bdp(conn, "SPX Index","DS004") 
currencyPair <- paste(currency, "USD") 
ratio <- bdh(conn, currencyPair, start.date, end.date) 

然后将PX_LAST的输出乘以比率。我不用r编程,但上面应该足够接近。