Matching Single-Sided Trades
This page describes the fields that will be used to match single-sided trades. These fields are the same across all asset classes. Any match criteria that is specific to an asset class is mentioned for the asset class.
Match Criteria for Outright Trades
The following fields are used for matching of single-sided outright trades.
Field | XPath | Description | Applicable to Security Type |
---|---|---|---|
Contract Attributes | |||
Exchange | TrdCaptRpt/Instrmt/@Exch | The Exchange where the contract trades. | All |
Security Type | TrdCaptRpt/Instrmt/@SecTyp | The Security Type Supported Values: FUT – Future OPT – Option FWD- Forward | All |
Product ID | TrdCaptRpt/Instrmt/@ID | The Product ID assigned by Clearing | All |
Maturity | TrdCaptRpt/Instrmt/@MMY | The Contract Period Code. OTC FX Forwards – this field must contain the contract’s Fixing Date. | All |
Put or Call | TrdCaptRpt/Instrmt/@PutCall | Put or Call for the Option Supported Values: 0 – Put 1 – Call | OPT |
Strike Price | TrdCaptRpt/Instrmt/@StrkPx | The Strike price of the Options Contract | OPT |
Underlying Contract Attributes | |||
Underlying Exchange | TrdCaptRpt/Undly/@Exch | The Exchange of the Underlying Product. | OPT |
Underlying Security Type | TrdCaptRpt/Undly/@SecTyp | The Security Type of the Underlying. Supported Values: FUT – Future FWD - Forward MLEG – Spread/Combo | OPT |
Underlying Product ID | TrdCaptRpt/Undly/@ID | The Product ID of the Underlying | OPT |
Underlying Maturity | TrdCaptRpt/ Undly/@MMY | The contract period code of the underlying product. | OPT |
Party Attributes | |||
Trading Firm /Broker and corresponding trader ids | /TrdCaptyRpt/RptSide/Pty/ @R /TrdCaptyRpt/RptSide/Pty/ @ID | Supported Values: 7 - Trading Firm 30 – Broker 36 – Trader ID 62 – Broker User ID | All |
Opposite Trading Firm and corresponding trader IDs | /TrdCaptyRpt/RptSide/Pty/ @R /TrdCaptyRpt/RptSide/Pty/ @ID | Supported Values: 17 – Opposite Trading Firm 37 – Opposite Trader ID | All |
Other Trade Attributes | |||
Buy Sell Code | /TrdCaptRpt/RptSide/@Side | Supported Values: 1 – Buy 2 – Sell | All |
Trade Type | /TrdCaptRpt/RptSide/@TrdTyp | The Trade Type | All |
Notional Amount/ Trade Qty | /TrdCaptRpt/@LastQty | All | |
/TrdCaptRpt/@LastPx | The Trade Price | All | |
Price Type | /TrdCaptRpt/@PxTyp | Supported Values: 1 – Percentage 2 - Unit | |
Original Trade Date | /TrdCaptRpt/@OrigTrdDt | The Original Trade Date. Typically specified if the trade date is less than the trade date. | All |
Trade Sub Type | /TrdCaptRpt/@TrdSubTyp | Supported Values: 36 – Aged Deal 40 – Traded at settlement | All |
Other Rules and Validation for Outright Matching
The Src attribute in the Instrument block is required on all trade submissions even though it is not a match criterion.
The Underlying (Undly) block must be specified for all Options contracts.
Party Role matching rules
Opposite Trading firm (Party Role 17) is always required. This is matched against the Trading firm or Broker Firm on the opposite trade.
An Opposite Trader ID (Party role 37) is required on single side trade submissions. This is matched against a Party Role 36 (specified for the Trading firm or Asset Manager Firm) or against Party Role 62 (specified for the Broker firm).
Quantity matching rules
The Quantity type (QtyTyp) is required even though it is not a match criterion.
Quantities can be specified in contracts or units as specified in the Quantity type by both sides. The quantities are converted to contract terms before matching.
An alternate Time Unit (TmUnit) is supported optionally for certain products. The quantity is standardized to the default time unit before the match.
OTC FX transactions can match only if the notional quantities are entered in the same currency terms (base or settlement).
OTC FX Options prices on each side must be expressed in the same price method (PIPs price vs. Percentage price) in order to match.
The negotiated price must be submitted. All the prices and amounts that were negotiated on must be specified by both sides for a match to occur. All other trades are matched on trade price.
If Original Trade Date (OrigTrdDt) is specified, the Trade Sub type (TrdSubTyp=36) must be specified. Original Trade Dates must be equal for two sides to match.
Match Criteria for Spread Trades
The following fields are used for matching of single-sided Spread trades.
Field | XPath | Description | Security Type |
---|---|---|---|
Contract Attributes | |||
Exchange | TrdCaptRpt/Instrmt/@Exch | The Exchange where the contract trades. | MLEG |
Security Type | TrdCaptRpt/Instrmt/@SecTyp | The Security Type Supported Values: MLEG – Spread/Combo | MLEG |
Leg Contract Attributes | |||
Leg Exchange | TrdCaptRpt/TrdLeg/Leg/@Exch | The Exchange for the leg contract | MLEG |
Leg Security Type | TrdCaptRpt/TrdLeg/Leg/ @SecTyp | The Security Type of the Underlying. Supported Values: FUT – Future FWD- Forward OPT – Option | MLEG |
Product ID | TrdCaptRpt/TrdLeg/Leg/@ID | Leg Product Id | MLEG |
Leg Maturity | TrdCaptRpt/Instrmt/TrdLeg /Leg/@MMY | The Contract Period Code. OTC FX Forwards – this field must contain the contract’s Fixing Date. | MLEG |
Leg Put or Call | TrdCaptRpt/Instrmt/TrdLeg /Leg/@PutCall | Put or Call for the Option Supported Values: 0 – Put 1 – Call | MLEG (with Option leg) |
Leg Strike Price | TrdCaptRpt/Instrmt/TrdLeg /Leg/@Strk | The Strike Price for the leg | MLEG (with Option leg) |
Leg Buy Sell Code | TrdCaptRpt/Instrmt/TrdLeg /Leg/@Side | Supported Values: 1 – Buy 2 - Sell | MLEG |
Leg Price Type | /TrdCaptRpt/TrdLeg/@PxTyp | If leg prices are specified, then the price type has to be specified for OTC FX Options Supported Values: 1 = Percentage 2 = Per unit (standard convention) | MLEG (with OTC FX Option leg) |
Leg Price | /TrdCaptRpt/TrdLeg/@LastPx | The Leg Price | MLEG |
Leg Quantity | /TrdCaptRpt/TrdLeg/@LastQty | The trade Quantity associated with the leg | MLEG |
Leg Underlying Contract Attributes | |||
Underlying Exchange | TrdCaptRpt/TrdLeg/Undlys/Undly/@Exch | The Exchange of the Underlying Product | MLEG (with Option leg) |
Leg Underlying Security Type | TrdCaptRpt/TrdLeg/Undlys/ Undly/@SecTyp | The Security Type of the leg Underlying. Supported Values: FUT – Future FWD- Forward | MLEG (with Option leg) |
Leg Underlying Product ID | TrdCaptRpt/ TrdLeg/Undlys/Undly/@ID | The Product ID of the leg Underlying | MLEG (with Option leg) |
Leg Underlying Maturity | TrdCaptRpt/ TrdLeg/Undlys/Undly/@MMY | The contract period code of the leg underlying product. | MLEG (with Option leg) |
Party Attributes | |||
Trading Firm /Broker and corresponding trader ids | /TrdCaptyRpt/RptSide/Pty/ @R /TrdCaptyRpt/RptSide/Pty/ @ID | Supported Values: 7 - Trading Firm 30 – Broker 36 – Trader ID 62 – Broker User Id | MLEG |
Opposite Trading Firm and corresponding trader ids | /TrdCaptyRpt/RptSide/Pty/ @R /TrdCaptyRpt/RptSide/Pty/ @ID | Supported Values: 17 – Opposite Trading Firm 37 – Opposite Trader ID | MLEG |
Other Trade Attributes | |||
Buy Sell Code | /TrdCaptRpt/RptSide/@Side | Supported Values: 1 – Buy 2 - Sell | MLEG |
Trade Type | /TrdCaptRpt /@TrdTyp | The Trade Type | MLEG |
Trade Price | /TrdCaptRpt/@LastPx | The Differential Price | MLEG |
Original Trade Date | /TrdCaptRpt/@OrigTrdDt | The Original Trade Date. Typically specified if the trade date is less than the trade date. | MLEG |
Trade Sub Type | /TrdCaptRpt/@TrdSubTyp | Supported Values: 36 – Aged Deal 40– Traded at settlement |
Other Rules and Validation for Spread Matching
Party Role matching rules
Opposite Trading firm (Party Role 17) is always required. This is matched against the Trading firm or Broker Firm on the opposite trade.
An Opposite Trader ID (Party role 37) is required for single side trade submissions. This is matched against a Party Role 36 (specified for the Trading firm or Asset Manager Firm) or against Party Role 62 (specified for the Broker firm).
Quantity matching rules
Quantities must be specified at the leg level. Any quantity specified at the spread level is ignored.
The Quantity type (QtyTyp) is required even though it is not a match criterion.
Leg quantities can be specified in contracts or units as specified in the Quantity type by both sides. The quantities are converted to contract terms before matching.
An alternate Time Unit (TmUnit) is supported optionally for certain products. The quantity is standardized to the default time unit before the match.
OTC FX transactions can match only if the notional quantities are entered in the same currency terms (base or settlement).
OTC FX Options prices on each side must be expressed in the same price method (PIPs price vs. Percentage price) in order to match.
All trades are matched on trade price.
If Original Trade Date (OrigTrdDt) is specified, the Trade Sub type (TrdSubTyp=36) must be specified. Original Trade Dates must be equal for two sides to match.
Price Matching Rules
Either the differential price or the leg prices must be submitted because it is used for matching. If both the leg prices and differential price are specified, the differential price is ignored and only the leg prices is used for matching purposes.
If a differential price is specified on the side (instead of leg prices), then both sides must specify the same differential price. Both price and sign must match (positive diffs can only match with positive diffs, negative diffs can only match with negative diffs).
4. If Original Trade date (OrigTrdDt) is specified on the trade, the Trade Sub type (TrdSubTyp 36 = Aged deal) must be specified.
5. Rules for specifying sides on spread trades for match
Both the submitters can specify the same buy sell code or the opposite buy sell code at the spread level.
If the buy sell code specified at the spread level are specified differently by each submitter
The buy sell code for the legs must match e.g. both the submitters must submit the same buy sell code for the leg contract.
The differential price if specified must be equal.
Note: The submitters can either provide leg prices or Diff Price. This is for illustration purposes only.
Submitter | Spread Buy Sell Code | Leg 1 | Leg 2 | Diff Px |
---|---|---|---|---|
Buyer | Buy | Buy CL-K11 | Sell CL- M11 | 2.00 |
Seller | Sell | Buy CL-K11 | Sell CL- M11 | 2.00 |
If each submitter submits the same buy sell code
The buy sell code specified at the leg level by each submitter must be on the opposite side or reversed.
The differential price if specified must be equal.
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.