Saturday, July 04, 2009

Microsoft inside the exchange

Microsoft has long faced by a credibility gap in getting into mission critical, enterprise settings. One initiative they embarked on was the `TradElect' system which did trading at London Stock Exchange. This trading system was built by Microsoft and Accenture who were keen to prove that it could work. It utilised a series of Microsoft technological components. It was used in ad campaigns by Microsoft [image credit] who claimed that if they could handle London Stock Exchange then they are ready for Serious applications [example, until they take down the page].

This is not as much of a big deal as meets the eye. The London Stock Exchange is a famous and well known brand name, but it's not particularly a big exchange by world standards. That is, it's not a really demanding IT problem. Here's some data, from the June newsletter of the World Federation of Exchanges. At page 39, they show the number of trades through order matching that are seen on all member exchanges for Jan-May 2009, a period of five months. I have added one column where I translate this into trades per second under the assumption that there were 110 trading days in these five months and trading took place for six hours a day.

ExchangeMillion trades (Jan-May 2009)Estimated trades/s
NYSE Euronext 1403 590
Nasdaq OMX 1167 491
Shanghai 794 334
NSE 602 253
Shenzhen 456 191
Korea 371 156
BSE 222 93
Taiwan SE 108 45
London SE 72 30
NYSE Euronext (Europe) 70 29
Hong Kong Exchanges 53 22

This shows NYSE and NASDAQ at 590 and 491 trades per second, which is a challenging IT problem. The two big Indian exchanges -- NSE (rank 4) and BSE (rank 7) -- are also difficult problems at 253 and 93 trades per second.

These are averages for the system load; in this business there is an extreme peak-to-average ratio. E.g. NSE routinely exceeds 1000 trades/s and occasionally does a lot more. There are days when half of the days activity happens in the last 30 minutes. So the IT challenge is much bigger than the average trades/s seems to suggest.

In this ranking, London Stock Exchange is not that big; it's ranked 9th in the world and does an estimated 30 trades per second on average. So it was a good choice for a certain kind of vendor who tries to make a point using a toy problem which does not sound like one. When sizing an IT system, it is peak load that matters, of course. But the ratio of peak to average is likely to be similar for all the above exchanges. Hence, NSE is likely to be a much bigger problem than LSE whether you measure by average load (as shown above) or by peak load.

The story seems to have gone badly wrong for Microsoft. LSE consistently failed to match rivals like Chi-X, which run Linux, in becoming a credible choice for algorithmic trading. Then there was a day when the trading system collapsed (9 Sep 2008).

This played a role in the CEO of LSE, Clara Furse, getting sacked. The new CEO, Xavier Rolet, is said to have decided to dump TradElect. Here's the story, by Steven J. Vaughan-Nichols.

To be sure, complex engineering projects can fail for many reasons. But it's ironic that the marquee adoption at an exchange, that was advertised by Microsoft as proof that they had arrived, should have flamed out like this despite direct staff involvement from Microsoft.

1 comment:

  1. As an industry observer I watch the exchange space closely. Your comments about the Indian Exchanges is great. I believe the NSE, on a regular basis does thousands of trades per second. If I were Xavier Rolet, I would be picking up the phone and calling the MD of NSE to seek help..aMit

    ReplyDelete

Please note: Comments are moderated. Only civilised conversation is permitted on this blog. Criticism is perfectly okay; uncivilised language is not. We delete any comment which is spam, has personal attacks against anyone, or uses foul language. We delete any comment which does not contribute to the intellectual discussion about the blog article in question.

LaTeX mathematics works. This means that if you want to say $10 you have to say \$10.