Here at LMAX we've been working dead hard to deliver more features and more ways to access the platform, and we've neglected the poor blog.
There are a few things of note that are worth mentioning from the LMAX technology camp:
Mike Barker is featured talking about the Disruptor on the Distributed Podcast.
Mike, Trisha Gee, and Andy Stewart all gave presentations at QCon London. Links to the presentations will be posted as soon as they are available.
And there are more events that we're going to be at too:
Trisha is presenting about the Disruptor at GOTO Copenhagen and GOTO Amsterdam at the end of May. You can get a discount on your tickets for the event by using the code "gee1000".
Quite recently we had a customer come to us with a question regarding the Execution events received on the API. The question was: "How do a I recognise the last execution event for a given order event?" This is a little bit tricky in the Java API as it does not behaviour exactly the same way that FIX does. E.g. If an individual order with a quantity of 30 aggressively matches multiple price points (quantity of 10 at each) on the exchange, a fix user would expect would expect:
As our API is based upon our XML protocol the information that we can return on the API is restricted to what we receive in those events. For a similar scenario over our XML protocol only emits a single order event at the end of the matching cycle, therefore the data output would be:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
So the Java API does not have the information about the individual filled quantities as a result of each execution only the final state of the order. This can make it a little tricky to find which execution event represents the end of the matching cycle. The information seen by a user of the Java API for the same scenario would be:
However, it is possible to use some of the additional events that are available on the Java API to derive the same behaviour. By listening to both Execution and Order events we can track the cumulative quantities as we go. It does require a little bit more state management by the client, but the logic is fairly straight forward.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5th October - TradeTech Architecture. Martin Thompson, CTO, will be on one of the panels.
11th October - Goto Aarhus. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be presenting the LMAX Disruptor pattern: "100K transactions per second at less than 1ms latency".
13th - 14th October - Goto Amsterdam. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be tackling the folklore surrounding high performance computing.
31st October - 2nd November - JAX London. Mike Barker and Trisha Gee will be presenting "Understanding the Disruptor, a Beginners Guide to Hardcore Concurrency".
15th November - StackOverflow Dev Days 2011. Mike Barker will be presenting on Performance & Technology Folklore.
Some of the development team will pop in to the London Java Community monthly social on Tuesday. It's always a great night to talk tech (or not) and meet new people.
On Wednesday, Dave Farley will be giving a presentation at SkillsMatter on how we do Continuous Delivery.
Future events
5th October - TradeTech Architecture. Martin Thompson, CTO, will be on one of the panels.
11th October - Goto Aarhus. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be presenting the LMAX Disruptor pattern: "100K transactions per second at less than 1ms latency".
13th - 14th October - Goto Amsterdam. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be tackling the folklore surrounding high performance computing.
15th November - StackOverflow Dev Days 2011. Mike Barker will be presenting on Performance & Technology Folklore.
We made a number of tweaks to the Disruptor, with some improvements to the code and some changes to the website, and there are now a number of blog posts explaining sections of it.
There has also been work on two .NET versions of it: one on github and one on Google code. We're pretty excited about them and interested to see the results.
This week
On Wednesday some of us are attending "The Future of TX Trading Debate" hosted by EQUINIX.
5th October - TradeTech Architecture. Martin Thompson, CTO, will be on one of the panels.
11th October - Goto Aarhus. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be presenting the LMAX Disruptor pattern: "100K transactions per second at less than 1ms latency".
13th - 14th October - Goto Amsterdam. Martin Thompson (CTO) and Dave Farley (Head of Software Development) will be tackling the folklore surrounding high performance computing.