Interactive Brokers (IB) позволяет подключаться к своему торговому программному обеспечению Trader Workstation (TWS) через TWS API.
Сначала вам необходимо запустить TWS на своем компьютере и в меню настроек включить доступ TWS API для вашего сетевого интерфейса «localhost» (127.0.0.1) через порт 7496. Для бумажной торговли (демо/тестовый счет) это порт 7497. по умолчанию. Это позволяет запускать сценарии на том же компьютере, на котором вы запускаете TWS.
Вместо IB TWS вы также можете использовать IB Gateway. По умолчанию используется порт 4002 для бумажной торговли (демо/тестовый счет) и 4001 для активного/реального/реального счета.
Проверьте это: https://interactivebrokers.github.io/tws-api/initial_setup.html.
Как только вы запустите сценарии, подключающиеся к вашему TWS, вы также увидите новую вкладку «API» в вашем TWS.
Официальное программное обеспечение TWS API от Interactive Brokers можно найти по адресу https://www.interactivebrokers.com/en/trading/ib-api.php.
Обсуждения TWS API лучше всего проводить на https://groups.io/g/twsapi.
Также ознакомьтесь с часто задаваемыми вопросами по адресу: https://dimon.ca/dmitrys-tws-api-faq/.
ib_async — это еще один API Python для подключения к вашему TWS с документацией по адресу https://ib-api-reloaded.github.io/ib_async/api.html и обсуждениями по адресу https://groups.io/g/insync. (Оригинальный проект https://github.com/erdewit/ib_insync.)
Чтобы установить ib_async, сначала установите python3, а затем запустите:
pip3 установить ib_async
Чтобы обновить ib_async позже, запустите:
pip3 install --upgrade ib_async
pandas — полезная дополнительная библиотека Python для анализа и обработки данных.
Установите на Debian или Ubuntu Linux с помощью:
sudo apt-get установить python3-pandas
Или вы можете установить через pip3:
pip3 установить панды
Для обновлений запустите:
pip3 install --обновить панды
Пример скрипта, который загружает исторические данные по акциям для всех компаний индексов DOW, SP500 и Nasdaq100.
По умолчанию данные сохраняются в подкаталоге «data», поэтому создайте этот каталог перед вызовом этого сценария.
См. stock-hist-data-download.py.
Как обновить список индексов SP500 и Nasdaq100:
python3 stock-hist-data-download.py --list-index > TMPFILE diff -u stock-hist-data-download.py TMPFILE
Также посетите https://github.com/deltaray-io/ib_dl.
Немного отличается от TWS API гибкие запросы и их загрузка/анализ.
Вот некоторые проекты по этому поводу: