Introduction
What is IBridgePy?
IBridgePy is a flexible and easy-to-use Python platform that helps traders to backtest and live trade algorithmic and automated rule-based strategies with different brokers, including Interactive Brokers, TD Ameritrade and Robinhood.
The main features of IBridgePy are:
- Protect your privacy and intellectual properties by setting up a trading platform on your own computers or servers on cloud. Refer to this tutorial
- Backtest and live trade together without any code changes. Refer to this YouTube tutorial
- Manage multiple accounts at the same time. Refer to this page for more info
- Use any python packages to accelerate the development
- Run Quantopian-styled strategies with minimal changes
- Try multiple strategies at the same time. Refer to this YouTube tutorial
- Retrieve historical data from 3rd party data providers
Motivation of the development of IBridgePy
Algorithmic trading has been considered to be complicated and expensive, and is mainly implemented by institutional traders. For example, Elsen provides comprehensive algorithmic trading solutions with API available in all main stream programming languages, but there is a significant cost to use the software. Emerging technologies has brought the barriers of algorithmic trading lower and cheaper than ever. As a good example, Quantopian provides a Python based platform which allow users to backtest and deploy algorithmic trading strategy at no cost (as of 05/03/2015). Quantopian has gained popularity and attracted many people to use the Python based algorithmic trading platform. However, Quantopian has a lot of limitations which are unlikely to be removed shortly. First, Quantopian can trade only equities at the moment, while many traders are interested in Forex, futures, etc. Second, Quantopian has a limited list of Python packages which are allowed to be used and users could not change them easily. Finally, although Quantopian hided many programming complexity from users, it is not trivial to debug when there is a problem because you don’t have access to all the source code and log info. If you have a trading platform similar to Quantopian, you can trade security you want, use any python package that is useful to you, and look as deep as necessary into the source code for debugging, and that is the motivation of IBridgePy.
Features of IBridgePy
-
Flexible
You can trade Any securities that Interactive Brokers provides using IBridgePy, for example, stock, futures, options, forex and many others.
You can use Any Python packages that you want to use.
You can get Any data sources from anywhere, such as Yahoo and Google.
You can utilize tick based data provided by Interactive Brokers to design complicated trading strategies, even high frequency trading strategies. -
Easy-to-use
IBridgePy wrapped up IB API’s complexity behind the scenes and offer you a much simpler solution. You may complete your automated trading strategy within an hour because you don’t need to worry about managing placed trades and pending orders, coding details about requesting historical data and real time quotes, etc. We have taken care of those so that you can focus on developing your strategies. -
Privacy
You have 100% control of your strategies because you run your programs on your computer, not other’s platform.
IBridgePy vs. IB’s native Python API
- IBridgePy supports both of Python 2.7 and Python 3.x
- IBridgePy provides lots of easy-to-use funtions
- IBridgePy takes care of account information
- IBridgePy manages multiple IB accounts
Advantages of using Python to do trading with Interactive Brokers
Compared with C++ and Java, Python lets you get most tasks done more easily and more quickly with less mental overhead so that you can try your new trading ideas much faster. Also, You may just simply google the Python packages that you want to use, download and install them, and start to use them in a short period of time because a huge standard library has been built.
What is Python?
- Python is a generic computing language and tutorials about python features are widely available.
- Python is easy to learn.
- There are so many open source packages to build your projects quickly.