股票

Bloomberg & R:在 R 中使用 getBars() 訪問多種證券

  • April 18, 2016

我正在嘗試使用 Bloomberg API (rblpapi) 訪問 50 種證券的 1 分鐘交易數據。以下是我從 CRAN 獲得的程式碼:

con <- blpConnect() 
security<- "NIFTY Index" 
field<- "INDX_MEMBERS"sec<- bds( security, field) 
getBars("XYZ IS EQUITY", eventType = "TRADE", barInterval = 01, 
       startTime = Sys.time() - 1360 * 60 * 6, endTime = Sys.time(),
       options = NULL, verbose = FALSE, returnAs = getOption("blpType","matrix"), 
tz= Sys.getenv("TZ", unset = "UTC"))

我想在不重複我的程式碼的情況下訪問所有 50 種證券。有沒有辦法直接從彭博社呼叫指數的成員證券列表,並使用它一次性訪問盤中數據。此外,當我輸入特定日期時,例如:

getBars("XYZ IS EQUITY", eventType = "TRADE", barInterval = 01,
   startTime = as.Date("2014-01-01 03:30:00"), endTime = as.Date(" 2014-02-04 09:30:00"),
   options = NULL, verbose = FALSE, returnAs = getOption("blpType",
                                                         "matrix"), tz = Sys.getenv("TZ", unset = "UTC"))

表明:

Error: startTime and endTime must be Datetime objects

提前致謝。

簡要地:

  1. 有些函式根本沒有向量化。如果要循環getBars()符號向量,請編寫另一個包裝器進行循環。
  2. 正如我們的文件所說:startTime:一個帶有開始時間的 Datetime 對象,預設為目前時間前一小時(endTime 也是如此),您需要提供一個 DateTime 對象,as.POSIXct()這是一種方法。堅持日期和時間as.Date()不是。

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