2017-10-18 17 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) 

c'est mon code. La sortie est:RBBG BDH Override pour obtenir des valeurs en EUR

    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 

alors évidemment il n'a pas fonctionné pour obtenir l'indice SPX calculé en EUR. Cela fonctionne dans Excel ... des conseils?

+0

Avez-vous essayé avec 'CRNCY_ADJ_PX_LAST' et' EQY_FUND_CRNCY'? – assylias

+0

Ces deux sont juste disponibles pour BDP, pas pour BDH, mais thx pour votre entrée! – Sonja

+0

Oh mon dieu, je n'avais pas remarqué que c'était un bdh - avez-vous essayé avec 'FX' au lieu de' CURRENCY'? – assylias

Répondre

0

La plupart des champs ne sont pas disponibles avec des substitutions pour les obtenir dans une devise différente. Cela est logique car cela compliquerait inutilement les demandes (sachez qu'il existe plusieurs sources de prix pour les paires de devises). Vous pouvez toujours demander la monnaie de la sécurité: DS004 ou PR467 et ensuite convertir de cette monnaie en euros. Ce serait quelque chose comme:

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

puis multiplier la sortie de PX_LAST par le rapport. Je ne programme pas en r, mais ce qui précède devrait être assez proche.