对于美国的一些公司,我想将Dividend和Split从python模块转换为Bloomberg API(blapi)(我使用Screening来提取这些公司)。我使用的是python模块blapi:
import blpapi
# Connect the bloomberg platform
sessionOptions = blpapi.SessionOptions()
sessionOptions.setServerHost(bloomberg_host)
sessionOptions.setServerPort(bloomberg_port)
session = blpapi.Session(sessionOptions)
# Get the dividend and Split
refDataService = session.getService("//blp/refdata")
request = refDataService.createRequest("HistoricalDataRequest")
request.getElement("securities").appendValue("AAPL US Equity")
request.getElement("fields").appendValue("DVD_HIST_ALL")
request.set("periodicityAdjustment", "ACTUAL")
request.set("periodicitySelection", "DAILY")
request.set("startDate", "20140101")
request.set("endDate", "20141231")
request.set("maxDataPoints", 1)
但我得到以下答案:
HistoricalDataResponse = {
securityData = {
security = "AAPL US Equity"
eidData[] = {
}
sequenceNumber = 0
fieldExceptions[] = {
fieldExceptions = {
fieldId = "DVD_HIST_ALL"
errorInfo = {
source = "951::bbdbh5"
code = 1
category = "BAD_FLD"
message = "Not valid historical field"
subcategory = "NOT_APPLICABLE_TO_HIST_DATA"
}
}
}
fieldData[] = {
}
}
}
查看文档(blpapi-developers-guide)我看到了多种请求可能性(参考数据服务,市场数据服务,API现场信息服务),但没有一个解释如何获得股息/拆分。我不知道哪个服务和哪个请求使用。
从终端这些Dividend和Split并在CACT标签下注册,如果您使用筛选和DVD,如果您查找当前加载的股票的股息/拆分(我可以在我的代码中循环我想要的公司更糟糕)情况)。
如果有人知道该怎么做,你将照亮我的一天!