Bloomberg Open API 最近宣布 - 它是否只是(有限)暴露给公众很长一段时间的Bloomberg SDK?
我的理解是Bloomberg SDK只能在安装了Bloomberg终端的机器上使用,但是最近公布的Open API(在语法上相同)可以在任何机器上使用.
那是对的吗?是否对新API有任何限制(比如延迟回复等)?只是不敢相信他们会免费赠送一些花钱的东西 - 欢迎任何澄清!
编辑:上面可能不清楚,所以改写:
我可以自己猜两个问题,但我想我宁愿问:)
我最近开始使用Python,因此我可以与Bloomberg API进行交互,而且我在将数据存储到Pandas数据帧(或面板)时遇到了一些麻烦.我可以在命令提示符中得到输出就好了,所以这不是问题.
这里提出了一个非常相似的问题: Bloomberg api的熊猫包装?
但是,该问题的已接受答案中引用的代码是针对旧API的,并且它不适用于新的开放API.显然,提出问题的用户能够轻松修改该代码以使用新API,但我习惯将手放在R中,这是我对Python的第一次尝试.
一些仁慈的用户可以告诉我如何将这些数据导入熊猫吗?有一个名为SimpleHistoryExample.py 的Python API(在这里提供:http://www.openbloomberg.com/open-api/),我一直在使用它,我已经在下面包含了这个例子.我相信我需要在'main()'函数的末尾围绕'while(True)'循环进行修改,但到目前为止我尝试的所有内容都有问题.
在此先感谢,我希望这对使用Pandas进行融资的任何人都有帮助.
# SimpleHistoryExample.py
import blpapi
from optparse import OptionParser
def parseCmdLine():
parser = OptionParser(description="Retrieve reference data.")
parser.add_option("-a",
"--ip",
dest="host",
help="server name or IP (default: %default)",
metavar="ipAddress",
default="localhost")
parser.add_option("-p",
dest="port",
type="int",
help="server port (default: %default)",
metavar="tcpPort",
default=8194)
(options, args) = parser.parse_args()
return options
def main():
options = parseCmdLine()
# Fill SessionOptions
sessionOptions = blpapi.SessionOptions()
sessionOptions.setServerHost(options.host)
sessionOptions.setServerPort(options.port)
print "Connecting to %s:%s" % (options.host, options.port)
# Create a Session
session …
Run Code Online (Sandbox Code Playgroud) 我必须下载大量股票的历史日终数据.我在bloomberg excel上找到了功能BDH非常有用的功能.这就是我需要的,但是有一个问题:我的股票是由ISIN识别的,我已经尝试过多种方式将ISIN放在函数的第一个字段中,但它不起作用.尽管在bloomberg公式语法中报告为安全标识符,但该函数无法通过ISIN识别安全性:请查看幻灯片24 :http://lgdata.s3-website-us-east-1.amazonaws的.com /文档/五万六千三百七十六分之二百○五/伯格%20excel%20desktop%20guide.pdf
是否有可靠的方式以编程方式打开特定的bloomberg终端页面(例如"MSFT Equity")?
我对任何建议和代码示例持开放态度:
非常感谢
我在具有Bloomberg许可证的PC上的空白Excel 2007工作簿中运行宏.宏将Bloomberg函数插入到sheet1中,以获取收益率曲线数据.一些附加功能的结果取决于完成和正确显示Bberg数据的第一个功能.当我单步执行程序时,它只显示'#N/A请求数据..".而不是查询的结果,无论我走得多慢.由于某些函数依赖于填充的字符串和数字字段结果,因此程序会在该代码处遇到运行时错误.当我停止调试 - 完全结束运行程序 - 然后出现应该填充的所有Bberg值.我希望在程序仍在运行时显示这些值.
我尝试使用DoEvents和Application.OnTime()的组合将控制权返回给操作系统,并使程序等待很长时间进行数据更新,但都没有工作.任何想法都会有所帮助.我的代码如下. wb是一个全局级工作簿,ws1是一个全局级工作表.
Public Sub Run_Me()
Public Sub Run_Me()
'Application.DisplayAlerts = False
'Application.ScreenUpdating = False
Call Populate_Me
Call Format_Me
'Application.DisplayAlerts = True
'Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)
结束子
Private Sub Populate_Me()
Private Sub Populate_Me()
Dim lRow_PM As Integer
Dim xlCalc As XlCalculation
Set wb = ThisWorkbook
Set ws1 = wb.Sheets(1)
'clear out any values from previous day
If wb.Sheets(ws1.Name).Range("A1").Value <> "" Then
wb.Sheets(ws1.Name).Select
Selection.ClearContents
End If
xlCalc = Application.Calculation
Application.Calculation = xlCalculationAutomatic …
Run Code Online (Sandbox Code Playgroud) 有谁知道如何通过Bloomberg的新数据API(COM v3)与Python获取异步数据?我在wilmott.com上找到了以下代码,它运行得很好,但它适用于旧的API版本.
有谁知道新版本的相应代码?
from win32com.client import DispatchWithEvents
from pythoncom import PumpWaitingMessages, Empty, Missing
from time import time
class BBCommEvent:
def OnData(self, Security, cookie, Fields, Data, Status):
print 'OnData: ' + `Data`
def OnStatus(self, Status, SubStatus, StatusDescription):
print 'OnStatus'
class TestAsync:
def __init__(self):
clsid = '{F2303261-4969-11D1-B305-00805F815CBF}'
progid = 'Bloomberg.Data.1'
print 'connecting to BBComm'
blp = DispatchWithEvents(clsid, BBCommEvent)
blp.AutoRelease = False
blp.Subscribe('EUR Curncy', 1, 'LAST_PRICE', Results = Empty)
blp.Flush()
end_time = time() + 5
while 1:
PumpWaitingMessages()
if end_time < time():
print …
Run Code Online (Sandbox Code Playgroud) 当我使用带有ISIN或CUSIP的bdp时,我得到以下错误.
bdp ("US25470XAB10 ISIN","ULT_PARENT_TICKER_EXCHANGE")
bdp ("25470XAB1 CUSIP","ULT_PARENT_TICKER_EXCHANGE")
Error in bdp_Impl(con, securities, fields, options, overrides, identity) :
attempt to set an attribute on NULL
Run Code Online (Sandbox Code Playgroud)
但是,使用Bloomberg ID(下面)似乎可行.
bdp("EI000902 Corp","ULT_PARENT_TICKER_EXCHANGE")
Run Code Online (Sandbox Code Playgroud)
欣赏任何变通方法或解决方案.
BQL 在 Excel 中使用看起来是相同的 API 插件,使用相同的字段调用彭博数据,即 PX_LAST。我目前使用 pdblp 在 python 中运行模型,效果很好,我很想迁移到 API 的 BQL 版本以优化终端外的数据使用。有没有人知道在任何包中使用 BQL 的任何努力?我知道去年有人问过这个问题……正在寻找更新。