5 Things to know before starting Algorithmic Trading
By Milind Paradkar
With more than 70% of the trading volumes in the US markets being automated, the rise of the algorithms seem more inevitable than ever before. The mechanical jobs are shifting to computers and only those who can tame the machines can rule the trade markets. Equipping oneself with the skills of Algorithmic trading is one of the best ways prepare for the changing face of financial markets.
One of the recent trends in markets has been the emergence of DIY traders. By day, they do their regular jobs and by night they run their algorithmic trading strategies after putting their children to sleep. This article is specially aimed at those who want to learn algorithmic trading and wish to set up their own trading system. Your success as an algorithmic trader is determined not only by your quantitative skills but also depends on a large extent to the process and the tools you select for analyzing, devising, and executing your strategies. Let’s get acquainted with the tools required for the trade!
1. Data is everything (well almost!)The first and perhaps the most important aspect of algo trading is data. Data is an algorithmic trader’s best friend. A trader needs to have access to data for the respective segments of the exchange that he intends to trade in. How does this data originate in the first place? Let us take the case of an emerging market’s exchange:
The National Stock Exchange of India Limited (NSE)
NSE provides market quotes and data for Capital Market Segment (CM), Futures and Options Segment (F&O), Wholesale Debt Market Segment (WDM), Securities Lending & Borrowing Market (SLBM), Currency Derivative Market Segment (CDS) and Corporate Data.
These quotes are provided by DotEx International Ltd., a 100% subsidiary of NSE dedicated solely for this purpose. It broadcasts real time data to various information agencies. NSE provides the 5 different types of data products viz.
- Real Time Data (Level1, Level 2, Level 3, and tick by tick data)
- Snapshot Data
- End of Day (EOD) Data
- Corporate Data
- Historical Data
Now let us try to understand level 1, level 2, level 3, and Tick-By-Tick (TBT) data.
Level 1 data includes the Best Bid and Best Ask, plus the Bid Size and the Ask Size. Level 2 provides market depth data upto 5 best bid and ask prices and Level 3 provides market depth data upto 20 best bid and ask prices. Tick-By-Tick (TBT) data includes each and every order or a change in the order.
Level 2 data example - NSE:YESBANK
For new traders, level 1 data is sufficient enough for analyzing price charts, devising strategies and to arrive at trading decisions. Other types of data are generally used by experienced traders and high frequency trading firms/institutions.
NSE provides data to the authorized datavendors (List of Authorized Data Vendors/Redistributors) which in turn redistribute the data to trading firms and retail traders. Some of the datavendors for the Indian markets include:
eSignalLet us take the example of eSignal to list some of the services provided by such datavendors. eSignal is a leading global datavendor which offers three main products –
- Streaming Real-Time Data
- Advanced Charting with customizable Studies
- Stocks, Futures, Forex and Options
- Download Data using Qlink or RTD
- 1 year Intra-day Historical Data
- News, Commentary and Research
2. Charting PlatformsAs a trader you must acquaint yourself with different charting techniques and chart based strategies that can be profitably applied in the markets. There are many charting platforms available with advanced charting features and analytics. Some popular charting platforms among traders include: algorithmic trading platform based on his trading style, features and pricing.
Let us take the example of MetaStock to list some of the features of charting platforms. MetaStock is a very popular platform and offers solutions for individual end of day traders, real time traders, and FOREX traders. The basket of products offered includes:
- METASTOCK Real Time
- METASTOCK XENITH
- METASTOCK Daily Charts
- Third Party add-ons
- Markets Explorer – Scan across markets and securities
- Enhanced System Tester – to test your trading ideas
- Indicators & Trading Systems - comprehensive collection of indicators
- Expert advisor - expert inputs of industry professionals
- Forecaster – tool to view probable Future Prices
3. It is all about Programming, baby
Algorithmic trading involves devising & coding strategies by analyzing the historical/real-time data which is procured from the datavendors. Some of the algorithmic trading platform mentioned above have their own scripting language which can be used for coding & backtesting strategies in the platforms itself.
When Van Rossum started working on Python to keep himself occupied during his Christmas week, he wanted to make an interpreter that would appeal to Unix and C hackers. However, today Python is one of the most appealing languages for algorithmic traders all over the world. The reason is very simple and can be found here.
Using languages like Python, Java and Matlab for trading on trading platforms is a method which is extensively used by algorithmic traders. There are hundreds of external analytical packages that can be used in these languages which aid in developing various trading strategies like momentum based, mean reverting, scalping, strategies based on machine learning algorithms, sentiment based strategies etc. We use external wrappers to implement codes written by us into the trading platform. We have talked about using two such wrappers which can be used implement algorithmic trading strategies in Python on Interactive Brokers in our articles on IBPy and IBridgePy.
Hence, as a trader it is vital to have a sound programming knowledge to trade successfully in the markets. QuantInsti’s EPAT™ course includes Python, R, and MATLAB wherein the students not only learn the basics of programming, but also learn to devise different strategies for different markets using these languages.
4. Brokers Brokers BrokersThe next aspect in algorithmic trading is choosing the right broker. Considerations that go into choosing the right broker include:
- Speed and reliability of the trading platform
- Segments offered
- Leverage and the margin requirements
- Compatibility of charting softwares with the broker’s platform
- Gateway api’s offered by the broker.
- Interactive Brokers
- Presto ATS by Symphony Fintech
- Composite Edge
- Lightspeed trading
As an algorithmic trader who wants to automate the trading process you can execute your strategies in live markets via charting platforms that connect to your broker or through the gateway API’s offered. The available API’s are usually listed by the broker on their websites.
Some brokers like Zerodha offer platforms which are a set of simple HTTP APIs built on top of their exchange-approved web based trading platform. This enables users to gain programmatic access to data such as profile and funds information, order history, positions, live quotes etc. In addition, it enables users to place orders and manage portfolio at their convenience using any programming language of their choice (from excel VBAs to Python, Java, C#).
Thus for a prospective trader it is essential that he gets himself acquainted with the workings of an API and other relevant features offered by the broker’s platform.
5. A System to beat the heat of algorithmic tradingBy now you must have realized that as an algorithmic trader you will be working with different applications (charting platforms/Programming tools/Broker terminal /News feed etc.), dealing with huge data for backtesting, and multi-tasking in live markets. So, it is essential to have the right computer system that fulfills all these needs without going on occasional breaks and strikes.
Afterall, that is the aim of automation, to get things done smoothly and quickly (and of course, devoid of emotions). Trading with a laptop is not reliable, and would limit your multi-tasking abilities. Therefore, it is advisable to use a high-end desktop system with multiple monitors for algorithmic trading.
You’d need reasonable desktop machines with fast processor, high RAM, multiple monitors with relevant graphic card(s), reliable motherboard, and ample storage space shall do. A trader can purchase the right system after researching on his requirements, or by consulting someone having a sound knowledge of computer hardware & technology.