With the rise of algorithms, manual trade-related jobs are rapidly 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 to prepare for the changing face of financial markets.
This article is especially aimed at those who want to learn algorithmic trading and wish to set up their own algorithmic trading system. Your success as an algorithmic trader is determined not only by your quantitative skills but it also depends, to a large extent, on the process and the tools you select for analysing, devising, and executing your strategies.
This blog covers:
- Algorithmic trading – An introduction
- Why does one need to know the prerequisites before starting algorithmic trading?
- 5 prerequisites before starting the algorithmic trading journey
- How to proceed after learning about the 5 prerequisites?
Algorithmic trading – An introduction
In simple words, algorithmic trading uses a program that follows a certain algorithm to generate trading signals and place orders.
Each algorithm has access to current and historical prices of financial instruments. These instruments can be bought and sold after performing some price-based computations. The algorithm may even split the order into small pieces and execute them at different times to get the best possible prices.
Why does one need to know the prerequisites before starting algorithmic trading?
The prerequisites are needed in order to make the potential algorithmic trader ready with the necessary skills and knowledge at hand much before beginning with algorithmic trading. These prerequisites help to make the algorithmic trading journey easier.
It should be noted that the algorithmic trading journey is not for those who do not want to put effort into upgrading their knowledge while transitioning from manual trading.
5 prerequisites before starting the algorithmic trading journey
Your success as an algorithmic trader is determined not only by your quantitative skills, but also depends to a large extent on the process and the tools you select for analysing, devising, and executing your strategies.
Let’s get acquainted with the tools required or the five prerequisites for algorithmic trading. The prerequisites are:
- Access to data
- Charting platforms
- The updated computer system
Access to data
The first and perhaps the most important aspect of algo trading is data. Data is an algorithmic trader’s best friend and can be called a “king”. 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 i.e. 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 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
Source: Infofeed for algorithmic traders
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 up to 5 best bid and ask prices and Level 3 provides market depth data up to 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
Level 2 data example – NSE:YESBANK
For new traders, level 1 data is sufficient enough for analysing price charts, devising strategies and arriving at trading decisions. Other types of data are generally used by experienced traders and high-frequency trading firms/institutions.
NSE provides data to the authorised data vendors, (List of Authorised Data Vendors/Redistributors ⁽¹⁾) which in turn, redistributes the data to trading firms and retail traders.
Some data vendors provide Data Feed only, while others provide a charting platform and other analytics for creating watchlists, tracking different markets, strategy development, generating buy/sell signals etc.
A trader can connect the platform with his broker’s platform via a bridge, and have the orders executed. Data vendors usually list the broker partners on their websites, and also the compatibility of their feed with different charting platforms.
Let us take the example of eSignal to list some of the services provided by such data vendors. eSignal is a leading global data vendor which offers three main products –
SIGNATURE is the most popular one, and some of its important features include:
- Streaming Real-Time Data
- Advanced Charting with Customisable Studies
- Stocks, Futures, Forex and Options
- Download Data using Qlink or RTD
- 1-Year Intraday Historical Data
- News, Commentary and Research
Apart from the algorithmic trading platform, eSignal also offers QLink service that makes it quick and simple to download real-time, streaming data into your Excel worksheets. Traders can perform further analysis and build strategies in excel using worksheet functions/macros, and have them executed via Excel API.
As a trader, you must acquaint yourself with different charting techniques and chart-based strategies that can be profitably applied in the markets. Many charting platforms are available with advanced charting features and analytics such as eSignal, MetaStock, etc.
Features offered by these platforms include real-time scanning, a number of technical indicators, expert advisors, backtesting, company fundamentals, news services, placing trades automatically, forecasting, level 2 data etc. A trader should choose an 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
Features of METASTOCK Real-Time:
- Markets Explorer – scan across markets and securities
- Enhanced System Tester – to test your trading ideas
- Indicators & Trading Systems – a comprehensive collection of indicators
- Expert advisor – expert inputs of industry professionals
- Forecaster – a tool to view probable Future Prices
Most of these charting platforms offer a trial period which can be used by a trader to assess whether the platform would fulfil his trading needs.
Before subscribing to an algorithmic trading platform, it is also vital that a trader understands the pricing policy, as these platforms in addition to the software charges also charge for Data Feed, exchange fees, and third-party add-ons separately.
Algorithmic trading involves devising & coding strategies by analysing the historical/real-time data which is procured from the data vendors. Some of the algorithmic trading platforms mentioned above have their own scripting language which can be used for coding & backtesting strategies in the platforms themselves.
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 Python for Trading.
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:
- 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 to implement algorithmic trading strategies in Python on Interactive Brokers in our articles on IBPy and IBridgePy.
As a trader, it is vital to have 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.
The next aspect of 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 software with the broker’s platform
- Gateway APIs offered by the broker
We have gone into great detail about algorithmic trading platforms available in India in this article.
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 APIs offered.
The available APIs 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 portfolios at their convenience using any programming language of their choice (from excel VBAs to Python, Java, and 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.
The updated computer system
By now you must have realised 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 multitasking in live markets.
So, it is essential to have the right computer system that fulfils all these needs without going on occasional breaks and strikes.
After all, 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 multitasking 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 a fast processor, high RAM, multiple monitors with the relevant graphics card(s), a reliable motherboard, and ample storage space.
A trader can purchase the right system after researching his requirements, or by consulting someone having sound knowledge of computer hardware & technology.
Minimum requirements are as follows:
- Processor: Intel Core 2 Duo 2.13Mhz
- Operating system: Windows7 Professional or Ubuntu x64 is preferable if R is required
- RAM: 3 GB DDR3
Visit QuantInsti to learn more about this topic: https://blog.quantinsti.com/5-things-know-starting-algorithmic-trading/.
Disclosure: Interactive Brokers
Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.
This material is from QuantInsti and is being posted with its permission. The views expressed in this material are solely those of the author and/or QuantInsti and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. 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.