trading using r on interactive brokers - low-cost online ... · pdf filespeaker: anil yadav ....
TRANSCRIPT
Introduction
• Currently managing a portfolio of equity futures using R & Interactive Brokers
• Algo strategy advisor at iRageCapital • Commodity Portfolio Trader • Trained as mechanical engineer &
post graduation in Business Administration 2
Agenda • Overview of R and TWS • Implementation using R-studio
– Installing the IDE – Introducing IBrokers package – Reference sheet for IBrokers – Viewing account data – Historical Data and Streaming data access – Sending Limit order and StopLimit order – Moving Average cross over strategy – example code
• Robustness and other enhancements
3
R • Quick prototyping after back-test therefore
minimal code changes required • Availability of a variety of packages
implementing statistical functions therefore no need to code from scratch
• Open source • Single Threaded
4
Why use R for Trading • Already are familiar with R and use it for other
steps in your trading analysis • Quickly want to test strategy to figure out
difference between real life and back testing data
5
Installing R Studio • Step 1 – install R
• Step 2 – install R-studio
6
Configuring TWS
7
R studio - View
8
IBrokers Package • Authored and maintained by Jeff Ryan.
• Structure
– CallBack, eWrapper, ProcessMessage
• Reference-sheets
9
> IBrokersRef()
IBrokers package copyright statement IBROKERS IS NOT ENDORSED, AFFILIATED, OR CONNECTED TO INTERACTIVE BROKERS, LLC. INTERACTIVE BROKERS IS TRADEMARKED AND PROPERTY OF INTERACTIVE BROKERS, LLC. IBROKERS COMES WITH NO WARRANTY, EXPRESSED OR IMPLIED, AND IS FOR USE AT YOUR OWN RISK. Copyright 2010. Jeffrey A. Ryan
Account Details and Positions • Connect to TWS on port
10
Data • Define contract • Check contract validity • Get Data
11
Historical Data
12
Data Processing CALLBACK Function
• Wait on Connection
• Read binary data
• Process Message
13
Data –User Defined CALLBACK
14
Sending Limit Order
15
StopLimit Order
16
• Transmit – order displayed on tws but not sent to exchange, user can manually transmit order
• lmtPrice – limit price at which the order is sent to exchange • auxPrice – stop loss price.
Toy Strategy Code
17
Warnings and pitfalls • Risk management module in case the default TWS
risk management system does not catch all strategy specific risks.
• Test case to be written to ensure strategy does not run into order sending loops.
• Code block to ensure order price and order quantity sanity.
• Test cases to run through every time an API upgrade happens so that you can be sure that nothing is broken.
• This is real money now. 18
Robust code for live trading • Requirements
– Handling socket connection losses – Handling error messages from Interactive Brokers – Handling Network errors
• Resource available online – API doc on Interactive Brokers website – Example code available on github by other people – Implementation with 2 R instance on github by
censix (https://github.com/censix - please note this is not an endorsement of that specific
implementation and QI is not connected in anyway with the owner of the blog) 19
Web Resources
20
twsInstrument : R package http://www.londonr.org/presentations/2013/12/LondonR_-_Algorithmic_Trading_In_R_-_Malcolm_Sherrington_-_20131203.pdf
GOOD LUCK!
Take the Next Step with EPAT™
Professionals from 35+ countries have benefited from EPAT™. If you want to learn Python to trade through IB’s API, then enroll for EPAT™ now!
Executive Programme in Algorithmic Trading™
Get Trained by Industry Experts and Build a Successful Career in Algo!
Register here for the next batch on Algorithmic Trading: www.quantinsti.com/epat Duration: 16 Weekends, 100+ hours of live sessions
Quantinsti Quantinsti Quantinsti Quantinsti
Interactive Brokers LLC is a member NYSE, FINRA and SIPC. Hedge Funds are highly speculative and investors may lose their entire investment. Supporting documentation for any claims and statistical information will be provided upon request. [1] According to the Barron’s 2016 online broker review. [2] Based on independent measurements by the Transaction Auditing Group, Inc., (TAG). For additional information see, ibkr.com/info
IB Account Offerings
• Lowest Margin Rates and Commissions • Security Financing real-time depth of
availability and rates protect against buy-ins and recalls.
• Safety of Assets strong balance sheet, large relative equity capital, client fund protection
• Innovative trading technology trade in over 100 market centers in 24 countries, direct market access to stocks, options, futures, forex, bonds, ETFs and CFDs from a single account
• Speed of Execution and Risk Management
IB API Your application, our trading system. Build a complete trading application that connects to our advanced order routing and trading system using our IB Application Programming Interface (API). R Use R’s powerful performance and visualization capabilities in conjunction with your IB API trading application.
Investors’ Marketplace Connect with an established R consultant or R-based tool for custom solutions.
To find out more contact Ankit Shah, Interactive Brokers +91 (22) 61289836 [email protected] Follow IB Quant on LinkedIn: https://www.linkedin.com/company/ib-quant
Interactive Brokers and R – an Innovative Approach to Trading, Portfolio Optimization and Financial Data Mining