Please refer to Supported Instruments to view across all venues.
Please refer to PartyIDs to view across all venues.
Please refer to Regulatory Fields to view across all venues.
Please refer to Passthru Fields to view across all venues.
Varies by region and session, please see attached CSV-s below for reference:
LMAX is migrating Curex clients trading on the legacy platform to a new liquidity pool in the LMAX platform. The Curex technology will be decommissioned on the 31st of December 2024.
LMAX has upgraded the API to incorporate Curex functionalities to help Curex clients transition to trading on LMAX.
LMAX will maintain the Curex liquidity separately and will not consolidate with LMAX to form a single liquidity pool.
LMAX offers three options for FullAmount pricing:
UnderlyingQty values in the MarketDataRequest NoUnderlyings group.The trade feed is free of charge only for the trading clients who meet the monthly eligibility criteria. By default, the trade ticker is disabled and must be enabled by LMAX on a per-session basis.
When configured, all trade events are delivered with a 60-second delay. There is no option to receive these in real-time. |
In the event when a trade is cancelled/busted on the LMAX Exchange, LMAX will publish a MarketDataIncrementalRefresh message with MDUpdateAction=Delete where the MDEntryID references the original trade now being cancelled.
Please note that Curex clients cannot subscribe to non-aggregated MarketData as LMAX does not support the feature. |
Whisperer will send the client a synthetic spot quote request for each instrument. The client will send MassQuotes in response, and LMAX will respond with fills (no last look).
A subsequent MassQuote, if accepted, will replace the previous MassQuote and will cancel all the unmatched liquidity associated with the replaced MassQuote.
If an order within the new MassQuote equals the price and size of an unmatched order within the previous MassQuote, the previous order will keep priority on the order book and will adopt the new QuoteID.
A MassQuote supports a maximum of 6 quote entries for each side of the order book. A MassQuote will be rejected if the number of quote entries is greater than 6 on either/both side(s).
In order to withdraw a previous MassQuote, the client may either send an explicit QuoteCancel or send an “empty” MassQuote (with no prices and quantities).
In the event that a MassQuote is sent to replace a previous MassQuote, but is rejected (e.g. due to incorrect IDs, incorrect formatting, incorrect levels of depth), the initial MassQuote will still be active on the LMAX platform. It is advised that if a MassQuote is rejected, for any reason, and there is an existing MassQuote on the platform, a QuoteCancel or “empty” MassQuote is sent to remove the existing MassQuote.
Once the MassQuote message is submitted to a market, the individual Quote Entries are treated as single orders. The trades generated for each of the Quote Entries in the MassQuote order will be reported with an ExecutionReport Message.
The MassQuote is uniquely identified in the ExecutionReport by the pairing of Price and ClOrdID fields:
MassQuote and QuoteCancel messages contain the QuoteID field that is used to uniquely identify the message. This field will be mapped to the corresponding ExecutionReport as ClOrdID (I.e. the QuoteEntryID is not used).Price field contains the price of a quote entry reported by this execution. Two types of MassQuote matches are possible:
MassQuote matches retail orders immediately;MassQuote is applied to a market and waiting to be matched on the Order Book.During trading, a given MassQuote may result in a combination of the two, e.g. The following ExecutionReports in sequence:
MassQuote.MassQuote.MassQuote.LMAX supports VWAP execution by default for clients trading on the Curex liquidity pool. Irrespective of the liquidity pool clients are trading on, clients can request the VWAP execution enabled on their trading session.
|
LMAX supports Pegged and TWAP execution models.
Refer to Supported Order Types (Algo Orders) for details on how to use the |
The table below sets out the Algo parameters and combinations currently supported.
StrategyParameterName | TargetStrategy | ||
|---|---|---|---|
| Pegged | TWAP | ||
PegMoveType | ✓ | ||
TWAPIncrementQty | ✓ | ||
TWAPIncrementInterval | ✓ | ||
PegMoveType - Supported values are 0 and 1.TWAPIncrementInterval - The minimum interval is 10ms.TWAPIncrementQty - Quantity that adheres to the minimum order increment for the instrument you are trading.The table below sets out the standard Order field that may need to be used to further define the algo.
HasExtendedOrderFields | TargetStrategy | ||
|---|---|---|---|
| Pegged | TWAP | ||
EffectiveTime | ✓ | ||
PegPriceType | ✓ | ||
PegOffsetValue | ✓ | ||
PegPriceType - MidPricePeg is the only supported value.| Iceberg orders are supported on LMAX Exchange. |
Iceberg orders are single orders where only a portion of the order, defined by MaxShow, is processed and displayed by the exchange until fully executed.
Iceberg orders are placed by sending a NewOrderMultileg and including a non-zero value in the MaxShow tag. The MaxShow value will specify the Quantity that is to be visible to the market.
Iceberg orders are supported for NewOrderMultileg messages where OrdType=Limit and TimeInForce=DAY only. No other combination of OrdType and TimeInForce in a NewOrderMultileg message is currently supported by LMAX to place Iceberg orders.
Iceberg orders are not supported in MultilegOrderCancelReplaceRequest and MassQuote (Maker) messages.
Key features of LMAX Iceberg Orders:
ExecutionReports for Iceberg orders behave in the same way as ExecutionReports for non-Iceberg orders, with the addition of the MaxShow tag. The breakdown between the current visible Quantity and hidden Quantity will not be shown.ExecutionReport is not sent when a new peak is added to the order book.MaxShow tag will be treated as a normal Limit order.| Dark Limit orders are only supported on LMAX Interbank. However, the LMAX Interbank session was decommissioned in 2023. |
Dark orders are orders that are processed by the exchange that do not appear on the Market Data stream.
Dark orders are placed by including a zero value in the MaxShow tag in the order entry message.
Dark orders are supported for NewOrderMultileg and MultilegOrderCancelReplaceRequest messages, where OrdType=Limit and TimeInForce=DAY only.
Key features of LMAX Dark Orders:
ExecutionReports for Dark orders behave in the same way as ExecutionReports for non-Dark orders, with the addition of the MaxShow tag.ExecutionReports for MassQuotes made up of Dark and non-Dark orders will include the MaxShow tag for executions against Dark Orders only. MaxShow will be omitted on ExecutionReports for executions against non-Dark orders.MaxShow tag will be treated as a normal Limit order.The option to control trade sizes, using the LMAX Minimum Trade Size (MTS) functionality, is available through two methods, outlined below. The functionality is to ensure orders match, in full or partial, in a size equal to or larger than a pre-set minimum trade size.
Options to implement MTS:
HasExtendedOrderFields[1].MinQty on NewOrderMultileg messages. The value will determine the MTS quantity of the order and will set the order to be filled in sizes equal to or larger than the stated amount.MinQty on order messages. If the client wishes to send MinQty, in addition to MTS being enforced by LMAX, and the MTS quantity set by the client is less than the LMAX pre-set MTS, it will be rejected. If the MTS set by the client is higher than the LMAX pre-set MTS, the client’s MTS will be used.For Takers, only Limit/Market IOC and FOK orders are supported with MTS; orders with a TimeInForce of DAY or GTC will be rejected. MTS is not supported for Makers. |
For Takers, the FullAmount price subscription (MDBookType=FullAmount) is yet to be supported. The LMAX gateway allows for PriceDepth subscription only. In an FA market data session, the volume bands are bilaterally agreed upon by the client and LMAX and are pre-configured per session. Clients should be aware that multiple volume bands can have the same price, unlike a PriceDepth book where the orders are aggregated based on the price. |
Full Amount trading, where orders are executed in whole, without partial fills, and against only one counterparty is available on LMAX through two methods, outlined below.
Options to implement Full Amount:
MinQty value equal to their Order Quantity. This will determine the order as Full Amount and will set the order to be filled in full against a single counterparty.MinQty on order messages.For Takers, only Limit/Market IOC and FOK orders are supported for FA orders; orders with a Time in Force of DAY or GTC will be rejected. For Makers, DAY and GTC orders are supported. |
| Self-match scenarios (where two Client orders matched against each other) are possible, but may be disabled by the venue on a per-session basis. Please contact MarketFactory SUP to organise this, if required. |
| In the event of a self-match event, the ExecID value delivered to both sides of the trade will be identical. |
| In order to manage the number of messages that the LMAX Platform can process at any given point, a Message Rate Threshold is imposed on each FIX session that acts as a limit to the number of messages the FIX session can send to LMAX in one second. If the Message Rate Threshold is breached, LMAX will force the session to disconnect by sending a Logout with a “Number of messages exceeds the threshold” message. LMAX will block any subsequent Logon attempts for 15 seconds. Message Rate Thresholds are determined by LMAX. They are based on the number of instruments and levels that each FIX session will price. |
In order to protect Clients from pricing errors Volatility Bands are set per order book on LMAX. If the price difference between the previous accepted price and the new price is outside the volatility limit, LMAX will reject the order with an OUTSIDE_VOLATILITY_BAND message.
LMAX will only accept a new price if it is within the volatility limit, or if LMAX Market Operations manually increase the volatility limit to allow the new price to be accepted.
For Makers, If the Maker has not yet input an order during that Trading Day, the price will be compared to the last price accepted on the order book by other Makers.