IBPY получить правильные данные исторического объема - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь получить исторические данные из IBPY.Я понял, но громкость крайне мала, и это бесполезно.Я хотел бы знать, как получить правильную оценку исторического объема.

Я выполняю следующий код:

from ib.opt import Connection, message
from ib.ext.Contract import Contract
from ib.ext.Order import Order
from time import sleep, strftime

def historical_data_handler(msg):
    print(msg)

connection = Connection.create(port=7496, clientId=999)
connection.register(historical_data_handler, message.historicalData)
connection.connect()

req = Contract()
req.m_secType = "STK"
req.m_symbol = "TSLA"
req.m_currency = "USD"
req.m_exchange = "AMEX"
endtime = strftime('%Y%m%d %H:%M:%S')
connection.reqHistoricalData(1,req,endtime,"1 D","1 hour","TRADES",1,1)

sleep(5)
connection.disconnect()

, и это вывод:

<historicalData reqId=1, date=20181123  16:30:00, open=333.21, high=333.33, low=331.04, close=332.92, volume=22, count=21, WAP=332.233, hasGaps=False>
<historicalData reqId=1, date=20181123  16:30:00, open=333.21, high=333.33, low=331.04, close=332.92, volume=22, count=21, WAP=332.233, hasGaps=False>
<historicalData reqId=1, date=20181123  17:00:00, open=332.93, high=334.2, low=327.0, close=328.2, volume=42, count=39, WAP=329.755, hasGaps=False>
<historicalData reqId=1, date=20181123  17:00:00, open=332.93, high=334.2, low=327.0, close=328.2, volume=42, count=39, WAP=329.755, hasGaps=False>
<historicalData reqId=1, date=20181123  18:00:00, open=329.0, high=330.37, low=327.96, close=327.96, volume=17, count=17, WAP=329.375, hasGaps=False>
<historicalData reqId=1, date=20181123  18:00:00, open=329.0, high=330.37, low=327.96, close=327.96, volume=17, count=17, WAP=329.375, hasGaps=False>
<historicalData reqId=1, date=20181123  19:00:00, open=328.5, high=328.6, low=326.07, close=326.07, volume=25, count=25, WAP=327.498, hasGaps=False>
<historicalData reqId=1, date=20181123  19:00:00, open=328.5, high=328.6, low=326.07, close=326.07, volume=25, count=25, WAP=327.498, hasGaps=False>

Данные поступают, но объемы каждой строки невозможнынизкий (~ 22 для часовых баров).

На их веб-сайте: https://interactivebrokers.github.io/tws-api/historical_bars.html#hd_what_to_show

указано, что:

Примечание: подача исторических данных IB отфильтрованадля некоторых типов сделок, которые обычно происходят вдали от NBBO, таких как комбо, блочные сделки и деривативы.По этой причине объем исторических данных будет меньше, чем поток нефильтрованных исторических данных

Однако извлеченные тома настолько малы, что бесполезны.

Полагаю, я неСначала нужны исторические данные о томе, и, вероятно, есть способ их получить.Подскажите, пожалуйста, как?Спасибо!

1 Ответ

0 голосов
/ 23 декабря 2018

Объем сообщается в сотнях.Например, 22 - 2200 акций.

Для справки см. Справочное руководство по API рабочей станции Trader или онлайн здесь .

...