Post-Trade Registration and Matching System

The London Metal Exchange (LME) had decided to build a new version of its matching system (LMEsmart) to support a number of new requirements as well as update and rationalise functionality of the system, making it a more flexible and adaptable platform. These new requirements included compliance with MiFID II, a revised booking model (T2), new trade strategies, and price banding.

The system had to serve as a post-trade registration and matching service for all three LME trading venues, namely LMEselect (electronic trading), the ring (in person at the exchange), and telephone (inter-office).

Its general functionality includes:

  • Accept trade halves from user input (Ring and Telephone) or electronic trading (LMEselect)
  • Carry out validation
  • Match trade halves
  • Send matched trade halves for clearing (via LMEclear)
  • Receive back confirmation that trade has been cleared
  • Notify interested parties when the trade is matched and cleared

The LMEmatching system also provides a number of reporting and maintenance interfaces for the LME and other LME systems.

This was a large and long-running project that involved a team of developers working together on the different components of the system. These included both back-end services, the most significant being the matching engine, as well as front-end web applications. Extensive integration testing was required to ensure these all worked together correctly.

The system was implemented in C# and TypeScript/JavaScript, using various frameworks and libraries.