Asset Classes

Free investment financial education

Language

Multilingual content from IBKR

Close Navigation
Learn more about IBKR accounts
Learning Python in the Real World, with IBKR API Support

Learning Python in the Real World, with IBKR API Support

Posted August 23, 2023 at 11:54 am
Burt Shulman
Interactive Brokers

Picture this: you set up IBKR filters every morning to scan the markets for the top three companies with certain key intraday attributes. You would like to run these scans all day to ensure that you take advantage of opportunities whether or not you are sitting at your computer, but you also need time to trade.

Your situation is ripe for an algo, and IBKR's APIs make building algos relatively easy. Once your algo is done, you’ll never have to run those scans manually again.

Andrew Wise, IBKR API Support Specialist, says that some traders hesitate to try writing their own programs because they have not yet used the languages IBKR APIs work with – Python, Java, C#, C++, VB, and countless third party projects that provide support in R, Ruby, or the Python alternative, IB-insync and more. He says using them is easier than you might think.

“The best way to learn Python, or any other languages with IBKR APIs is step-wise. Before you do any programming, review our tutorials. Break down every action your program needs to execute. Python uses bits and pieces of existing programs to build new ones, so you won't be starting from scratch. Also, in TWS you can create a paper account and test what you're doing without risk. If there's a mistake, just hit reset, make adjustments and try again.”

IBKR APIs are built for “do-it-yourself” clients, and Wise says there are primarily two kinds: traders who feel they don't know enough about programming and programmers who feel they don't know enough about trading. The first kind is more common, and though Wise says it can take a little effort to show them they can do it, the results make it worth their time.

He cites a real-world example.

“I had a client who was a sophisticated trader, an expert at point-and-click execution. He'd developed a ‘rinse-and-repeat’ strategy, which he knew so well he hardly had to think about it. but executing it manually took time. He called us to ask if automation could help.

“When we started working together, he quickly got frustrated and gave up almost immediately. The funny thing was, the programming wasn't the problem. It was the trading. Before you start you have to map out exactly what an algo will need to do, and when we started to do that, it was as if he'd never traded before. It turned out that he'd never had to learn certain parts of the underlying mechanism of a trade because TWS ran it all in the background.”

A few weeks later, he called back, ready to try again.

“We walked through some programming basics. The light bulb went on when he reviewed the tutorials. Once we mapped out the trading process, we started building the algo using Python, which he picked up faster than he expected. After that, it was trial and error. These days he is very satisfied and confident that he can keep refining what he's done.”

Wise adds, “We designed our APIs so that using Python to build an algo that executes your strategy is the easier part. As you'd expect, the harder part is developing the strategy.”

Learn more

Python TWS API | Trading Course | Traders' Academy | IBKR Campus

Trading Using R | Trading Course | Traders' Academy | IBKR Campus

Excel and the TWS API | Trading Course | Traders' Academy | IBKR Campus

IBKR's Client Portal API | Trading Course | Traders' Academy | IBKR Campus

Join The Conversation

If you have a general question, it may already be covered in our FAQs. If you have an account-specific question or concern, please reach out to Client Services.

2 thoughts on “Learning Python in the Real World, with IBKR API Support”

  • Juan Carlos perlacia

    Hello l have a strategy build an python and want to learn how l can put it together to trade automatically and the IBK platform vía API front the cloud or traidingview platform, what kind of curse have to take to learn that please thanks you

Leave a Reply

Disclosure: Interactive Brokers

The analysis in this material is provided for information only and is not and should not be construed as an offer to sell or the solicitation of an offer to buy any security. To the extent that this material discusses general market activity, industry or sector trends or other broad-based economic or political conditions, it should not be construed as research or investment advice. To the extent that it includes references to specific securities, commodities, currencies, or other instruments, those references do not constitute a recommendation by IBKR to buy, sell or hold such investments. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.

The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Interactive Brokers, its affiliates, or its employees.

Disclosure: Order Types / TWS

The order types available through Interactive Brokers LLC's Trader Workstation are designed to help you limit your loss and/or lock in a profit. Market conditions and other factors may affect execution. In general, orders guarantee a fill or guarantee a price, but not both. In extreme market conditions, an order may either be executed at a different price than anticipated or may not be filled in the marketplace.

Disclosure: API Examples Discussed

Throughout the lesson, please keep in mind that the examples discussed are purely for technical demonstration purposes, and do not constitute trading advice. Also, it is important to remember that placing trades in a paper account is recommended before any live trading.

IBKR Campus Newsletters

This website uses cookies to collect usage information in order to offer a better browsing experience. By browsing this site or by clicking on the "ACCEPT COOKIES" button you accept our Cookie Policy.