Interactive Brokers (IB) permet de se connecter à leur logiciel de trading Trader Workstation (TWS) via leur API TWS.
Vous devez d'abord démarrer TWS sur votre ordinateur et dans le menu des paramètres, vous devez activer l'accès à l'API TWS pour votre interface réseau "localhost" (127.0.0.1) sur le port 7496. Pour le trading papier (compte démo/test), il s'agit du port 7497. par défaut. Cela permet d'exécuter des scripts sur la même machine sur laquelle vous exécutez TWS.
Au lieu d'IB TWS, vous pouvez également utiliser IB Gateway. Celui-ci utilise le port 4002 par défaut pour le trading papier (compte démo/test) et 4001 pour un compte actif/réel/réel.
Vérifiez ceci : https://interactivebrokers.github.io/tws-api/initial_setup.html.
Une fois que vous démarrez les scripts de connexion à votre TWS, vous pouvez également voir un nouvel onglet "API" sur votre TWS.
Le logiciel API TWS officiel d'Interactive Brokers est disponible sur https://www.interactivebrokers.com/en/trading/ib-api.php.
Les discussions autour de l'API TWS sont meilleures sur https://groups.io/g/twsapi.
Veuillez également consulter la FAQ à l'adresse : https://dimon.ca/dmitrys-tws-api-faq/.
ib_async est une autre API Python pour vous connecter à votre TWS avec le document sur https://ib-api-reloaded.github.io/ib_async/api.html et les discussions sur https://groups.io/g/insync. (Projet original sur https://github.com/erdewit/ib_insync.)
Pour installer ib_async, installez d'abord python3, puis exécutez :
pip3 installer ib_async
Pour mettre à jour ib_async ultérieurement, exécutez :
pip3 install --upgrade ib_async
pandas est une bibliothèque Python supplémentaire utile pour l'analyse et la manipulation des données.
Installez sur Debian ou Ubuntu Linux avec :
sudo apt-get install python3-pandas
Ou vous pouvez installer via pip3 :
pip3 installer des pandas
Pour les mises à jour, exécutez :
pip3 install --upgrade pandas
Exemple de script qui télécharge les données boursières historiques de toutes les sociétés des indices DOW, SP500 et Nasdaq100.
Les données sont stockées par défaut dans le sous-répertoire "data", veuillez donc créer ce répertoire avant d'appeler ce script.
Voir stock-hist-data-download.py.
Comment mettre à jour la liste d'index du SP500 et du Nasdaq100 :
python3 stock-hist-data-download.py --list-index > TMPFILE diff -u stock-hist-data-download.py TMPFILE
Consultez également https://github.com/deltaray-io/ib_dl.
Les requêtes flexibles et leur téléchargement/analyse sont un peu différents de l'API TWS.
Voici quelques projets autour de cela :