Tutorial: install IBridgePy and run an examples


Tutorial: install IBridgePy and run an example

There is a risk of loss when trading stocks, futures, forex, options and other financial instruments. Please trade with capital you can afford to lose. Past performance is not necessarily indicative of future results.
Nothing in this computer program/code is intended to be a recommendation, explicitly or implicitly, and/or solicitation to buy or sell any stocks or futures or options or any securities/financial instruments.
All information and computer programs provided here is for education and entertainment purpose only; accuracy and thoroughness cannot be guaranteed.
Readers/users are solely responsible for how to use these information and are solely responsible any consequences of using these information.
If you have any questions, please send email to IBridgePy@gmail.com
All rights reserved.

Step 0: Prepare

For Windows users, Anaconda Python is required. Python 2.7 or 3.6 or 3.7.

For Ubuntu users, please DO NOT install Anaconda.  IBridgePy supports Ubuntu plain Python 2.7 or 3.7 64-bit.

For Mac usersIBridgePy supports plain Python 2.7 64-bit, plain Python 3.7 64-bit and Anaconda Python 2.7 64-bit.

Step 1:  Download IBridgePy to your local folder

You need to check the version of your Python, either Python 2.7 or Python 3.x and check if it is 32-bit Python or 64-bit Python. Then, download IBridgePy according to your Python version from www.IBridgePy.com/download
Assume the path of the folder where you save IBridgePy is C:\ABC\DEF\IBridgePy

Step 2: Download, install and config IB Trader Workstation(TWS) or IB Gateway

Please follow the instruction in this webpage to download, install and configure IB Gateway or IB Trader Workstation (TWS)

Step 3: Log in TWS or IB Gateway

IBridgePy can trade using either IB live accounts or paper accounts. It is highly recommended to test your strategies in a paper account. If you don’t have an IB account yet, you can apply a paper account. After you finish this step, either IB Gateway or TWS should be open and active.

Step 4: Spyder is not required to run IBridgePy

Spyder is not required but it is recommended for Windows users. Other IDEs can be used as long as the correct Python executable file is used.

Step 5: Edit RUN_ME.py in Spyder (Spyder is not required, for demo purpose only)

Open RUN_ME.py  (C:\ABC\DEF\IBridgePy\RUN_ME.py) in Spyder.

Put your IB account code into RUN_ME.py


 Step 6: Run your algorithm in Spyder.

Actually, you need to run RUN_ME.py to run your algorithm in Spyder so that you can think RUN_ME.py as a main entrance to any customer’s algorithms. In Spyder, you can click “F5” or the green triangle to run a Python script.


Step 8: Watch out any error messages

After IBridgePy completes its initialization procedures, it will print out a summary of your accounts. If you see a similar summary, it means that IBridgePy gets connected with IB Gateway / TWS successfully.


If you see any error messages, you may follow the error messages to debug.

There are many reasons for errors. You may debug from the following areas:

  1. The bugs come from IBridgePy. We will try our best to fix the bugs coming from IBridgePy.
  2. IB servers may not response as you expect. For example, you may not receive historical data around 6PM eastern time, 1:30 AM eastern time because of IB maintenance or data server updates.
  3. Demo account, paper account and live account behave differently.
  4. Bugs in customer’s algorithms.

13 comments on “Tutorial: install IBridgePy and run an examples
  1. tony says:

    Do I need to uninstall official Python 3.6.4 and Python Launcher before installing Anaconda?

  2. tobyBull says:


    For Mac or Ubuntu user, please DO NOT install Anaconda <– if i don't install Anaconda, how can i download spyder?

    and i hv Python3.6 installed, and IBridgePy is 2.7 for Mac, can it works ?


  3. IBridgePy says:

    Try python 2.7 on Mac.

  4. yliu31 says:

    Hi Dr. Liu,

    I followed instruction and try to run the first example: example_show_positions.py. But got the following error message:

    brokerName = InteractiveBrokers; dataProviderName = InteractiveBrokers
    runMode = regular
    IBridgePy version 3.1.6
    fileName = example_show_positions.py
    IBridgePy.IBAccountManager:EXIT errorId = -1, errorCode = 326, error message: Unable connect as the client id is already in use. Retry with a unique client id.
    IBridgePy.IBAccountManager:EXIT IBridgePy version = 3.1.6
    An exception has occurred, use %tb to see the full traceback.


    Spyder would not trace the super_configuration.txt file, so I am stuck and don’t know what to do.

    Could you give some clue? I am sure I don’t have a second client trying to access TWS. Shouldn’t an previously exited program automatically release the client id?

    Thanks very much for your help.

  5. yliu31 says:

    Now I understand. The program, once ran, doesn’t really exit, it stays there. So when you try to run it again, the client id is already in use.

    • sgmacr087 says:

      Could you elaborate ?
      I am not familiar with Python but I can understand basic script.
      I am getting this error while few weeks ago I did not and I could send order to IB.
      Now I cant.

  6. mattage86 says:

    I got it now. I was running Python 3.7 and had to rollback to 3.6.

  7. alexmarian says:

    Hi ! I executed the code and I receive the following error:

    Exchange of FUT ECF is missing.
    Please add this str_security in IBridgePy/security_info.csv
    An exception has occurred, use %tb to see the full traceback.

    Do you have a sollution to this ? Thank you very much for your help

  8. Ask@2019 says:

    I executed RUN_ME.py and got error message
    File “…\IBridgePy\IbridgepyTools.py”, line 29, in
    from IBridgePy import IBCpp
    ImportError: DLL load failed: The specified module could not be found.

    But file IBCpp.pyd exists!!!

Leave a Reply

Your email address will not be published.