Access market/portfolio data and submit trade orders in Matlab via Interactive-Brokers (IB), using the IB-Matlab application.
IB-Matlab provides an easy-to-use Matlab interface to InteractiveBrokers, enabling quants, traders and ordinary folk to easily leverage Matlab’s superior analysis and visualization capabilities, with the IB low-cost trading platform for stocks, ETFs, mutual funds, bonds, options, futures, commodities and Forex. IB-Matlab can be used for both automated algo-trading and selective manual trading; it is actively used by hundreds of institutions and individuals worldwide.
While IB’s Java connector, which is provided by IB, can be used directly in Matlab, setting up the event callbacks and data conversions between Matlab and the connector is definitely not easy. You need to be familiar with both Matlab AND Java, at least to some degree.
Other applications that solve these problems are either expensive, not supported, or limited in functionality or deployment. For example, ActiveX solutions only work properly on 32-bit Windows and even then lose some events and are relatively slow. matlab2ib quant2ib
IB-Matlab solves the IB-to-Matlab connectivity problem with an easy-to-use Matlab interface that works out-of-the-box on all Matlab platforms (Win32, Win64, Mac, Linux). It outshines the alternatives in terms of performance, reliability, features, stability, deployment, compatibility, cost and overall value.
Don’t take our word for it – request your fully-functional free trial version today, and check for yourself!
Main features of IB-Matlab
- Full solution – IB-Matlab is an inexpensive application that enables simple Matlab access to the entire IB API functionality.
- Connectivity – IB-Matlab enables users to connect Matlab to TWS or the IB Gateway, on the Matlab’s computer or on a different computer.
- Stability – IB-Matlab has been installed, tested and used by hundreds of traders since 2010. IB-Matlab is reportedly used to actively trade over $100,000,000 daily (this is not a typo – USD 100 million). It is rock solid.
- Inexpensive – IB-Matlab is extremely inexpensive compared to other connectors of its kind and to the amount of time that would be needed to develop a custom application from scratch. A fully-functional free trial version is available (see below).
- Easy to use – Users can activate IB’s API by simple Matlab commands, without any need to know Java (on which the API is based) nor Matlab programming. IB-Matlab simplifies the IB API in a very easy-to-use yet powerful interface that can be used by any Matlab user, novice or advanced.
- Entire API functionality –
- Active trading actions: buy, sell, short, modify, cancel
- Numerous settable contract and order attributes
- Market query actions: current market data, scanner filter, streaming quotes, real-time bars, historical and intraday data
- Account query actions: account info, portfolio list, open orders, executions data
- IB events: all ~40 asynchronous events that are sent by the IB server are accessible in Matlab (see below)
- Novice and advanced users – Users can use either simple one-line Matlab commands, or internal objects exposed by IB-Matlab, to access the full range of IB’s API.
- Multiple (FA) accounts – Users can easily connect to multiple IB accounts from a single Matlab session/script.
- Remote access – IB-Matlab can either be installed on the same platform as the IB-client, or on a different machine that will connect to the IB client remotely.
- Event callbacks – Users can easily attach Matlab code (callbacks) to IB events. For example, this enables special operations such as adding an entry in an Excel file, sending an SMS (text message) or email, whenever an order is fully or partially executed, or a specified price is reached.
- Additional functionality – IB-Matlab also provides functionality that is not readily available in the basic IB API: the ability to specify automated trading; specifying custom trades such as brackets or combo spreads; automatically changing unfulfilled limits based on the momentary bid/ask prices; and changing order types at a certain time.
- Compatibility –
- Platforms: IB-Matlab works on all platforms on which Matlab runs: Windows (both 32 and 64 bits), Mac, Linux/Unix.
- Matlab: IB-Matlab works on all Matlab releases since R2006a, including the latest release (R2014b).
- IB clients: IB-Matlab works with both Trading WorkStation (TWS) and the IB Gateway.
- IB API: IB-Matlab works with all IB installations since 2009, including the latest IB API (9.71), and the latest IB clients. Other IB installations (past and future) are also generally supported.
- Performance – IB-Matlab is optimized for performance, providing fast and responsive connectivity. While Matlab as a platform is not well-suited for HFT, IB-Matlab still enables placing multiple requests per second, and receiving dozens of streaming quotes or other IB messages per second.
- Security – IB-Matlab does not transmit any information externally except to IB, so your portfolio and trading information are as safe as your own computer.
- Development – IB-Matlab was developed by an acknowledged Matlab expert, who wrote the textbook bible on Matlab-Java interfacing.
- Support – Custom development and ongoing support is available directly from the developer, with extremely fast response times.
- Client base – IB-Matlab is actively used by hundreds of traders, ranging from individual traders, to hedge funds and banks.
- Backtesting – IB-Matlab does not include backtesting functionality, but can easily integrate with either WFAToolbox or TA Developer backtesting and analysis applications, which can be used to develop, test and deploy trading algorithms, all within the Matlab environment.
No other solution provides this rich set of features – not even close (see comparison). Don’t take our word for it – get your free trial and check for yourself. You will not be disappointed.
- Quick-reference help
- Full User Guide (PDF)
- Usage syntax details
- Usage examples
- Questions & Answers
- Real-time trading system demo that uses IB-Matlab, presented at the MATLAB Computational Finance Conference in New York in May 2013, and at the MATLAB Computational Finance Virtual Conference in Sep 2013 (presentation slides, demo source-code, webinar video).
- Two reviews of IB-Matlab were published in the Automated Trader magazine (2011, 2012). The full reviews (PDF) are available for download here (2011, 2012) – see excerpts below.
- User testimonials – see below
- IB’s online API Guide
Pricing and support
The license for a single user on a single computer for the first year costs $399. This includes installation support, fixing bugs, and any fixes that may be required due to IB API changes.
Annual renewal (including license, support and maintenance) for each following year costs $99.
|To purchase the software license ($399), click here.|
You will be taken to PayPal’s secure checkout to complete the purchase.
To purchase the annual renewal ($99), click here.
Contact us if you require any of the following:
- A fully-functional free trial version
- Multi-year license
- Perpetual license
- Volume (multi-computer) license
- Deployment (compiled) license
- Development (source-code) license
- Custom development of features
Free trial version
A fully-functional free trial version is available – just request your trial and you will get a no-obligations copy with detailed installation and usage instructions. There are absolutely no strings attached: the trial is completely free and fully functional, just limited in duration.
In order to use the trial, you need an active IB account. Since the trial is time-limited, it makes sense to ask for the trial only when you have the IB account ready.
So, do we like it? Well, IB-MATLAB is robust, very easy to learn how to use and does exactly what it claims to do – namely provide a simple and efficient order interface between MATLAB and Interactive Brokers’ API. It also costs peanuts…
So yes, we like it – a lot.
All told, we regarded the enhancements to IB-MATLAB since we last reviewed it as significant. The order submission process was rock solid as before, but the new capabilities really open up the possibilities – especially for trading that is analytically intensive but not high frequency. We were able to deploy multiple models in real time to IB’s trading platform without any difficulties or glitches. …
IB-MATLAB effectively contradicts the declaration we’ve seen on more than a few web sites that “MATLAB is not for real time trading”.
The following testimonials appear on IB’s Marketplace, where IB-Matlab is one of the highest-rated products, with a perfect score of 5.00 from dozens of traders:
- “Excellent product, top-notch tech support.” – nobull
- “Excellent knowledge on Matlab, Java and IB – perfect for automated trading. It was a real joy and I will work with them again.” – human123
- “Excellent software product, customer support and seamless integration. Totally reliable and a superb addition for automated trading.” – gazza75
- “This product is reliable and well documented. The creator is always quick to respond and helpful.” – MacKG
- “I have been using IB-Matlab for three months now and it has been flawless. Great value.” – wajv
- “IB-Matlab is an easy to use end-to-end solution for Matlab users.” – BenTam
- “Excellent. Saves $1600 from Mathworks’ built-in solution.” – muller
- “A quality product at a good price. I find it to work better and in a more flexible way than Matlab’s own IB toolbox.” – Vasastan
- “IB-Matlab allows me to perform fully automated trading, using my own developed code. Yair’s support is very professional. I highly recommend it.” – wimvwijn
- “IB-Matlab is a tremendous product. The documentation is outstanding and Yair is INCREDIBLY responsive to any questions or issues which arise.” – wgpCap
- “I found Yair Altman readily reachable when I have questions and the product has performed well.” – hwshiau
- “IB-Matlab lets you harness the depth and efficiency of MATLAB! It’s intuitive, robust, full-featured, and affordable. Great documentation and support.” – JTrade
- “IBMatlab is a professional Matlab TWS API interface. It works very reliable and is easy to use. The support is very client focused and supportive.” – drepl
- “Excellent product, responsive support and very useful examples/documentation to get you up and running without much work. Highly recommend!” – CharlesM
- “Robust product, user-friendly, hard to say no with the price and level of support. Highly recommended.” – stephenw
- “Great product! Stable platform, very flexible, great support, and easily scaled to implement any automated trading strategy. Well worth the money!” – BenM
- “Worth every dime and excellent support. The possibilities with the combination Matlab/IB seem limitless. The resulting mac system is extremely stable.” – onmac
- “Great product that allows one to utilize the power and flexibility of Matlab to create automated systems.” – jbusse00
- “Good product (IBMatlab): Good range of functionality, Good performance, Good documentation and very good support from Yair.” – unbroken
- “As a former control system engineer, I used MATLAB. I was very excited to hear about IBMatlab. IBMatlab works! Highly recommend!” – kiscl
All these quotes are from real IB traders, who took the time to comment about IB-Matlab on IB’s website. Numerous other traders have provided similar statements by email.
Don’t take our word for it – try it out for yourself!
THIS SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, LOSS OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(detailed disclaimer is available in IB-Matlab’s User Guide)