Код для извлечения полей данных в реальном времени в таблице Bloomberg TRACE ABS (без знания тикера) - PullRequest
1 голос
/ 14 июня 2019

Я пытаюсь написать код, который обращается к функции TRACE Bloomberg, в частности, для доступа к TACT (данные ABS).Проблема в том, что эти данные живут в течение дня.Когда трейдер завершает сделку, в систему вводится соответствующая безопасность АБС - надеюсь, вы видите мою проблему.При написании кода я не знаю имени тикера безопасности, поэтому я не могу получить дополнительные поля данных в остальной части таблицы TRACE.

Есть ли у Python способ доступа к действующему имени безопасностиполя в функции TRACE, когда они вводятся в систему?Может ли python по существу открыть Bloomberg, ввести определенную функцию на панели инструментов Bloomberg и скопировать поля из вывода?

Я пробовал другие методы кодирования, но все, кажется, полагаются на знание символа тикера.Это потребует, чтобы я заранее знал, какие сделки происходят, прежде чем они происходят.

1 Ответ

0 голосов
/ 14 июня 2019

Я думаю, вы можете делать то, что хотите. Я объясню, используя Excel API, но все, что можно сделать в Excel, можно сделать из python.

Я понимаю, что вы хотите получить подписку на функцию TACT - ее ценные бумаги и поля. Это невозможно напрямую, но мы можем сделать нечто подобное в 2 этапа:

  1. Получить список ценных бумаг, которые находятся на TACT
  2. Получить поля из TACT

1 сложнее, но я думаю, что это можно сделать с помощью «Фиксированного поиска дохода» - SRCH. Реализуйте свой фильтр, добавив критерии, по которым вы хотите фильтровать. Также добавьте «это след распространения». Затем сохраните результаты поиска и импортируйте результаты в Excel:

=BSRCH("<search_name> Client","PORTFOLIO_DATA")

имя поиска - это имя вашего сохраненного поиска.

Получив результаты в Excel, используйте формулы вроде

=BDP(A2, "TRACE_LAST_TRADE_SIZE")

чтобы получить поля, которые вы видите в функции TACT. (формула предполагает, что идентификатор безопасности находится в ячейке A2)

...