R

更改 Rblpapi 的周期

  • September 21, 2016

因此,Dirk Eddelbuettel、Whit Armstrong 和 John Laing 最近向 CRAN 發布了 Rblpapi,非常棒。我在理解覆蓋如何工作時遇到了一些困難,希望有人可以幫助我。

我正在嘗試從兩個指數中導入價格回報,並希望使用月度數據來實現。沒有周期性覆蓋,它可以很好地導入每日數據。當我嘗試添加覆蓋以將其轉換為每月數據請求時,出現錯誤。在 python api 中,覆蓋命令是周期性的。在 Rblpapi 中也一樣嗎?有誰知道這是如何在 Rblpapi 中工作的?覆蓋名稱和值是否與 BBG 開發人員指南中的相同?

這是一個程式碼範例和結果輸出:

library(Rblpapi)

#initalize data import
end.dt = Sys.Date()
start.dt = as.Date(x = "1995-03-31") #define start date


blpConnect() #connect to BBG, does not need to be closed

#set import variables
index.growth = "MXUS000G Index" #define growth index
index.value = "MXUS000V Index" #define value index

indices = c(index.growth,index.value)

overrides.px = "Monthly"
names(overrides.px) = "periodicity"

px = bdh(securities = indices,fields = "px_last",start.date = start.dt,end.date = end.dt,
        overrides = overrides.px)

Error: Choice sub-element not found for name 'securityData'.

謝謝!

起初我們認為這是一個錯誤,overrides無法正確傳播。

編輯: 感謝@Sid,這是一個更正的範例。將其設置為options欄位有效:

library(Rblpapi)
blpConnect()

## initalize data import
end.dt <- Sys.Date()
start.dt <- end.dt - 100  # keep it simple for example

index.growth <- "MXUS000G Index" #define growth index
index.value <- "MXUS000V Index" #define value index
indices <- c(index.growth,index.value)

overrides.px <- structure("MONTHLY", names=c"periodicitySelection")
px <- bdh(indices,"px_last",start.dt, end.dt, options = overrides.px)
print(px)

正如您所期望的那樣工作:

$ r /tmp/periodicity.R 
$`MXUS000G Index`
       date px_last
1 2015-05-29 3456.53
2 2015-06-30 3410.59
3 2015-07-31 3517.17

$`MXUS000V Index`
       date px_last
1 2015-05-29 2169.20
2 2015-06-30 2108.77
3 2015-07-31 2121.89

$ 

(順便說一句,我們建議在 GitHub 上送出錯誤報告等。你很幸運我看到了這個……)

引用自:https://quant.stackexchange.com/questions/19357