Skip to content
Python API for the Interactive Brokers on-line trading system.
Python Makefile
Find file
Latest commit dcee951 @blampe Merge pull request #11 from arvindadiga/master
fix comboLeg object initiation error

README.mkd

IbPy - Interactive Brokers Python API

IbPy Released 15 Jun 2013

What is IbPy?

IbPy is a third-party implementation of the API used for accessing the Interactive Brokers on-line trading system. IbPy implements functionality that the Python programmer can use to connect to IB, request stock ticker data, submit orders for stocks and futures, and more.

What's new in this release?

  • TWS API version 9.70 now supported
  • Over 60% test coverage and growing
  • Fixed outstanding bugs in EReader generated source
  • Module ib.opt.logger moved to ib.lib.logger
  • Class ib.opt.Connection moved to new ib.opt.connection module
  • Added script to filter TWS log files; see demo/log_filter
  • Added ib.sym package to hold various symbolic constants
  • Many small enhancements to ib.opt package

Where can I get IbPy?

GitHub:

https://github.com/blampe/IbPy

Older versions of IbPy are available for download from Google Code:

https://code.google.com/p/ibpy/downloads/list

Project page:

http://code.google.com/p/ibpy/

How do I use IbPy?

See the IbPy wiki page "Getting Started with IbPy":

http://code.google.com/p/ibpy/wiki/GettingStarted

What are the requirements?

IbPy requires Python 2.5 or newer. Previous versions are not supported.

TWS requires a web browser capable of executing Sun(R) Java(tm) applets. TWS can also be started directly with Sun(R) Java(tm) and the stand-alone package supplied by Interactive Brokers.

What is Interactive Brokers?

From the page "About The Interactive Brokers Group" 2:

Interactive Brokers conducts its broker/dealer and proprietary trading businesses on 60 market centers worldwide. In its broker dealer agency business, IB provides direct access ("on line") trade execution and clearing services to institutional and professional traders for a wide variety of electronically traded products including options, futures, stocks, forex, and bonds worldwide. In its proprietary trading business IB engages in market making for its own account in about 6,500 different electronically traded products. Interactive Brokers Group and its affiliates now trade 19% of the world’s exchange traded equity options, and executes approximately 500,000 trades per day.

What is Python?

From the page "What is Python?" 1:

Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.

The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask around on comp.lang.python -- or just try compiling Python yourself.

The Python implementation is copyrighted but freely usable and distributable, even for commercial use.

What Else?

IbPy is not a product of Interactive Brokers, nor is this project affiliated with IB.

IbPy is installed with distutils. Refer to the Python distutils documentation for more information. The digest version is:

$ tar xzf IbPy-0.8.0-9.67.tar.gz
$ cd :release_root:
$ python setup.py install

The TWS demo system is available here:

http://interactivebrokers.com/cgi-pub/jtslink.pl?user_name=edemo

The stand-alone TWS and other API software is available from IB:

http://interactivebrokers.com/

IbPy is distributed under the New BSD License. See the LICENSE file in the release for details.

I'm very interested in your experience with IbPy. Please drop me an note with any feedback you have.

Troy Melhase

Something went wrong with that request. Please try again.