Pialang Interaktif (IB) memungkinkan untuk terhubung dengan perangkat lunak perdagangan mereka Trader Workstation (TWS) melalui API TWS mereka.
Pertama-tama Anda harus memulai TWS di komputer Anda dan dalam menu pengaturan Anda harus mengaktifkan akses API TWS untuk antarmuka jaringan "localhost" Anda (127.0.0.1) pada port 7496. Untuk perdagangan kertas (akun demo/tes) ini adalah port 7497 per default. Hal ini memungkinkan untuk menjalankan skrip pada mesin yang sama dengan tempat Anda menjalankan TWS.
Selain IB TWS, Anda juga bisa menggunakan IB Gateway. Ini menggunakan port 4002 per default untuk perdagangan kertas (akun demo/test) dan 4001 untuk akun aktif/nyata/live.
Periksa ini: https://interactivebrokers.github.io/tws-api/initial_setup.html.
Setelah Anda mulai menghubungkan skrip ke TWS Anda, Anda juga dapat melihat tab baru "API" di TWS Anda.
Perangkat lunak TWS API resmi dari Interactive Brokers dapat ditemukan di https://www.interactivebrokers.com/en/trading/ib-api.php.
Diskusi seputar TWS API paling baik dilakukan di https://groups.io/g/twsapi.
Silakan periksa juga FAQ di: https://dimon.ca/dmitrys-tws-api-faq/.
ib_async adalah API python lain untuk terhubung ke TWS Anda dengan dokumen di https://ib-api-reloaded.github.io/ib_async/api.html dan diskusi di https://groups.io/g/insync. (Proyek asli di https://github.com/erdewit/ib_insync.)
Untuk menginstal ib_async, instal python3 terlebih dahulu lalu jalankan:
pip3 instal ib_async
Untuk memperbarui ib_async nanti, jalankan:
instalasi pip3 --upgrade ib_async
pandas adalah pustaka python tambahan yang berguna untuk analisis dan manipulasi data.
Instal di Debian atau Ubuntu Linux dengan:
sudo apt-get install python3-panda
Atau Anda dapat menginstal melalui pip3:
pip3 instal panda
Untuk menjalankan pembaruan:
instalasi pip3 --upgrade panda
Contoh skrip yang mengunduh data saham historis untuk semua perusahaan di indeks DOW, SP500, dan Nasdaq100.
Data disimpan ke dalam subdirektori "data" secara default, jadi harap buat direktori ini sebelum memanggil skrip ini.
Lihat stok-hist-data-download.py.
Cara update daftar indeks SP500 dan Nasdaq100:
python3 stock-hist-data-download.py --list-index > TMPFILE diff -u stok-hist-data-download.py TMPFILE
Lihat juga https://github.com/deltaray-io/ib_dl.
Sedikit berbeda dengan TWS API adalah kueri fleksibel dan pengunduhan/penguraiannya.
Berikut beberapa proyek seputar ini: