Are things Between Algo Firms Equal? — Part 2

Deepak Sanchety
3 min readMar 7, 2019

--

This is part 2 of the 2 part series of why things can’t be considered equal across algo trading firms. In this part I explore the role of software in HFT. There is very high innovation in these firms. Read part 1 here.

Image coutesy : www.industries.ul.com

World over, Algo trading firms use in-house custom developed software and hardware. We can divide the evolution of HFT in India in three distinct phases.

Phase 1 (pre 2010): There were few Algo players and most of these players used Empaneled Software Vendors (ESV) for their Algo software requirements.

Phase 2 (2011–15): With introduction of co-location, the number of players in the Algo industry began to explode. Not only did more ESVs enter the market, but a few players also began to write their own softwares. This phase is marked by significant rise in players using their own in-house Algo software.

Phase 3 (2016-): Almost all Indian brokers and well established worldwide Algo players have established their presence in Indian HFT space. Most of these players have large in-house teams to develop Algo software. This phase is marked by rise in in-house development and fall in use of ESV software.

The Algo software often runs into millions of lines of code and uses latest hardware and software techniques. More often than not, this software creates a significant differentiation between players. The customization is usually done in operating systems, tick processing, algorithms, risk management and order management. The differentiation in software execution times easily run into hundreds of milli-seconds. To put into perspective, the tick dissemination to all members in the NSE TBT system takes maximum of about a few hundred cycles, where cycle refers to less than 1 millionth of a milli-second. For processing a single tick by the trading members’ software before an order can be generated based on the tick, it takes more than a million cycles.

Jitter is a technical term used to refer to the variation in speed of different data packets as they travel from one point of a computer system to another point. Every piece of computer hardware carries its own jitter. One tick is composed of hundreds of data packets, which are required to move within a system as the tick is processed. Since each software running on hardware experiences jitter, the jitter itself is sometimes more than thousands of cycles.

With such large jitter in the system, would a hundred cycles make any difference? Does adding a single drop of water in a bucket make any difference, especially when some buckets might be filled more than the others?

In the next set of articles I’ll write about the TBT data dissemination architecture in detail.

All articles are here. The author advises market participants in legal matters related to securities markets and has advised some noticees in this matter also.

--

--

Deepak Sanchety

Engineer, retired bureaucrat (IRS), Ex-Chief of Market Surveillance at SEBI. Advisor to corporates and market participants. Technology enthusiast.