The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.5.94

Table of Contents

Pricing

Supported Book Types

The Market Data feed will supports subscriptions to PriceDepth and TradeTicker  MDBookTypes.

TradeTicker

By default LMAX trade notifications are delivered with a 60 second delay, at no charge. The delay may be removed on a per-session basis, for an additional LMAX fee,  if the client wishes.

Supported Instruments

Expand


Table Filter
totalrow,,,,,,,,,,,,
hidelabelsfalse
sparkNameSparkline
hidePanetrue
sparklinefalse
defaultlmax,ExecutionVenue&&client_role&&target_platform
isFirstTimeEnterfalse
cell-width250,250
hideColumnstrue
disabledfalse
enabledInEditorfalse
globalFilterfalse
id1688058897929_-1132640038
order0,1
hideControlsfalse
inversefalse,false
columnVenue
disableSavefalse
separatorPoint (.)
labelsVenue‚Hide columns
ddOperatorOR
datepatterndd M yy
updateSelectOptionsfalse
worklog365|5|8|y w d h m|y w d h m
isORAND
Table Excerpt Include
nameSupportedInstruments
merge-tablestrue
pageSupported Instruments
typepage


Please refer to Supported Instruments to view across all venues.

PartyIDs

Expand


Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
isNewfalse
separatorPoint (.)
ddSeparatorstrue
defaultlmax
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1688058897931_-1543466278
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
namePartyIDs
pagePartyIDs
typepage


Please refer to PartyIDs to view across all venues.

Regulatory fields

Expand


Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
isNewfalse
separatorPoint (.)
ddSeparatorstrue
defaultlmax
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1688058897933_-1738422776
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
nameRegulatoryFields
pageRegulatory Fields
typepage


Please refer to Regulatory Fields to view across all venues.

Passthru Fields

Expand


Table Filter
hideControlstrue
inversefalse
totalrow,,,,,
hidelabelsfalse
sparkNameSparkline
hidePanetrue
disableSavefalse
separatorPoint (.)
sparklinefalse
labelsVenue
defaultlmax
isFirstTimeEnterfalse
cell-width150
hideColumnsfalse
userfilterVenue
datepatterndd M yy
disabledfalse
enabledInEditorfalse
globalFilterfalse
id1688058952137_-351178729
updateSelectOptionsfalse
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
namePassthruFields
pagePassthru Fields
typepage


Please refer to Passthru Fields to view across all venues.

Details

Instrument Availability

Varies by region and session, please see attached CSV-s below for reference:

Curex Migration to LMAX

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.

Please note that NDF market data is not offered for clients subscribing to Curex liquidity pool.

Pricing

Sweepable vs FullAmount

LMAX offers three options for FullAmount pricing:

  • "old" configuration model - client will simply receive the maximum quantity available at each price level, i.e. reflecting the per-order MinQty Minimum Trade Size information.
  • "new" configuration model - LMAX will configure Full Amount Volume bands as bilaterally agreed with the client, e.g. 1m, 3m, 5m, 10m, 20m.
  • Client-specified, at run-time - Whisperer clients may specify up to 30 UnderlyingQty values in the MarketDataRequest NoUnderlyings group.

TradeTicker

Info
titleConfiguration

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.

Warning
titleTrade Data subscription on Curex liquidity pool

Clients trading on the Curex liquidity pool cannot subscribe to the trade ticker. MF gateway handles the subscription of trade data based on the session config.

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 In the event where 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.

Orders

Supported Products, OrderTypes and TimeInForce

Varies by region and session. LMAX will publish the security list on the FIX session after logon, please see attached CSV-s below for reference.  MF will send the client a SecurityStatus message for each FX currency pair from this list. The client will request market data and send orders.

Non-aggregated MarketData

Warning
titleLMAX does not support non-aggregated MarketData

Please note that Curex clients cannot subscribe to non-aggregated MarketData as LMAX does not support the feature.

SecurityGroup

Clients will start to receive the SecurityGroup field in the SecurityStatusQuoteRequest, and ExecutionReport published for NDF instruments.

MarketFactory gateway will accept the SecurityGroup in MarketDateRequest when clients subscribe to NDF market data and NewOrderMultileg when trading an NDF instrument.

LMAX offers 1M rolling contracts for APAC NDFs and EOM contracts for LATAM NDFs (currently BRL only).

Sample SecurityGroup:

USDKRW1M (1M rolling contracts for APAC NDFs)

USDBRL012025 (Jan 2025 EOM contracts for LATAM NDFs)

SettlDate

Info
titleSettlDate (Optional field in SecurityStatus)

Clients have the option to consume SettlDate in SecurityStatus. LMAX will enable the SettlDate field per session upon client request.

Clients can contact the MarketFactory Delivery Team to enable SettlDate in their LMAX session.

Maker ESP

Whisperer will send the client a synthetic spot and NDF quote request for each instrument. The client will send MassQuotes in response, and LMAX will respond with fills (no last look).

MassQuote
Publication

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.

Matching

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).
  • The Price field contains the price of a quote entry reported by this execution. 


Two types of MassQuote matches are possible:

  • Aggressive – when the MassQuote matches retail orders immediately;
  • Passive – 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:

  • Aggressive full match for 1st price level submitted in the MassQuote.
  • Aggressive partial match against 2nd price level submitted in the MassQuote.
  • Passive match that fully fills the 2nd price level submitted in the MassQuote.

Orders

VWAP Orders

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.

Info
titleVWAP Executions
  • VWAP execution is a session-level setup. Clients do not have to subscribe to VWAP MD or send additional order attributes/ StrategyParameters in NewOrderSingle when they submit orders for VWAP execution.
  • VWAP execution applies only to Limit orders.
  • VWAP executions occur only on aggressive orders (orders placed with TIF=FOK/ IOC). Passive orders (TIF=DAY) are executed as conventional Limit orders.
  • Although partial executions of the VWAP order fill at a price worse than the target Limit price on the order, the average price of the entire execution will be at the target Limit price or better.


Algorithmic Execution

LMAX supports Pegged and TWAP execution models.

Note
titleNoStrategyParameters

Refer to Supported Order Types (Algo Orders) for details on how to use the NoStrategyParameters block to send the details of the TargetStrategy, along with the corresponding strategy parameters.


The table below sets out the Algo parameters and combinations currently supported.

StrategyParameterName

TargetStrategy
PeggedTWAP
PegMoveType
TWAPIncrementQty
TWAPIncrementInterval
  1. PegMoveType - Supported values are 0 and 1.
  2. TWAPIncrementInterval - The minimum interval is 10ms.
  3. 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
PeggedTWAP
EffectiveTime
PegPriceType
PegOffsetValue
  1. PegPriceType - MidPricePeg is the only supported value.


Warning
titleAmend/ Cancel Orders

Please note that the orders for Algo execution cannot be amended or cancelled.

...

Iceberg Orders

Info
titleSupported LMAX platforms
Iceberg orders are supported on both LMAX Echange and LMAX InterbankExchange.

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.

...

  • A minimum ratio of 1:50 is imposed for visible Quantity to Total Quantity of an order.
  • When the visible Quantity is fully filled, the next available peak will be added to the order book on price/time basis, using the time the new peak is added.
  • 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.
  • A new ExecutionReport is not sent when a new peak is added to the order book.
  • The visible Quantity is disseminated on the MarketData stream, not the Total Quantity.
  • Orders without the MaxShow tag will be treated as a normal Limit order.

Dark Limit Orders

Infowarning
titleSupported LMAX platforms
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.

...

  • 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.
  • Dark orders will not be disseminated on the MarketData stream.
  • Orders without the MaxShow tag will be treated as a normal Limit order.

Trade Sizes

Minimum Trade Size

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.

...

Warning
titleMTS restrictions

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.

Full Amount
Warning
titleFA Pricing

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.

...

Warning
titleFA restrictions

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.

Maker ESP

Maker ESP is supported by LMAX with no Last-Look.

...

Supported instruments vary by region and session.

MF will send the client a synthetic spot quote request for each, as per the Instruments lists below (cryptocurrencies on LMAX Digital are also included in the FX currency pair list). The client will send MassQuotes in response, and LMAX will respond with fills.

MassQuote

Publication

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.

Matching

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).
  • The Price field contains the price of a quote entry reported by this execution. 

Two types of MassQuote matches are possible:

  • Aggressive – when the MassQuote matches retail orders immediately;
  • Passive – 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:

  • Aggressive full match for 1st price level submitted in the MassQuote.
  • Aggressive partial match against 2nd price level submitted in the MassQuote.
  • Passive match that fully fills the 2nd price level submitted in the MassQuote.

Venue Checks

PB selection

Warning
titleGive-up trades to multiple PBs in a single LMAX session

PB selection is an LMAX feature that allows give-up trades to multiple PBs in a single LMAX session.

When PB selection is enabled, clients are required to populate LegAllocAccount with the LMAX provided PB code in the NoLegAllocs group in NewOrderMultileg.

Clients are advised to contact the MarketFactory Delivery Team to enable PB selection in their UAT and Prod sessions.

Venue Checks

Self-Match

Info
titleSelf-Match Prevention
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.


Warning
titleDuplicate ExecIDs
In the event of a self-match event, the ExecID value delivered to both sides of the trade will be identical.

Throttling

Info
titleMessage Rate Threshold
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.

Volatility Bands

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.

...

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.

Regulatory fields

...

Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
separatorPoint (.)
defaultLMAX
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1607443043700_-1439497944
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
nameRegulatoryFields
pageRegulatory Fields
typepage

Please refer to or Regulatory Fields for the full Enterprise table across all venues.

PartyIDs

...

Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
separatorPoint (.)
defaultLMAX
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1607525149079_1778998171
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
namePartyIDs
pagePartyIDs
typepage

Please refer to Whisperer Enterprise - PartyIDs for the full Enterprise table across all venues.

Instruments

LMAX-Exchange-TY3-Instruments.csv

LMAX-Exchange-NY4-Instruments.csv

LMAX-Exchange-LD4-Instruments.csv

LMAX-Exchange-Interbank-Instruments.csv

LMAX-Digital-Instruments.csv