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

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

Supported Products, OrderTypes and TimeInForce

Client as maker

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 synthetic spot quote request for each FX currency pair from this list (cryptocurrencies on LMAX Digital are also included in the FX currency pair list). The client will send mass quotes in response, and LMAX will send fills.

...

Client as taker

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.

...

Throttling

...

titleMessage Rate Threshold

...

.

Regulatory fields

Expand


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

Table Excerpt Include
copytabletrue
nameRegulatoryFields
pageRegulatory Fields
typepage


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

...

Passthru Fields

Expand


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

Table Excerpt Include
copytabletrue
namePartyIDsPassthruFields
pagePartyIDsPassthru Fields
typepage


Please refer to Whisperer Enterprise - PartyIDs for the full Enterprise table 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 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.

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 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:

  • 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

Warning
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.

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.
  • 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.

Options to implement MTS:

  • The client can state their MTS quantity in 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.
  • LMAX can enforce a MTS quantity on a FIX order session, on a per instrument basis. This will treat each order as having a pre-set MTS. If the order Quantity is below the pre-set MTS quantity, the order will be rejected. The client will not be required to send 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.
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.

Options to implement Full Amount:

  • The client can utilise the Minimum Trade Size functionality outlined above, by sending a 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.
  • LMAX can enforce a FIX session to be Full Amount trading only. The client will not be required to send MinQty on order messages.
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.

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.

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.