Tengo problemas para recuperar los datos históricos de 14 días de IB. Recientemente he hecho el cambio de MATLAB a Python, así que tengo que ponerme al día. ¿Dónde me equivoco? Se agradece toda la ayuda.
import sys
import pandas as pd
from time import sleep, strftime
from ib.ext.Contract import Contract
#Make connection
conn = Connection.create(port=7496, clientId=999)
conn.connect()
def var2(msg):
print(msg)
conn.register(var2, message.historicalData)
def var3(msg):
print(msg)
if __name__ == '__main__':
#conn = ibConnection()
conn.register(var2, 'UpdateAccountValue')
conn.register(var3, message.tickSize, message.tickPrice)
conn.connect()
def inner():
qqqq = Contract()
qqqq.m_secType = "STK"
qqqq.m_symbol = "ABN"
qqqq.m_currency = "EUR"
qqqq.m_exchange = "AEB"
endtime = strftime('%Y%m%d %H:%M:%S')
conn.reqHistoricalData(1,qqqq,endtime,"14 D","1 min","BID",1,1)
data = reqHistoricalData
conn.disconnect()
0 votos
No llamaste a la
inner()
función.0 votos
¿Puede dar un ejemplo?
0 votos
Ha definido una función
def inner()
en tu código, pero nunca llamas a la función, poninner()
en la línea justo después deconn.connect()
para que llame a lainner()
función. Si todavía tiene error, publique su código de error.0 votos
Tu código tiene varios errores además del que he mencionado anteriormente. Yo podría limpiar el código para usted, sin embargo, yo no uso IbPy más. IbPy es una implementación de terceros que proporciona una documentación muy limitada. Si eres nuevo en la programación de IB python, te sugiero que cambies a Paquete de software API nativo de Interactive Broker y tiene una excelente Documentación de la API .