Interactive Brokers (IB) permite conectar-se ao seu software de negociação Trader Workstation (TWS) por meio de sua API TWS.
Você primeiro precisa iniciar o TWS em seu computador e no menu de configurações você deve habilitar o acesso à API do TWS para sua interface de rede "localhost" (127.0.0.1) na porta 7496. Para negociação em papel (conta de demonstração/teste), esta é a porta 7497 por padrão. Isso permite executar scripts na mesma máquina em que você executa o TWS.
Em vez do IB TWS, você também pode usar o IB Gateway. Isso usa a porta 4002 por padrão para negociação em papel (conta demo/teste) e 4001 para uma conta ativa/real/ao vivo.
Verifique isto: https://interactivebrokers.github.io/tws-api/initial_setup.html.
Depois de iniciar a conexão dos scripts ao seu TWS, você também poderá ver uma nova guia "API" no seu TWS.
O software oficial da API TWS da Interactive Brokers pode ser encontrado em https://www.interactivebrokers.com/en/trading/ib-api.php.
As discussões sobre a API do TWS são melhores em https://groups.io/g/twsapi.
Verifique também as Perguntas frequentes em: https://dimon.ca/dmitrys-tws-api-faq/.
ib_async é outra API python para conectar-se ao seu TWS com documento em https://ib-api-reloaded.github.io/ib_async/api.html e discussões em https://groups.io/g/insync. (Projeto original em https://github.com/erdewit/ib_insync.)
Para instalar o ib_async, primeiro instale o python3 e depois execute:
pip3 instalar ib_async
Para atualizar ib_async posteriormente, execute:
instalação pip3 --upgrade ib_async
pandas é uma biblioteca python adicional útil para análise e manipulação de dados.
Instale no Debian ou Ubuntu Linux com:
sudo apt-get install python3-pandas
Ou você pode instalar via pip3:
pip3 instalar pandas
Para atualizações execute:
pip3 instalar --upgrade pandas
Script de exemplo que baixa dados históricos de ações de todas as empresas dos índices DOW, SP500 e Nasdaq100.
Os dados são armazenados no subdiretório "data" por padrão, portanto, crie este diretório antes de chamar este script.
Consulte stock-hist-data-download.py.
Como atualizar a lista de índices do SP500 e Nasdaq100:
python3 stock-hist-data-download.py --list-index > TMPFILE diff -u stock-hist-data-download.py TMPFILE
Verifique também https://github.com/deltaray-io/ib_dl.
Um pouco diferente da API do TWS são as consultas flexíveis e o download/análise delas.
Aqui estão alguns projetos em torno disso: