This week CMC Markets announced that they have deployed complex event processing (CEP) in their global trading infrastructure that processes $1.4 trillion a year on over 5,000 trading instruments and over 115,000 trades a day.
You might be thinking - $1.4 trillion in trading? Who is this CMC Markets? CMC is the leading global provider of retail contracts for difference (CFDs) and one of the largest financial spread betting leaders. CMC is a sophisticated, distributed organization - according to Inside Market Data, "the StreamBase platform is being rolled out across CMC's global operations, including offices in Australia, Canada, China, Germany and the UK, and is supporting a wide range of applications including its market-making, risk management, and hedging tools to support trading in FX, indices, futures, commodities, and equities."
This kind of global, mission critical commitment to CEP is important news, so we spoke with CMC’s Chief Information Officer, Asif Adatia, to find out more about CMC, their needs, why they chose CEP, their business results, and their future plans with CEP.
Q1: The AITE Group report from July, 2007 said your average trade volume was about $100 billion monthly. Is that correct now?
That’s an old number. Now we’re at about $200 billion a month or $10 billion a day. For example, if I look at today’s stats we’ve done $7.5 billion now at trading shops.
Q2: Have your trading volumes increased a lot over the last couple of years?
I think all of our stats have increased. We’ve got more clients, more trades per day, which explains some of the re-architecture work we’re doing. Yeah, we’re doing very well at the moment. This business fundamentally is doing very well from a key metrics perspective.
Q3: Right. Can I ask, were your upgrade plans hampered at all this last year by the recession or have you been able to carry on?
Peter Cruddas, our CEO, gave us massive support from a technology perspective. If anything I’ve got more to do. We put a plan together, the board bought into it and it’s pretty exciting. For me it’s phenomenal, we’ve been able to do everything we wanted to do. This re-architecture is an effort to take our business to another level.
Q4: So there hasn’t been anything that had to be put on hold because of the crisis?
No, definitely not from a technology perspective, no. If anything, the question is “can I do more and get it done faster.” I’ve certainly not had restrictions.
Q5: This re-architecture is replacing your existing in-house built architecture. What other technology upgrades are you making?
We’ve got a whole style change from our front end and our transactional engines to our back office. There’s a program over the coming months where we are upgrading all of our systems.
Today, StreamBase is doing pricing, and it’s far more sophisticated than our legacy market maker platform we previously had. Ultimately, StreamBase will replace a lot of the intelligence behind the old system.
Q6: Can you give me a couple of examples? And over what period you will conclude?
So the back office as an example, we started to work on that. We’ve got a batch orientated back office currently, and we’re in the process of creating a real time P&L and cash balances being realized in P&L. Today you wait until the end of the day, you mark the market and you adjust your P&L’s and you realize your P&L then. We’re moving a real time back office. The timing is probably end of year. And then again because it’s so different, there will be a coordinated effect with our marketing and our client service guys. Because it is a big difference from the way we have been working. That’s just one example of many.
Q7: Can you describe the project StreamBase is supporting?
StreamBase supports FX for all of our major currencies, exotics, as well as forwards. It will support indices futures, futures on indices, cash commodities, treasuries and equities, single stock.
Q8: Can you describe how the StreamBase application processes data and pricing for CMC?
We cleanse our prices as they come through. We get multiple feeds from various brokers. We cleanse our prices and we’ve got a reasonably sophisticated model where we look at groupings - if there are multiple feeds coming in and you want to take the best price, you want to take out the ones that are outliers. So the mathematics behind it are sophisticated - it doesn’t just do a standard mean, it takes a look at standard deviation of all of these prices and then looks at the volatility over multi-factor, high frequency scenarios. Then we start to look at which ones are outliers.
As I said StreamBase helps us look at what’s happening and very quickly take algorithms in and out - fix them and put them back in as well.
Q9: What are your FX market data sources?
I can’t give you the names but it’s primarily the usual suspects. Tier one brokers provide liquidity and pricing to firms like ourselves. We’ve got quite a few brokers that we deal with and their price feeds. We’ve also got feeds for other asset classes. And along with the brokers, we have multiple data feeds from vendors, exchanges, alternative ECNs and OTC price providers
Q10: Are you using the StreamBase adapters to connect directly to those price feeds?
Yes, it’s actually is a combination. StreamBase provides feed handlers. So very quickly we were able to connect and use the StreamBase feed handlers. And then we’re in the process with some of our brokers, again, StreamBase allows us to connect to our own feed handlers so we do that. So as I said at the beginning flexibility was one of the key criteria. StreamBase offers that to us as well. So we can mix and match.
Q11: Are you live?
Yes, we’re live now.
Q12: You mentioned scalability and performance - what kind of demands are you putting on the StreamBase system now? I’m thinking updates, latency, that kind of thing?
So at the moment we’re able to process 17,000 ticks per second on FX. It doesn’t really hurt the system or the processes that much. And we’ve got it scaled up to for twice as large as that. Can it handle our peak? Our peak to date has been nowhere close to 17,000 at the moment. We’ve got what we call a non-functional regression test environment where we just overload it. We overload our environment and haven’t broken it. We've got so much going on right now that if it can cope with double our peak, we can focus on other things.
Q13: So what kind of a difference will users notice? What’s going to be different for them?
If you look at FX pricing live right now our spread is pretty much in line and competitive. We used to have an issue back in before we implemented some of this. We used to have issues with latency. Those problems have disappeared now. We’re able to process a lot more - about 17,000 ticks a second, which is pretty cool. We’ve still got plenty of headroom as well. And we’re also now taking multiple feeds in.
From a usability and user experience, clients will just get better pricing, no re-quotes as we roll this out across all of our asset classes. Re-quotes will disappear, type of spreads, better spreads. We’re able to handle volatile markets - Fed announcements; all of that kind of stuff is no longer an issue for us. We’re probably one of the few retail players out there that if you’ll notice during any highly volatility period, CMC markets are usually there providing two way quotes. So that, I think, is the upside for clients that our infrastructure is solid in times of high volatility.
Q14: Can you describe two way pricing? It’s one of your differentiators right?
The ability to quote a two way price is not the issue - the ability to quote and allow you to trade at that price is the difficult part and our systems can do that - especially for FX, as we add more asset classes to our new infrastructure we should be able to do the same for all asset classes, hence the urgency to get everything done yesterday.
Q15: So what makes your pricing better? Is it just the lower latency?
I think it’s a number of things. Yeah, it’s latency, it’s flow. It’s lower latency, robust feeds, and having multiple feeds coming in. The result is to offer the retail client almost institutional pricing, which is unique.
Q16: Can you put your latency improvements in numeric terms?
We’re able to handle 17,000 ticks per second from multiple sources. Previously we looked at probably 3000 ticks per second. This doesn’t make a big difference during normal trading days, but when volumes start to pick up - and this is only one asset class - we’re able to process this number of ticks and still be able to provide a two way price, a clean price you’re able to trade on in milliseconds. That’s the upside. Market data is a big issue for all the vendors - even the big players out there. I won’t mention any names but during summer last year you will notice that there were massive delays in all of the larger players out there with respect to providing prices to clients in general. And, again, we believe that now those kinds of delays have disappeared from our architecture. So can I quantify the number of ticks per second? We can handle the latency that we’ve got, yes, but it’s an improving target. And one where, because of the StreamBase multi threaded architecture, we can run it across multiple CPU’s now. If we ever get a bottleneck we just plug in another blade, pull up another service, and we get better latency and better pricing.
Q17: So the scalability is obviously great. Do you have any metrics you want to offer that quantify the latency you’re experiencing?
No, we don’t give them out. Speed is a strategic advantage for us, so we think those numbers are competitive information.
That’s all right, fair enough.
It’s good though and you can compare us on FX pricing to a bunch of our competitors. And you will see our performance is noticeably better at times. Absolutely.
Q18: Okay. You mentioned initially in the beginning the broader investment in your architecture. Is that correct?
Yeah, we are in the process of rethinking a lot of our systems and our core systems at the moment. This is just part of that.
Q19: What other applications will you use StreamBase for?
Yeah, the flexibility of the platform is the key thing for us. There are lots of ideas - for example, surveillance. Again, the concept behind surveillance is that you want to process a large number of trades and constantly be able to look at patterns. From what we know of StreamBase, it could lend itself well to that. But, again, we’re going through pricing first then risk - the classics. We’ll do the classics first and then all the other added value things we may want, because we have the infrastructure in place now.
Q20: And when you say when you look into the future you might use it for surveillance purposes, will that be looking at clients? Or is that more for looking at potential opportunities that you might have been missing, or is it a bit of both?
It’s a bit of both actually. Surveillance is a broad area. One of the things we do is look for people behaving badly. So you want to be able to protect the firm from people doing financial fraud. You want to be able to stop fraud before it happens because you want to be able to flag that in real time. StreamBase will be capable of that as well. So there’s a number of projects, again, that we would look at after we’ve done the basics.
What makes this possible is that because the StreamBase infrastructure is there, the tools are there, the adapters are there to feed the platform. Then it’s a matter of just gluing it together.
Q21: Right, okay. Very interesting. Are you going to then be incorporating this into your market maker platform? That’s the trading platforms that you guys have.
Q22: So this is deployed across your entire enterprise?
Yes, it is global deployment.
Q23: How long did it take you to deploy the system?
Q24: What were your requirements when you were looking for a solution and why did you choose StreamBase?
We wanted two things: a scalable solution, and a flexible solution. We’ve got a bunch of financial engineers that want to be able to prototype or even test different models and scenarios. And we wanted that to be as easy as possible, so ease of use was a big part of the criteria.
Q25: So you selected StreamBase CEP over other CEP products for its simplicity of development, performance, and scalability. Is it working?
Yes - the flexibility of StreamBase is key to us - so much so that we’re finding new uses for it. We originally brought it in for pricing and risk, and now that we understand the concept and some of the things it can do, it should facilitate other projects as well.
Q26: Can you talk about performance - was that about latency or capacity management?
With performance it was a combination of things. The number of ticks, as you are probably well aware, of market data, isn’t going down. So it’s the number of ticks you can process and how you can scale across multiple different environments. It’s the number of different feeds you can then handle. That was part of the criteria.
And then it was the ease of managing all of that performance infrastructure. Clearly there are definitely products out there that can do some of these things, but it was the combination of speed and ease of use that was critical. And at the end of the day for us, the overriding factor actually was the financial engineers signing off, because they could participate in the process and work with the StreamBase tools. They felt we can make this product work for us. We like this product.
Q27: When you were doing an evaluation of different CEP platforms, what did the evaluation entail?
There was performance, scalability and ease of use and how our financial engineers found the products in general. So when we did look at the other guys, one of the nice things we liked about StreamBase was the development environment, StreamBase Studio. The Studio environment is intuitive; it allows the financial engineers to put models together. It’s graphical. You can connect it together quickly. It’s quite novel and we like that.
So StreamBase had to meet both the technical requirements as well as the financial engineers’ requirements. And StreamBase met both those needs quite well.
Q28: You mentioned that you initially used Apama. Why did you drop Apama?
As I mentioned, the ease of development for both financial engineers and technical engineers, the performance, and scalability of the platform were our key criteria. We dropped Apama because we liked StreamBase better from all of those criteria.