Как я могу загрузить тиковые данные из Bloomberg с помощью библиотеки xbbg python? - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь загрузить данные тиков из Bloomberg с помощью библиотеки python xbbg. Под тиковыми данными я подразумеваю, что новая строка информации генерируется каждый раз, когда происходит изменение в заявке или объеме / цене спроса, или когда происходит торговля. Я добавил образец целевого вывода ниже.

Может кто-нибудь помочь, предоставив образец кода для загрузки данных?

Спасибо!

enter image description here

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете попробовать код ниже. Функция является генератором, выдающим каждый тик как dict данных из Bloomberg. Вы должны включить его в свой бэкэнд обработки сигналов, чтобы сделать это полезным.

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
...