2017-10-18 97 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編程,但上面應該足夠接近。