使用Python API获得Bloomberg的ASK价格

时间:2016-05-30 20:18:36

标签: python excel-2010 bloomberg datanitro blpapi

我正在尝试使用Excel的DataNitro从Bloomberg获得ASK价格。

我从excel调用此函数:

main()的

def main():
    options = parseCmdLine()

    # Fill SessionOptions
    sessionOptions = blpapi.SessionOptions()
    sessionOptions.setServerHost(options.host)
    sessionOptions.setServerPort(options.port)


    # Create a Session
    session = blpapi.Session(sessionOptions)

    # Start a Session
    if not session.start():

        return "Failed to start session."

    try:
        # Open service to get historical data from
        if not session.openService("//blp/refdata"):

            return "Failed to open //blp/refdata"

        sendIntradayBarRequest(session, options)

        # wait for events from session.
        askPrice=eventLoop(session)
        return "Ask Price: %s " % (askPrice)

    finally:
        # Stop the session
        session.stop()

在Excel上:
回报"问价格:%s" %(askPrice)
它总是说" Python超时"在单元格中我从

调用该函数

然而,当我将返回更改为print时,它正确显示了Python shell上的价格 打印"询问价格:%s" %(askPrice)

Bloomberg方面的问题是关于进行我必须联系他们的会话或者我必须解决的实际代码吗?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

价格需要多长时间才能回归? DataNitro UDF在3秒后超时,以防止长时间运行的功能冻结Excel。您可以在DataNitro的设置中修改超时持续时间。