【发布时间】:2020-03-31 13:25:11
【问题描述】:
我正在尝试使用 python xbbg 库从 Bloomberg 下载报价数据。报价数据是指每次买入或卖出量/价格发生变化或有交易时,都会生成一条新的信息行。我在下面添加了目标输出的示例。
有人可以提供一些示例代码来下载数据吗?
谢谢!
【问题讨论】:
我正在尝试使用 python xbbg 库从 Bloomberg 下载报价数据。报价数据是指每次买入或卖出量/价格发生变化或有交易时,都会生成一条新的信息行。我在下面添加了目标输出的示例。
有人可以提供一些示例代码来下载数据吗?
谢谢!
【问题讨论】:
你可以试试下面的代码。
该函数是一个生成器,将来自 Bloomberg 的数据的每个报价生成为 dict。
您需要将其包含在您的信号处理后端中以使其有用。
In [1]: from xbbg import blp
In [2]: cnt = 0
In [3]: for t in blp.live('QQQ US Equity', flds=['Bid', 'Ask', 'Last_Price']):
cnt += 1
print(t)
if cnt > 10: break
{'TICKER': 'QQQ US Equity', 'MKTDATA_EVENT_TYPE': 'SUMMARY', 'MKTDATA_EVENT_SUBTYPE': 'INITPAINT', 'BID': 185.23, 'ASK': 185.24, 'BEST_BID': 184.72, 'BEST_ASK': 184.74, 'BID_ALL_SESSION': 184.72, 'ASK_ALL_SESSION': 184.74, ....}
另一种下载历史报价数据的方法如下。
问题是,有时它会返回空 DataFrame。
仍然不确定发生了什么 - 也许稍后解决。
In [4]: blp.bdtick('QQQ US Equity', dt='2020-03-30').tail()
QQQ US Equity
typ value volume cond exch
2020-03-31 20:00:00-04:00 TRADE 190.31 0 OC C
2020-03-31 20:00:00-04:00 TRADE 190.30 0 OC B
2020-03-31 20:00:00-04:00 TRADE 190.21 0 OC A
2020-03-31 20:00:00-04:00 TRADE 190.43 0 OC D
2020-03-31 20:00:00-04:00 TRADE 190.40 0 CC Q
【讨论】:
timeout 参数在 0.7.0b1 的更新版本中添加。如果几天内一切正常,将在稍后发布 0.7.0。