Bloomberg VBA API:如何用VBA和BLPAPI替换BDS呼叫?

use*_*670 0 excel vba excel-vba bloomberg blpapi

我目前以下列方式使用BDS:

=BDS("FDS US Equity","TOP_20_HOLDERS_PUBLIC_FILINGS","cols=10;rows=20")
Run Code Online (Sandbox Code Playgroud)

我有BBG VBA类模块,具有以下功能:

Public Function ReferenceDataRequest(security As String, fields() As String) As Variant

Public Function HistoricalDataRequest(securities() As String, fields() As String, startDate As String, endDate As String, periodicity As String, nonTradingDayFillOption As String, nonTradingDayFillValue As String) As Variant

Public Function IntradayTickRequest(security As String, startDate As String, endDate As String, eventTypes() As String) As Variant

Public Function IntradayBarRequest(security As String, startDate As String, endDate As String, eventType As String, interval As Integer) As Variant
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚使用哪个功能以及使用什么参数.

救命!

mar*_*ord 5

我不太熟悉BDS()Bloomberg功能,但我使用Bloomberg API并与Bloomberg合作使用VBA.

您的BDS()呼叫将"FDS US Equity"作为安全参数,将"TOP_20_HOLDERS_PUBLIC_FILINGS"作为字段.但是,列出的函数中的'fields()'参数需要一个数组.

你尝试过这样的事吗?

Dim varData As Variant
Dim strFieldsArray(0) as string

strFieldsArray(0) = "TOP_20_HOLDERS_PUBLIC_FILINGS"   

varData = ReferenceDataRequest("FDS US Equity", strFieldsArray)
Run Code Online (Sandbox Code Playgroud)

我正在研究这个方法是调用BlpSubscribe()Bloomberg数据类型库的假设(不是我认为这很重要).