Skip to main content

No project description provided

Project description

IB Interface

An adaption and continuation of ib-insync for the Interactive Brokers Python TWS API.

The main features are:

  • An easy to use linear style of programming
  • An IB component that automatically keeps in sync with the TWS or IB Gateway application
  • A fully asynchonous framework based on asyncio
  • Interactive operation with live data in Jupyter notebooks

[!IMPORTANT] this project is not affiliated with Interactive Brokers

[!IMPORTANT] The ibapi package from IB is not needed

[!NOTE] ib-insync has been archived

Installation

pip install ib-interface

Usage

The goal is for ib-insync users to be able to simply refactor their imports as:

- import ib_insync as ibi
+ import ib_interface as ibi
- from ib_insync import *
+ from ib_interface import *
- from ib_insync.{some module} import {some submodule or class or function}
+ from ib_interface.{some module} import {some submodule or class or function}

Example

[!IMPORTANT] a running TWS or Gateway instance is needed to connect to the API

[!IMPORTANT] Make sure the API port is enabled and 'Download open orders on connection' is checked.

This is a complete script to download historical data:

from ib_interface import *

# util.startLoop()  # uncomment this line when in a notebook

ib = IB()
ib.connect("127.0.0.1", 7497, clientId=1)

contract = Forex("EURUSD")
bars = ib.reqHistoricalData(
    contract,
    endDateTime="",
    durationStr="30 D",
    barSizeSetting="1 hour",
    whatToShow="MIDPOINT",
    useRTH=True,
)

# convert to pandas dataframe (pandas needs to be installed):
df = util.df(bars)
print(df)

Output

                  date      open      high       low     close  volume
0   2019-11-19 23:15:00  1.107875  1.108050  1.107725  1.107825      -1
1   2019-11-20 00:00:00  1.107825  1.107925  1.107675  1.107825      -1
2   2019-11-20 01:00:00  1.107825  1.107975  1.107675  1.107875      -1
3   2019-11-20 02:00:00  1.107875  1.107975  1.107025  1.107225      -1
4   2019-11-20 03:00:00  1.107225  1.107725  1.107025  1.107525      -1
..                  ...       ...       ...       ...       ...     ...
705 2020-01-02 14:00:00  1.119325  1.119675  1.119075  1.119225      -1

Acknowledgements

Thank you to Ewald de Wit for creating and maintaining ib-insync, eventkit, and nest-asyncio.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ib_interface-0.0.4.tar.gz (95.4 kB view details)

Uploaded Source

File details

Details for the file ib_interface-0.0.4.tar.gz.

File metadata

  • Download URL: ib_interface-0.0.4.tar.gz
  • Upload date:
  • Size: 95.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for ib_interface-0.0.4.tar.gz
Algorithm Hash digest
SHA256 8e2438c1b6f1c0b725564a929d7928134c313b5775c7717ec619e6300b651e4e
MD5 00b3738fbb318638512151aed217a94b
BLAKE2b-256 6f81c183e4591b20502007939dc22c86d9d9036207947f479038ee7f96afccf4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page