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 hashes)

Uploaded Source

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