softwarespartan / IB4m

Interactive Brokers API for Matlab
GNU General Public License v2.0
62 stars 21 forks source link

Welcome to IB4m

Interactive Brokers API for Matlab

Contents

Quick Start Guide

Getting started with IB4m is easy. The updated Interactive Brokers API docs for v9.73+ are here: https://interactivebrokers.github.io/tws-api/. Use the code examples in the

IB4m/docs
folder which have been updated for v9.73 API. Follow the steps below assuming you already have an IB tradding account and Trader Workstation installed.

  1. Enable API access in TWS for "Active X and Socket Clients"**
  2. Add trusted IP address for local host 127.0.0.1 in TWS**
  3. Clone IB4m on Github: git clone https://github.com/softwarespartan/IB4m.git

**(File -> GlobalConfiguration -> API -> Settings)

Navigate to the IB4m directory in Matlab

cd ~/Dropbox/IB4m

OK, now add IB4m and IB4m/docs to your matlab path

addpath(path,pwd);  addpath(path,fullfile(pwd,'docs'))

Finally, add TWS973.jar to the (dynamic) java classpath

javaaddpath(fullfile(pwd,'Jar','TWS973.jar'))

You're all set! Do a quick test to get summary of your IB account

AccountSummaryExample
added interface method: TWSNotification
notification listener has been added
Server Version:75
TWS Time at connection:20150104 18:32:00 EST
DU207406: RegTEquity = 1003650.61 (USD)
DU207406: LookAheadInitMarginReq = 0.00 (USD)
DU207406: RegTMargin = 0.00 (USD)
DU207406: GrossPositionValue = 0.00 (USD)
DU207406: LookAheadNextChange = 0 ()
DU207406: SMA = 1003650.62 (USD)
DU207406: ExcessLiquidity = 1003650.61 (USD)
DU207406: FullMaintMarginReq = 0.00 (USD)
DU207406: InitMarginReq = 0.00 (USD)
DU207406: FullAvailableFunds = 1003650.61 (USD)
DU207406: MaintMarginReq = 0.00 (USD)
DU207406: LookAheadMaintMarginReq = 0.00 (USD)
DU207406: FullExcessLiquidity = 1003650.61 (USD)
DU207406: LookAheadAvailableFunds = 1003650.61 (USD)
DU207406: LookAheadExcessLiquidity = 1003650.61 (USD)
DU207406: DayTradesRemaining = -1 ()
DU207406: FullInitMarginReq = 0.00 (USD)
DU207406: Cushion = 1 ()
DU207406: AvailableFunds = 1003650.61 (USD)

To save your matlab path use "savepath" or "pathtool". Also, consider adding TWS.jar to your static java classpath ("edit classpath.txt"). Otherwise, will need to add the jar file after each matlab restart.

Tutorials

Tutorials for MarketData, Scanner Subscriptions, Execution Details, and more. Everything you need to get up and running. NOTE: The example codes in the IB4m/docs folder for each of the tutorials below has been updated for API v9.73+ but the html in IB4m/docs/html is still older v9.72 API. Will update html soon.

Getting More Help

Feel free to open an issue or email brown.2179-at-gmail.com with questions, suggestions, comments etc.

References

System Requirements

IB4m has been tested on OSX 10.10, Windows 7, and Windows 8 with both Java 7 and Java 8 using the latest versions of Trader Workstation (Dec 19, 2014, Server versions 75 and 76)

Note that older versions of Matlab might use Java 6. You can use the links below to launch Matlab with different (newer) version of Java

Finally, make sure to double check your IB account data subscriptions if you have trouble with obtaining historical data etc.