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.”
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 LLC, its affiliates, or its employees.
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.
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.