Professional Documents
Culture Documents
Lseg FX Market Data Api Spec v1.3
Lseg FX Market Data Api Spec v1.3
LSEG, by publishing this document, does not guarantee that any information contained herein is and will remain accurate or that
use of the information will ensure correct and faultless operation of the relevant service or equipment. LSEG, its agents and
employees, shall not be held liable to or through any user for any loss or damage whatsoever resulting from reliance on the
information contained herein.
This document contains information proprietary to LSEG and may not be reproduced, disclosed, or used in whole or part without
the express written permission of LSEG.
Any Software, including but not limited to, the code, screen, structure, sequence, and organization thereof, and Documentation are
protected by national copyright laws and international treaty provisions. This manual is subject to U.S. and other national export
regulations.
Nothing in this document is intended, nor does it, alter the legal obligations, responsibilities or relationship between yourself and
LSEG as set out in the contract existing between us.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 2
Contents
Contents
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 3
Contents
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 4
Contents
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 5
About this document
NOTE
The LSEG FX FIX Market Data API is not in production yet. This API has been made available for early integration.
IN THIS DOCUMENT
This document contains details of the methods and messages required to connect and subscribe to the FIX FX Market Data API.
For both the Premium Multicast Market Data Feed and the TCP/IP Standard Market Data Feed it provides the specifications
required to receive:
• Security Definitions
• Orderbook Updates (Snapshot Full Refresh and Incremental Updates)
• Relevant Statistics
• Security Status
XML SCHEMA
A new schema is released with this specification. See section 1.2 Supported XML Schemas for details.
For questions or further information related to LSEG Capital Markets Market Data API, please contact the global Refinitiv/LSEG
Help Desk using the link below.
MyRefinitiv – Contact Us
FEEDBACK
If you have any comments on this document, please contact the global Refinitiv/LSEG Help Desk using the link below.
MyRefinitiv – Contact Us
GLOSSARY
Term/abbreviation Description
AES Advanced Encryption Standard
Client Same as Subscriber
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 6
About this document
Term/abbreviation Description
Conflation Consolidating updates generated during a given time interval into a single update for dissemination. The
intention is to control and throttle the distribution of order book updates.
Conflation Quantum Configurable time interval in which updates will be conflated.
CTR Counter Mode
EoC End of Conflation
FIX Financial Information eXchange
FIXT FIX Transport - the label is used to identify the separate session layer specification and to identify the
FIX Session version being used
LTP Last Traded Price
M/Cast Multicast
RMO Recognised Market Operator
SBE Simple Binary Encoded
SOFH Simple Open Framing Header
Screened Filtered view of the order book disseminated to a subscriber based on both the bilateral credit
relationships and permissioning. This will only include prices that a subscriber can trade on as a
taker/aggressor/ consumer of liquidity.
Shard The point where Market Data is disseminated for one or more instruments.
TBD To be Decided
TCP Transmission Control Protocol
UDP User Datagram Protocol
Unscreened Unfiltered view of the order book disseminated to a subscriber
VWAP Volume Weighted Average Price
VERSION HISTORY
Any material change, with potential for client impact, is reflected in the first or second digit of the document version with the key
changes highlighted in the version history. Minor changes to improve understanding, grammar, or changes otherwise cosmetic in
nature, are reflected in an increment of the third digit without update to the version history.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 7
About this document
See Appendix A Version History for all changes prior to version 1.2.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 8
Chapter 1 Market Data API Overview
1.1 SCOPE
This document overviews the specification for the FX Market Data API. The FX Market Data API is built based on the FIX/SBE
industry standard protocol designed for high performance trading systems. Streams of Simple Binary Encoded (SBE) messages are
conflated and exchanged via Standard TCP/IP and Premium IP Multicast feeds between Venue and Subscribers containing
information for each instrument traded on LSEG Capital Markets.
The session level and application event models and messages are based on FIX SBE Version 2 Release Candidate 2 and FIX
Performance Session Layer (FIXP) version 1.0 as published by the FIX Trading Community and comply with the best practices
outlined by the FIX Market Data Working Group.
The latest schema can be downloaded here from the Refinitiv Developer Portal.
NOTE
The specification and schema versions can increment independently. To understand what schemas are supported always refer to
the latest specification.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 9
Chapter 2 System Architecture
2.1 OVERVIEW
The Market Data API architecture reflects the needs and requirements of different groups of subscribers.
Market data disclosure is based on connection type and made available to subscriber groups as follows:
• A Premium Multicast market data feed (available to co-located subscribers only)
• A Standard TCP/IP-based market data feeds available to all subscribers
They can receive the following FIX/SBE messages via the aforementioned dedicated channels:
• Market Data Snapshot Full Refresh (MDSFR) – provides the latest available picture of the requested market data
• Market Data Incremental Refresh (MDIR) – provides delta updates on top of MDSFR.
• Market Data Rejection – provides reasoning in case of unsuccessful market data requests.
• Security Definitions – publishes instrument related information. Is also used as response in case of unsuccessful Security
Definition Requests.
• Security Status – publishes instrument session changes.
• End of Conflation – marks the end of a conflation quantum and provides the means of publishing the decryption key on the
Market Data on the Premium Feed.
• Encrypted Message Wrapper - provides the encrypted envelope for MDSFR and MDIR messages on the multicast market
data feeds. For Matching Cleared NDF Venues, the Market Data will be provided in this format, but the payload will be
unencrypted.
NOTE
The FIX SBE XML schema used to decode the Market Data messages is common for both the Premium IP Multicast Feed and the
Standard TCP/IP feed.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 10
Chapter 2 System Architecture
file. On receipt of an End of Conflation (EoC) message with a corresponding conflation ID, no more Market Data updates will be
received in that conflation quantum.
Figure 2 on the following page shows the encapsulation of various sections of the market data messages for the Premium IP
Multicast Feed.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 11
Chapter 2 System Architecture
Figure 2: Message Encoding and Decoding Model for Premium IP Multicast Feed
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 12
Chapter 2 System Architecture
The Advanced Encryption Standard (AES) is an algorithm for block encryption which uses the same key for both encryption and
decryption of data. Out of the multitude of standardized modes of operations of the AES algorithm, the Counter Mode (CTR) is used
for the purpose of encrypting the market data messages. The CTR mode used with the hardware acceleration (Intel AES New
Instructions) provides tremendous efficiency improvements as compared to alternate encryption algorithms and modes. The
encryption is achieved by using the XOR (exclusive OR) operation on the block cipher, constructed with the key and the
concatenated structure of the nonce and the counter, and the actual plain text market data message, as seen in the below diagram.
At the end of each conflation quantum, the decryption of the messages is accomplished by applying the XOR operation on the
resulted ciphertext and the block cipher.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 13
Chapter 2 System Architecture
Please refer to Figure 4 below for a connectivity overview in the Colo Premium IP Multicast Feed.
2.2.6.1 Topic
The first message sent will be the Topic Message.
This message announces the sequenced flows and identifies them with a Session UUID.
On receiving the Topic Message, the client should then know to expect context messages on this flow.
2.2.6.2 Context
As above, the topic message will announce the flows for the market Data update flows.
Each packet sent on these flows will have the context details in the FIXP segment. This will include the session uuid and
NextSequenceNumber.
The client will need to track the sequence number for breaks in the event the NextSequenceNumber is different than expected.
If a break is detected the client should wait for the next MDSFR message relating to the partition and apply subsequent MDIR
messages.
Figure 5 on the following page illustrates these flows.
NOTE
The intention is to only have one application message per UDP packet. However, the illustration includes a scenario where there is
more than one application message per UDP Packet in the event this is introduced in the future.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 14
Chapter 2 System Architecture
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 15
Chapter 2 System Architecture
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 16
Chapter 2 System Architecture
Figure 6: Message Encoding and Decoding Model for Standard TCP/IP Feed
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 17
Chapter 2 System Architecture
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 18
Chapter 2 System Architecture
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 19
Chapter 3 Service Description
While LTP is available in both Standard and Premium Feeds, the VWAP related updates will be retrievable only via the Premium
Feed.
Market Data messages will disclose LTP as 'Update' entries, whereas VWAP updates only as 'New' entries.
3.1.2.1 LTP
Last Traded Price subscriptions communicate the price and quantity of the last trade that occurred during a conflation quantum. It is
indefinitely carried over trading weeks.
3.1.2.2 VWAP
Volume Weighted Average Price is a more complex statistic which involves enhanced calculation at the venue side for sliding
window intervals.
VWAP is processed based on pre-configured instrument level parameters such as 'VWAP Calculation Period' and 'VWAP
Calculation Frequency'. VWAP publication is subject to an additional delay depending on the instrument level configuration of the
'VWAP Publication Delay' parameter provided for each instrument.
• VWAP Calculation Period - defines the time window in seconds of the trades that are included in the calculation formula for
VWAP
• VWAP Calculation Frequency - defines the frequency in seconds of VWAP recalculation
• VWAP Publication Delay - defines the delay in seconds for VWAP market data updates
The 'VWAP Calculation Period' will always be greater or equal than the 'VWAP Calculation Frequency' to ensure no trades are
being missed from the VWAP computation. In case 'VWAP Publication Delay' is not set, no delay will be applied on the updates
sent out by the Market Data Feed.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 20
Chapter 3 Service Description
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 21
Chapter 3 Service Description
In case termination is not triggered and the client socket becomes writable again, in the very next conflation epoch the client will
receive either a "MarketDataSnapshotFullRefresh" or a "MarketDataIncrementalRefresh" message for each subscription with
"MessageEventSource" field indicating that the connection was previously buffered.
NOTE
For the initial NDF Release, only "MarketDataSnapshotFullRefresh" messages will be triggered for slow consumers.
After requesting Security Definitions or during an intra-week dynamic update triggering a new set of "SecurityDefinition" messages,
if the messages get buffered the rest of the "SecurityDefinition" messages will be dropped and as soon as the connection gets
unbuffered, the missed Security Definitions will be sent out with the latest data to the client with "SecurityResponseType" field
indicating that the connection was previously buffered.
In addition to the above, a rate limit of 10,000 messages within a period of 60 seconds is introduced for all client-initiated messages
and clients exceeding this limit will have the session terminated.
We aim to avoid introducing any changes that would require a mandatory update on a single given date.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 22
Chapter 3 Service Description
For the Matching release, the service will be enhanced to support multiple schema versions which do not have cross compatibility.
When introducing a change that would normally incur a mandatory update, instead a new schema will be released and enabled.
Customers within a defined timeframe can move to the new schema before the previous is disabled. This will ensure the service
fully supports backwards compatibility and provide steady alignment between the venue and client-side interfaces. More information
will follow on this topic.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 23
Chapter 4 Message Formats
The format for the Simple Open Framing Header and Simple Binary Encryption Header is detailed below. All messages (both
session and application) will use these headers.
The SOFH encoding type used for both session and application messages is SBE Big Endian.
The following pages provide details on the unit header, administrative messages and application messages utilised by the server.
For each message, a description of each field is provided along with the applicable offset and length (in bytes).
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 24
Chapter 4 Message Formats
4.1.3 Client-Initiated
4.1.3.1 Negotiate
Level Field Field Name Offset Length Interpreted Value Description
ID (octets)
Hdr - message length 0 4 - Total message length. Can vary based
SOF on the content of the message.
encodingType 4 2 Big Endian
Hdr - blockLength 0 2 72 Length of the root level of the message
SBE without counting any repeating groups
or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 500 The identifier of a message type in a
message schema.
schema ID 4 2 101 This is mentioned in the XML schema
file.
schema version 6 2 1 This is mentioned in the XML schema
file.
numGroups 8 2 0 No repeating groups
numVarDataFields 10 2 0 No variable length fields
FixP - MessageType 0 1 N - Negotiate
Session
Session Id 1 20 Session Identifier UUID.
Should be specified by the client but no
validation will be done.
Timestamp 21 8 1562852607699000000 Should be specified by the client but no
validation will be done.
UTC Thursday, July 11, 2019
1:43:27.699 PM
FlowType 29 1 U - Unsequenced Type of flow from client to server.
Anything other than Unsequenced will
be rejected.
Credentials 30 41 Username 11 Composite containing the username,
password and new password.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 25
Chapter 4 Message Formats
4.1.3.2 Establish
Level Field Field Name Offset Length Interpreted Value Description
ID (octets)
Hdr - message length 0 4 - Total message length. Can vary based
SOF on the content of the message.
encodingType 4 2 Big Endian
Hdr - blockLength 0 2 33 Length of the root level of the message
SBE without counting any repeating groups
or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 501 The identifier of a message type in a
message schema.
schema ID 4 2 101 This is mentioned in the XML schema
file.
schema version 6 2 1 This is mentioned in the XML schema
file.
numGroups 8 2 0
numVarDataFields 10 2 0
FixP - MessageType 0 1 E - Establish
Session
Session Id 1 20 Session Identifier UUID
Should be specified by the client but no
validation will be done.
Timestamp 21 8 1562852607699000000 Should be specified by the client but no
validation will be done.
UTC Tuesday, August 10, 2021
4:57:35.062 AM
KeepAliveInterval 29 4 5000 Client needs to specify the heartbeat
interval here. HB interval in milli-
seconds.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 26
Chapter 4 Message Formats
4.1.3.3 Heartbeat
Level Field Field Name Offset Length Interpreted Value Description
ID (octets)
Hdr - message length 0 4 - Total message length. Can vary based
SOF on the content of the message.
encodingType 4 2 Big Endian
Hdr - blockLength 0 2 1 Length of the root level of the message
SBE without counting any repeating groups
or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 504 The identifier of a message type in a
message schema.
A message with template ID of
Heartbeat is considered as a heartbeat.
No other field (such as message type)
will be validated for
UnsequencedHeartbeat messages.
schema ID 4 2 101 This is mentioned in the XML schema
file.
schema version 6 2 1 This is mentioned in the XML schema
file.
numGroups 8 2 0
numVarDataFields 10 2 0
FixP - MessageType 0 1 H-
Session UnsequencedHeartbeat
4.1.3.4 Terminate
Level Field Field Name Offset Length Interpreted Description
ID (octets) Value
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 27
Chapter 4 Message Formats
4.1.4 Server-Initiated
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 28
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 29
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 30
Chapter 4 Message Formats
4.1.4.5 Heartbeat
Each heartbeat sent by the server would incrementally increase the Book State Identifier, making the 'BookStateID' field of the
application messages display a sparsely incrementing number.
FixP - MessageType 0 1 H-
Session UnsequencedHeartbeat
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 31
Chapter 4 Message Formats
4.1.4.6 Terminate
Level Field Field Name Offset Length Interpreted Description
ID (octets) Value
Hdr - message length 0 4 - Total message length. Can vary based on the
SOF content of the message.
encodingType 4 2 Big Endian
Hdr - blockLength 0 2 22 Length of the root level of the message
SBE without counting any repeating groups or
variable-length fields. Used for reading the
fixed length fields fast.
template ID 2 2 503 The identifier of a message type in a
message schema.
A message with template ID of Terminate is
considered as a terminate. No other field
(such as message type) will be validated for
Terminate messages.
schema ID 4 2 101 This is mentioned in the XML schema file.
schema version 6 2 1 This is mentioned in the XML schema file.
numGroups 8 2 0
numVarDataFields 10 2 0
The messages described below are applicable only for Colo clients who are using the Premium IP Multicast Feed.
Hdr - message length 0 4 - Total message length. Can vary based on the content of
SOF the message.
encodingType 4 2 Big Endian
Hdr - blockLength 0 2 91 Length of the root level of the message without counting
SBE any repeating groups or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 7 The identifier of a message type in a message schema.
Schema ID 4 2 505 This is mentioned in the XML schema file.
Schema version 6 2 101 This is mentioned in the XML schema file.
numGroups 8 2 0
numVarDataFields 10 2 0
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 32
Chapter 4 Message Formats
FixP MessageType 0 1 C
SessionID 1 20 qwertyui1234 Session Identifier UUID
Generated by system
NextSeqNo 21 8
Hdr - message length 0 4 - Total message length. Can vary based on the content of
SOF the message.
encodingType 4 2 Big Endian
Hdr - blockLength 0 2 91 Length of the root level of the message without counting
SBE any repeating groups or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 7 The identifier of a message type in a message schema.
Schema ID 4 2 505 This is mentioned in the XML schema file.
Schema version 6 2 101 This is mentioned in the XML schema file.
numGroups 8 2 0
numVarDataFields 10 2 0
FixP MessageType 0 1 C
SessionID 1 20 qwertyui1234 Session Identifier UUID
Generated by system
Flow 21 8 I Idempotent (see FIX SBE standard for more details)
Classification 22 2 MDPartitionID 1 Composite containing the MD Partition ID and MD
• MDPartitionID MDInstanceID 1 Instance ID
• MDInstanceID
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 33
Chapter 4 Message Formats
Hdr - SOF message length 0 4 - Total message length. Can vary based on the
content of the message.
encodingType 4 2 Big Endian
Hdr - SBE blockLength 0 2 10 Length of the root level of the message without
counting any repeating groups or variable-
length fields. Used for reading the fixed length
fields fast.
template ID 2 2 2 The identifier of a message type in a message
schema.
schema ID 4 2 101 This is mentioned in the XML schema file.
schema version 6 2 1 This is mentioned in the XML schema file.
numGroups 8 2 0 Two repeating groups will be present in the
message.
numVarDataFields 10 2 0 No variable length fields.
Application Security Req ID 0 8 REQ01 Request ID - Unique identifier of the request
sent by the client.
Should be specified by the client but no
validation will be done.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 34
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 35
Chapter 4 Message Formats
numVarDataFields 6 2 0
MDEntryType 0 1 NULL Indicates the type of market data
requested.
Value Meaning
0 Bid
1 Offer
g Last Traded Price
NOTE
A Market Data Request with VWAP will
be rejected.
NOTE
Fully or partially duplication of an existing subscription will be rejected. In a Market Data Request, even if there is at least one new
valid subscription for a given instrument, it will be rejected. For example if a user had already requested the bid of instrument_1 and
then sends another request for both bid and offer of instrument_1, the second request will be rejected. The subscription will also be
rejected if there is nothing new to subscribe to for a given instrument. For example, if a user is already subscribed for instrument_1
fully and then sends a second request for both instrument_1 and instrument_2, then the second request will be rejected as there is
nothing new to subscribe for instrument_1.
Security Status
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 36
Chapter 4 Message Formats
Hdr - SOF message length 0 4 - Total message length. Can vary based on
the content of the message.
encodingType 4 2 Big Endian
Hdr - SBE blockLength 0 2 91 Length of the root level of the message
without counting any repeating groups or
variable-length fields. Used for reading the
fixed length fields fast.
template ID 2 2 7 The identifier of a message type in a
message schema.
schema ID 4 2 101 This is mentioned in the XML schema file.
schema version 6 2 1 This is mentioned in the XML schema file.
numGroups 8 2 3 Three repeating groups will be present in
the message.
numVarDataFields 10 2 0 No variable length fields.
Application Appl ID 0 8 e.g. Identifier of the server sending the
PVT_A message.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 37
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 38
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 39
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 40
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 41
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 42
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 43
Chapter 4 Message Formats
Hdr - SOF message length 0 4 - Total message length. Can vary based on the
content of the message.
encodingType 4 2 Big-endian
Hdr - SBE blockLength 0 2 84 Length of the root level of the message without
counting any repeating groups or variable-
length fields. Used for reading the fixed length
fields fast.
template ID 2 2 8 The identifier of a message type in a message
schema.
schema ID 4 2 101 This is mentioned in the XML schema file.
schema version 6 2 1 This is mentioned in the XML schema file.
numGroups 8 2 1 One repeating group will present in this
message.
numVarDataFields 10 2 0 No variable length fields.
Application Appl ID 0 8 e.g.: Identifier of the server sending the message.
PVT_A It is populated by fetching the "Application ID"
(APPL_ID) configuration from process level.
BookStateID 8 8 2 Book State Identifier - Unique State Identifier
of the message being sparsely incrementing
per instrument and orderbook combination.
ConflationID 16 8 It is stamped with the UNIX timestamp of each
conflation and is used to identify messages
that have been transmitted during a certain
conflation quantum.
LastFragment 24 1 TRUE Indicates the last message in a series of order
book snapshot messages for the instrument
per subscribed order book & per requested
MDEntryType combination.
Value Meaning
True Last Message
False Not last Message
If the value does not exist, the message will be
considered as the last snapshot message.
SecurityID 25 10 SEC24 Identification number for the security.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 44
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 45
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 46
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 47
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 48
Chapter 4 Message Formats
Hdr – SOF message length 0 4 - Total message length. Can vary based on the
content of the message.
encodingType 4 2 Big-endian Indicates that (only) the FIX SBE message body will
be AES-128 encrypted using CTR mode.
Hdr – SBE blockLength 0 2 48 Length of the root level of the message without
counting any repeating groups or variable-length
fields. Used for reading the fixed length fields fast.
Template ID 2 2 9 The identifier of a message type in a message
schema.
Schema ID 4 2 101 This is mentioned in the XML schema file. ID =
“101”
schema version 6 2 1 This is mentioned in the XML schema file.
numGroups 8 2 1 Two repeating groups will be present in the
message.
numVarDataFields 10 2 0 No variable length fields.
Application Appl ID 0 8 e.g.: Identifier of the server sending the message.
PVT_A It is populated by fetching the “Application ID”
(APPL_ID) configuration at process level
BookStateID 8 8 3 Book State Identifier – Unique State Identifier of
message being sparsely incrementing per
instrument and orderbook combination.
ConflationID 16 8 It is stamped with the UNIX timestamp of each
conflation and is used to identify messages that
have been disclosed during a certain conflation
quantum.
CreditStateID 24 8 Credit State Identifier – Unique State Identifier
which provides the means to unambiguously refer
to a screened incremental order book update
MessageEventSource 32 1 Indicates the origin/source for Incremental Refresh
generation.
Value Meaning Additional Info
0 Normal This will be
default for both
Multicast and
TCP messages.
1 MDReplenishment Not expected on
MDIR messages
2 BufferedConnection TCP/IP Feed:
Indicates a
previously
buffered
connection,
received when
service is able to
start writing on
the socket again
UDP Feed:
Not applicable
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 49
Chapter 4 Message Formats
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 50
Chapter 4 Message Formats
MDEntryTime 37 8 NULL Time the trade being published was executed. The
time will be specified in UTC and in the
HH:MM:SS.sss format.
Populated if MDEntryType is LTP (g).
NumberOfOrders 45 4 NULL Number of orders represented in the aggregate
quantity published for a bid or offer.
Required if MDUpdateAction is New (0) or Change
(1), MDEntryType is Bid (0) or Offer (1) and the
order book is published by price depth.
MDEntryPositionNo 49 4 NULL Display position of an order in the order book within
a price level.
Required if MDEntryType is Bid (0) or Offer (1) and
the order book is published by order depth.
MDPriceLevel 53 4 NULL Display position of a price level in the order book.
Required if MDEntryType is Bid (0) or Offer (1).
AggressorSide 57 1 NULL Aggressor Side of a trade.
Value Meaning
1 Buyer
2 Seller
Stamped for LTP(g) entries.
ScreenedMDType 58 1 Defines the type of market data entry from credit
perspective
Value Meaning
0 Screened
1 Unscreened
OrdPFill 59 1 Indicates whether there is a possibility of an order
being partially filled in a screened snapshot market
data update if the credit system had indicated there
is not enough credit between the counterparties to
fill that particular order entirely
Value Meaning
0 False
1 True
MDEntryCalculationPeriod 60 4 Defines the time length for VWAP calculation
(seconds)
MDEntryClosingTime 64 8 Defines closing time of the VWAP calculation
period (UNIX timestamp)
CreditCode 72 4 Defines which trade/credit code the credit screened
market data pertains to.
Group block length 0 2 10 Party repeating group inside the first repetition of
the MD Entry group. Not available – will be
stamped with NULL
NumInGroup 2 2 1
numGroups 4 2 0
numVarDataFields 6 2 0
PartyID 0 8 F1 Identifier of the party.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 51
Chapter 4 Message Formats
Hdr – SOF message length 0 4 - Total message length. Can vary based on the
content of the message.
encodingType 2 2 Big Endian
Hdr – SBE blockLength 0 2 8 Length of the root level of the message without
counting any repeating groups or variable-length
fields. Used for reading the fixed length fields fast.
Template ID 2 2 6 The identifier of a MarketDataRequestRejection in
a message schema.
Schema ID 4 2 101 This is mentioned in the XML schema file.
Schema version 6 2 2 This is mentioned in the XML schema file.
numGroups 8 2 0
numVarDataFields 10 2 1
Application MDReqID 0 8 MDRID012
Reason 8 VARIABLE Length = 23
• Length Reason =
“Type already
• Reason subscribed”
Hdr – SOF message length 0 4 - Total message length. Can vary based on the content
of the message.
encodingType 2 2 Big Endian
Hdr – SBE blockLength 0 2 35 Length of the root level of the message without
counting any repeating groups or variable-length
fields. Used for reading the fixed length fields fast.
Template ID 2 2 10 The identifier of a Security Status in a message
schema.
Schema ID 4 2 101 This is mentioned in the XML schema file.
Schema version 6 2 2 This is mentioned in the XML schema file.
numGroups 8 2 0
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 52
Chapter 4 Message Formats
numVarDataFields 10 2 1
Application Transact Time 0 8 Time of the session/instrument status change in
nanoseconds since Unix epoch.
Appl ID 8 16 e.g.: Identifier of the server sending the message.
PUB_A It is populated by fetching the “Application ID”
(APPL_ID) configuration at process level
ApplSeqNo 16 24 Sequence number of the message being sparsely
incrementing per instrument and order book
combination.
SecurityID 24 10 Instrument identifier of the security.
SecurityTradingStatus 34 1 Indicates the trading status of the instrument.
Session Name ID
Halt 2
Regular Trading 17
Post Close 26
Pre-Trading 100
Pause 111
No Active Session 199
The Status for a security can be No Active Session in
the following cases:
• the market is closed
• the market is open and no session has been
configured for that security
• the security has no OB attached
• the security has no trading cycle attached to its
OB
• the instrument status is set to Suspended or
Inactive
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 53
Chapter 4 Message Formats
The messages described below are applicable only for Colo clients who are using the Premium IP Multicast Feed.
Hdr - SOF message length 0 4 - Total message length. Can vary based on the content of
the message.
encodingType 2 2 Big Endian
Hdr - SBE blockLength 0 2 16 Length of the root level of the message without counting
any repeating groups or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 11 The identifier of a DescriptionKey/EoC in a message
schema.
schema ID 4 2 101 This is mentioned in the XML schema file.
schema version 6 2 2 This is mentioned in the XML schema file.
numGroups 8 2 0
numVarDataFields 10 2 1
Application ConflationID 0 8 - Represents the conflation number and is stamped with
the UNIX timestamp of each new conflation.
DecryptionKey 8 variable - FIX SBE body to carry a 128 bits AES-128 description
key as binary data for Co-lo clients.
The field will be populated only for co-lo subscribers on
the multicast market data feed.
For NDFs this will be a dummy wrapper.
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 54
Chapter 4 Message Formats
Hdr - SOF message length 0 4 - Total message length. Can vary based on the content of
the message.
encodingType 4 2 Big-endian
Hdr - SBE blockLength 0 2 52 Length of the root level of the message without counting
any repeating groups or variable-length fields. Used for
reading the fixed length fields fast.
template ID 2 2 12 The identifier of a message type in a message schema.
schema ID 4 2 101 This is mentioned in the XML schema file.
schema version 6 2 1 This is mentioned in the XML schema file.
numGroups 8 2 1 One repeating group will present in this message.
numVarDataFields 10 2 0 No variable length fields.
Application Nonce 0 16 Used to ensure security for a stream cipher.
EncryptionType 16 1 Defines the type of the encryption used.
Value Description
0 None (Unencrypted)
1 AES-128 Counter Mode
ConflationID 17 8 Defines the unique link to the decryption key. It is
stamped with the UNIX timestamp of each conflation.
EncryptedPayload 25 VAR Defines the encrypted message (Header + Application
Body) and can be either:
• Market Data Snapshot Full Refresh
• Market Data Snapshot Incremental Refresh
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 55
Appendix A Version History
LSEG FX Market Data API Specification (FIX SBE Version 2 Release Candidate 2)
Document version 1.3
Date of issue: 18 July 2023 56