Friday, 28 August 2015

Trade system performance - state of the art

I get asked about this a bit. What latency, wire to wire, stimulus to response, would be state of the art for a trading system or EMS?

How quaint: 1 ms == 1,000,000 ns
Ask two people and you'll get seven opinions. This post represents my current meandering point of view. At least until later today, perhaps.

First, a little historical context.  A little after the turn of the century, I started a new job at Susquehanna. Someone had drawn with a marker the important goal for the team on the window. It simply said, "< 2ms." In those ye olde times of yore, the fastest vendor system going around was Orc's Liquidator which was not far from around 0.5 ms with its approximately seven figure price tag. Seems positively Penny Farthing now. Today we count nanoseconds.

Ignoring other factors, which are almost always more important, my view on state of the art engineering, assuming a 10G connection, is roughly:

Hardware
Ho-hum <  2,000 ns
Good <     500 ns
Excellent <     100 ns


Software
Ho-hum < 10,000 ns
Good <  5,000 ns
Excellent <  2,000 ns

Today, low latency is a necessary but insufficient condition for success. Sufficient speed is assumed. You have to dial in your peculiar "sufficiency" for your circumstance. Fast enough with an eye to cost as you can only win with trades you can afford to do. Low latency capabilities are now widespread and thus the main focus is typically elsewhere.

However, we all need to remember, Knuth's "premature optimization is the root of all evil" does not apply here. Architecture has to be planned. Too late is too late.

Waste not, want not.

--Matt.


The following Asset Managers need to select their tools with greater care:


1 comment:

  1. I'd be curious to know what your ultimate setup looks like. What's your favourite NIC these days?

    ReplyDelete