请问您如何从彭博社获得盘中 1 分钟数据?我要出价并要求保存为数据框的 5 个期货。
谢谢。
您可以使用xbbg
:
In [1]: from xbbg import blp
In [2]: blp.bdib(ticker='SPY US Equity', dt='2019-01-17').tail()
Out[2]:
ticker SPY US Equity
field open high low close volume num_trds
time
2019-01-17 15:57:00-05:00 262.82 262.92 262.70 262.88 644947 2744
2019-01-17 15:58:00-05:00 262.87 262.89 262.77 262.86 713451 3152
2019-01-17 15:59:00-05:00 262.87 263.05 262.74 263.00 2248033 5616
2019-01-17 16:09:00-05:00 262.96 262.96 262.96 262.96 0 1
2019-01-17 16:15:00-05:00 262.96 262.96 262.96 262.96 0 1
我相信您正在寻找盘中 1 分钟柱数据、开盘价、最高价、最低价、收盘价等。您将需要使用 IntradayBarRequest 到 //blp/refdata 服务。
修改后的答案:
发送两个 IntradayBarRequest,一个用于 BID,另一个用于 ASK 事件类型,间隔 = 1 分钟到 //blp/refdata 服务。从响应消息中的每个数据点中提取“打开”元素。
IntradayBarRequest = {
security = "IBM UN Equity"
eventType = BID
startDateTime = 2019-02-13T00:00:00.000
endDateTime = 2019-02-14T23:59:59.000
interval = 1
gapFillInitialBar = false
adjustmentNormal = false
adjustmentAbnormal = false
adjustmentSplit = false
adjustmentFollowDPDF = false
}
样本数据点:
barTickData = {
time = 2019-02-13T14:30:00.000
open = 136.45
high = 136.87
low = 136.25
close = 136.76
volume = 91
numEvents = 45
value = 12424.061
}
请参阅 SDK 中的 IntradayBarExample 代码示例。
Dan,如果您想与 Pandas 合作,我建议您使用 TIA:https ://github.com/bpsmith/tia
您提到您正在使用 Python 3。目前,TIA 仅与 Python 2 兼容,但这里https://github.com/bpsmith/tia/issues/11有 Python 3 转换。我最近一直在使用它,它非常好。一个例子:
from tia.bbg import LocalTerminal
import tia.bbg.datamgr as dm
import datetime
sid = 'IBM US EQUITY'
event = 'TRADE'
dt = pd.datetools.BDay(-1).apply(pd.datetime.now())
start = pd.datetime.combine(dt, datetime.time(13, 30))
end = pd.datetime.combine(dt, datetime.time(21, 30))
f = LocalTerminal.get_intraday_bar(sid, event, start, end,
interval=60).as_frame()
f.head(1)
close high low numEvents open time value volume
0 162.2500 162.70 161.51 4005 162.4900 2015-02-24 14:30:00 110345672 680888
上面的 github 链接也有大量示例。