gpt4 book ai didi

excel - 如何使用 Bloomberg VBA API 返回特定日期的 EQS 屏幕?

转载 作者:行者123 更新时间:2023-12-01 06:44:44 30 4
gpt4 key购买 nike

对于给定的 Bloomberg EQS 屏幕,我希望能够在给定日期返回屏幕结果。

我已经研究了 Bloomberg 文件 EqsDataExample.xls 一段时间了,但除了当前日期的屏幕,我无法返回任何其他内容。

Excel 表格中使用的 Bloomberg 函数是:

=BEQS(screen_name,"Asof=" & asof_date,)

下面是示例中的函数,我修改后没有成功。我想我需要对覆盖功能做一些事情,但目前还没有。

Public Sub MakeRequest(sScreenName As String, sScreenType As String, sGroup As String)

Dim req As Request
Dim nRow As Long

Set req = refdataservice.CreateRequest("BeqsRequest")
req.Set "screenName", sScreenName
req.Set "screenType", sScreenType
'req.Set "Group", sGroup

' >> My addition, trying to get the asof date override
Dim overrides As Element
Set overrides = req.GetElement("overrides")
Dim override As Element
Set override = overrides.AppendElment()
override.SetElement "fieldId", "ASOF="
override.SetElement "value", "20101130"
'MsgBox req.Print
' <<

' The following code is used to request data for a custom field that is setup
' using EQS <GO> on the Bloomberg Professional service. To use, uncomment these
' next 3 lines of code and comment out the previous 3 lines of code (above)
' Set req = refdataservice.CreateRequest("CustomEqsRequest")
' req.GetElement("fields").AppendValue "#NameOfCustomField" ' Add name of custom field with # prefix
' req.Append "securities", "IBM US Equity" ' Add name of your security

' Add a correlation id
Dim cid As blpapicomLib2.CorrelationId

' Send the request
Set cid = session.SendRequest(req)

curRow = 0

End Sub

最佳答案

解决方案是将 fieldId 设置为“PiTDate”——我在 Bloomberg API 文档中找到了这个。

这是有效的代码:

Public Sub MakeRequest(sScreenName As String, sScreenType As String, sGroup As String)

Dim req As Request
Dim nRow As Long

Set req = refdataservice.CreateRequest("BeqsRequest")
req.Set "screenName", sScreenName
req.Set "screenType", sScreenType
'req.Set "Group", sGroup

' My Code >>
Dim overrides As Element
Set overrides = req.GetElement("overrides")
Dim override As Element
Set override = overrides.AppendElment()
override.SetElement "fieldId", "PiTDate"
override.SetElement "value", "20141130"
'MsgBox req.Print
' <<

' The following code is used to request data for a custom field that is setup
' using EQS <GO> on the Bloomberg Professional service. To use, uncomment these
' next 3 lines of code and comment out the previous 3 lines of code (above)
' Set req = refdataservice.CreateRequest("CustomEqsRequest")
' req.GetElement("fields").AppendValue "#NameOfCustomField" ' Add name of custom field with # prefix
' req.Append "securities", "IBM US Equity" ' Add name of your security

' Add a correlation id
Dim cid As blpapicomLib2.CorrelationId

' Send the request
Set cid = session.SendRequest(req)

curRow = 0

End Sub

关于excel - 如何使用 Bloomberg VBA API 返回特定日期的 EQS 屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28099972/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com