The Lab

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Overview

In order to ensure that MarketFactory does not impede the exchange of regulatory information between trading counterparties and intermediaries (ECNs), we ensure that all regulatory fields that are specified in a Venue API are supported in the Whisperer Enterprise API, and mapped.

Rather than provide a loose, generic (i.e. obfuscated) mechanism to convey these fields, Whisperer Enterprise makes explicit provision for SEF, EMIR and MIFID requirements as different categories, each with explicit provision for every field, across the trading lifecycle and through the deal/leg/allocation trade structure, as detailed in Message Structure below.

It needs to be understood that there is significant variation in the interpretation and implementation of all regulatory requirements across the market. By ensuring that all variants are accommodated, it follows that the Whisperer API offers a clear view of market best practice, and the potential impact to Customers intending to integrate with a wide range of Venues.

Another very important implication is that just because a regulatory field is specified in the Whisperer API for a particular message and product type does not mean that it will be populated or supported by every Venue. Similarly, it may well be that our Customers have differing views of their regulatory obligations, such that they do not all need to publish particular fields to a given Venue, or use the regulatory details provided by the Venue, internally.

In order to accommodate this variation, Whisperer Enterprise behaves as follows:

  • If a regulatory field on an inbound Venue message is not populated, then it is because the Venue does not provide it.
  • If a regulatory field is populated on an outbound SBE message from the Client , but the Venue does not support it, then it will be ignored.
  • Reporting obligations bilaterally agreed between Customer and Venue may vary between Maker and Taker roles. The Whisperer API is agnostic to this.

Message Structure

MarketFactory allows clients to reference or populate these regulatory fields for appropriate messages via the use of dedicated repeating groups containing key/value pairs, at the appropriate level within the message structure:


The message body contains the RegulatoryBodies field, which provides an explicit indication whether or not SEF, EMIR or MiFID fields are populated elsewhere in the message structure.

NoBodyRegulatoryFields, NoLegRegulatoryFields and NoAllocRegulatoryFields groups contain sequences of key/value pairs, with keys of type BodyRegulatoryKey, LegRegulatoryKey and AllocRegulatoryKey, respectively.


MessageParent GroupName
QuoteRequest-NoBodyRegulatoryFields
NoLegsNoLegRegulatoryFields
NoLegAllocsNoAllocRegulatoryFields
Quote-NoBodyRegulatoryFields
MassQuote-NoBodyRegulatoryFields
NewOrderMultileg-NoBodyRegulatoryFields
NoLegsNoLegRegulatoryFields
NoLegAllocsNoAllocRegulatoryFields
ExecutionReport


-NoBodyRegulatoryFields
NoLegsNoLegRegulatoryFields
NoLegAllocsNoAllocRegulatoryFields
ExecutionAcknowledgement-NoBodyRegulatoryFields
NoLegsNoLegRegulatoryFields


For more detail reference the SBE Schema.


Venue-Specific Details

The table below sets out what Regulatory keys are supported by Venue and Message


VenueMessageParent Group

Passthru Key

Venue CommentMarketFactory Comment
Standard CharteredQuoteRequestNoBodyPassthruFields

Reference1Optionally supplied notes for this request.-
Standard CharteredQuoteRequestNoBodyPassthruFields

Reference2Optionally supplied notes for this request.-
Standard CharteredQuoteRequestNoBodyPassthruFields

Reference3Optionally supplied notes for this request.-
Standard CharteredQuoteRequestNoBodyPassthruFields

NDFCurrency

Optional tag which can be used to specify the NDF currency if there is ambiguity as to which currency is non deliverable.

NDF, NDS, NDB only.
Standard CharteredQuoteNoBodyPassthruFieldsNDFCurrencyOptional tag which can be used to specify the NDF currency if there is ambiguity as to which currency is non deliverable.NDF, NDS, NDB only.
Standard CharteredQuoteNoBodyPassthruFieldsMaturityTime

Fixing time on the fixing date for the NDF contract. This is an optional field but must be expressed in local time with offset to UTC specified.

NDF only.
Standard CharteredQuoteNoBodyPassthruFieldsBidSwapPointsBid combined points (aka LHS points) for a SWAP/NDS. Points are scaled.

SWP, NDS only.

Standard CharteredQuoteNoBodyPassthruFieldsOfferSwapPoints

Offer Combined points (aka RHS points) for a SWAP/NDS. Points are scaled.

SWP, NDS only.
Standard CharteredQuoteNoBodyPassthruFieldsMidSwapPoints

The mid points for the (SWAP/NDS) quote. Only provided where the client is in scope for Dodd Frank regulations. As the scope is subject to change all clients must be capable of accepting this tag. Points are scaled.

SWP, NDS only.
Standard CharteredQuoteNoLegPassthruFieldsLegMaturityTime

Optional maturity time for this leg if this is an NDF SSP.

NDS, NDB only.
Standard CharteredMassQuoteNoBodyPassthruFieldsNDFCurrencyOptional tag which can be used to specify the NDF currency if there is ambiguity as to which currency is non deliverable.NDF only.
Standard CharteredMassQuoteNoBodyPassthruFieldsMaturityTimeFixing time on the fixing date for the NDF contract. This is an optional field but must be expressed in local time with offset to UTC specified.NDF only.
Standard CharteredNewOrderMultilegNoBodyPassthruFieldsTradingReference1An optional trading reference (will be returned in the execution).-
Standard CharteredNewOrderMultilegNoBodyPassthruFieldsTradingReference2An optional trading reference (will be returned in the execution).-
Standard CharteredNewOrderMultilegNoBodyPassthruFieldsTradingReference3An optional trading reference (will be returned in the execution).-
Standard CharteredNewOrderMultilegNoBodyPassthruFieldsNDFCurrencyOptional tag which can be used to specify the NDF currency if there is ambiguity as to which currency is non deliverable.NDF, NDS, NDB only.
Standard CharteredNewOrderMultilegNoLegPassthruFieldsLegMaturityTimeOptional maturity time for this leg if this is an NDFSSP/NDS. If supplied this will be validated.NDS, NDB only.
Standard CharteredExecutionReportNoBodyPassthruFieldsTradingReference1

Optional trading reference returned if supplied on the NewOrderSingle (35=D).

-
Standard CharteredExecutionReportNoBodyPassthruFieldsTradingReference2Optional trading reference returned if supplied on the NewOrderSingle (35=D).-
Standard CharteredExecutionReportNoBodyPassthruFieldsTradingReference3Optional trading reference returned if supplied on the NewOrderSingle (35=D).-
Standard CharteredExecutionReportNoBodyPassthruFieldsNDFCurrencyFor NDFs this is the NDF Currency.NDF, NDS, NDB only.
Standard CharteredExecutionReportNoBodyPassthruFieldsMaturityTimeFixing time on the fixing date for the NDF contract. This is an optional field but must be expressed in local time with offset to UTC specified.NDF only.
Standard CharteredExecutionReportNoBodyPassthruFieldsMidSwapPoints

The mid swap points at execution for SWAP/NDS. This is only supplied for where compliance is required for Dodd-Frank regulations. Points are scaled.

SWP, NDS only.
Standard CharteredExecutionReportNoLegPassthruFieldsLegMaturityTime

Optional maturity time for this leg if this is an NDFSSP/NDS.

NDS, NDB only.
FXall QuickTradeQuoteRequestNoBodyPassthruFieldsMakerGroupNameThe group handling the order at the Maker.-
FXall QuickTradeQuoteRequestNoBodyPassthruFieldsTakerGroupNameThe name of the group which the Taker that submitted the Order for trading belongs to.-
FXall QuickTradeQuoteRequestNoLegPassthruFieldsSpotDateThe Spot Date of all requirements within this leg.-
FXall QuickTradeQuoteRequestNoAllocPassthruFieldsTakerCustomA field for custom-use by the Taker.-
FXall QuickTradeQuoteRequestNoAllocPassthruFieldsTakerAccountNameThe Taker's name for the account being traded against.-
FXall QuickTradeQuoteRequestNoAllocPassthruFieldsMakerCustomA field for custom-use by the Maker.-
FXall QuickTradeQuoteRequestNoAllocPassthruFieldsSettlementTypeIndicates whether the settlement instructions to be used for this trade are "Standard" or "Special" .-
FXall QuickTradeQuoteNoBodyPassthruFieldsMakerOrderCustomA field for custom-use by the Maker. FXall will store this field on receipt and acceptance by FXall's system and return it to the Maker every subsequent time the DefaultCOrder is sent to the Maker.-
FXall QuickTradeQuoteNoLegPassthruFieldsMakerLegCustomA field for custom-use by the Maker. FXall will store this field on receipt and acceptance by FXall's system and return it to the Maker every subsequent time the DefaultCOrder is sent to the Maker.-
FXall QuickTradeNewOrderMultilegNoBodyPassthruFieldsMakerGroupNameThe group handling the order at the Maker-
FXall QuickTradeNewOrderMultilegNoBodyPassthruFieldsTakerGroupNameThe name of the group which the Taker that submitted the Order for trading belongs to.-
FXall QuickTradeNewOrderMultilegNoBodyPassthruFieldsMakerOrderCustomA field for custom-use by the Maker. FXall will store this field on receipt and acceptance by FXall's system and return it to the Maker every subsequent time the DefaultCOrder is sent to the Maker.-
FXall QuickTradeNewOrderMultilegNoLegPassthruFieldsSpotDateThe Spot Date of all requirements within this leg.-
FXall QuickTradeNewOrderMultilegNoLegPassthruFieldsMakerLegCustomA field for custom-use by the Maker. FXall will store this field on receipt and acceptance by FXall's system and return it to the Maker every subsequent time the DefaultCOrder is sent to the Maker.-
FXall QuickTradeNewOrderMultilegNoAllocPassthruFieldsSettlementTypeIndicates whether the settlement instructions to be used for this trade are "Standard" or "Special" .-
FXall QuickTradeExecutionAcknowledgementNoBodyPassthruFieldsMakerGroupNameThe group handling the order at the Maker-
FXall QuickTradeExecutionAcknowledgementNoBodyPassthruFieldsTakerGroupNameThe name of the group which the Taker that submitted the Order for trading belongs to.-
FXall QuickTradeExecutionAcknowledgementNoBodyPassthruFieldsMakerOrderCustomA field for custom-use by the Maker. FXall will store this field on receipt and acceptance by FXall's system and return it to the Maker every subsequent time the DefaultCOrder is sent to the Maker.-
FXall QuickTradeExecutionAcknowledgementNoLegPassthruFieldsSpotDateThe Spot Date of all requirements within this leg.-
FXall QuickTradeExecutionAcknowledgementNoLegPassthruFieldsMakerLegCustomA field for custom-use by the Maker. FXall will store this field on receipt and acceptance by FXall's system and return it to the Maker every subsequent time the DefaultCOrder is sent to the Maker.-



  • No labels