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

Table of Contents

Supported Instruments

Expand


Table Filter
totalrow,,,,,,,,,,,,
hidelabelsfalse
sparkNameSparkline
hidePanetrue
sparklinefalse
defaultt360_tex_maker,MDBookType(PricingSession)&&MDEntryType(PricingSession)&&Comments&&ExecutionVenue&&client_role&&MDBookType (SessionType == Pricing)&&MDEntryType (SessionType == Pricing)&&target_platform&&MDBookType&&MDEntryType
isFirstTimeEnterfalse
cell-width250,250
hideColumnstrue
disabledfalse
enabledInEditorfalse
globalFilterfalse
id1687964860990_1478553480
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
defaultt360_tex
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1643361481644_-31567853
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
defaultt360_tex
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1643361523961_875985565
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
sparkNameSparkline
hidePanetrue
isNewfalse
separatorPoint (.)
ddSeparatorstrue
defaultt360_tex
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1643361544324_-177677215
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

Tenors

Warning
titleBe careful when referencing tenor values from 360T.
MarketFactory recommend that Makers always reference the provided value dates in order to correctly price 360T requests.

...

  • FWD, NDF, SWP, NDS requests with allocations (360T "Trade on Behalf", TOB) never include tenor codes, Whisperer will always pass such requests through as Broken-dated.
  • In the "Classic" applet, User IMM dates (March, June, September and December) are passed through as specific tenors. In the Bridge UI however, the same selections are delivered as broken dates.
  • Note also that in UAT at least, 360T Tenors via the Bridge are currently subject to change.


FX Block Trading Overview

Whisperer Enterprise aggregates allocations into distinct legs grouped per LegSettlDate/ LegSettlType, as per standard market convention across most venues.

360T Block Trades are a simple list of individual allocations with no direct grouping by date.

...

Details of the Whisperer transformation of the Block trades are as follows:

Technical Workflow

When the Whisperer API receives a

...

Block QuoteRequest

...

 from 360T, it

...

performs a deterministic netting process to simplify the request for the client:

  1. Allocation Identification: Whisperer identifies all constituent allocations within the incoming request.
  2. Per-Leg Netting: Allocations are netted per value date (leg

...

  1. ) to determine the net quantity for each specific date.
  2. Side Determination: Whisperer calculates the aggregate LegSide across all legs to define the global direction of the request. Note that all 360T Block requests are one-way (strictly Buy or strictly Sell).

Client Pricing Logic

To provide an accurate quote for a multi-leg block, clients must follow a specific pricing sequence:

  1. Determine Aggregate Trade Side: Net the leg quantity across all legs to identify the overall direction of the trade.
  2. Price the Spot Component: Use the aggregate

The Client needs to take the following steps in order to price the Quote correctly:

...

  1. trade side to determine the correct side (bid or offer) and

...

  1. value

...

  1. for the Spot rate.
  2. Calculate Leg-Specific Forward Points: For each individual leg, reference its specific 
  1. LegSide to determine the appropriate side

...

  1. and

...

  1. value for forward points.
  2. Compute All-in Price: The final Quote for each leg

...

  1. is the sum of the

...

  1. global Spot rate and the leg-specific Forward Points (Spot + Forward Points = All-in Price).

Upon receiving the client's response, Whisperer uses the original allocation side to populate the correct price field in the 360T Quote message: either LegBidPx (Tag 681) or LegOfferPx (Tag 684).

MarketFactory Gateway Attribute Mapping

The following table details how the MarketFactory gateway maps and handles specific Block Trade attributes between Legs and Allocations:

AttributeMF Leg AttributesMF Allocation Attributes
Number of legs/ AllocationsNoLegs (Tag 555): Determined by the total number of unique LegSettlDate values.NoLegAllocs (Tag 670): Determined by the number of 360T allocations sharing the same LegSettlDate.
QuantityLegOrderQty (Tag 685): The aggregate netted quantity of all legs sharing a specific LegSettlDate.LegAllocQty (Tag 673): The individual quantity of the specific allocation, specified in terms of LegSideNote: This value can be negative.
RegulatoryNoLegRegulatoryFields (Tag 20060): Group containing regulatory data mapped at the leg level.NoLegAllocRegulatoryFields (Tag 20080): Group containing regulatory data mapped at the individual allocation level.

For detailed field support, please refer to the Regulatory Fields section for the supported LegRegulatoryKey and AllocRegulatoryKey per FIX message.


Certification 

360T requires that the MTF certification is done with the specific algo-id that is to be used in production.

As a sidenote to this, if a client would like to add an algo id in the future, this will also require a further conformance test for the MTF side to verify the algo id.

PartyIDs

...

Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
separatorPoint (.)
default360T_TEX
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1607343391861_975982149
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.

Regulatory Fields

...

Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
separatorPoint (.)
default360T_TEX
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1607343330248_254734612
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.

Passthru Fields

Forward Time Options

Clients interested in trading Forward Time Options should be on Whisperer schema version 19457 or later. 

Please take note of the following when trading Forward Time Options:

  • SecurityType - Should be FTO in SecurityType and LegSecurityType.
  • TimeOptionStartTenor - Conditionally required to specify the start of the settlement period in standard tenor.
  • TimeOptionStartDate - Conditionally required when TimeOptionStartTenor = BKN to specify the start date of the settlement period.
  • LegSettlType - Specifies a standard tenor for the end of the settlement period. This is a required field when trading Forward Time Options.
  • LegSettlDate - Specifies the end date of the settlement period in a Forward Time Option. Conditionally required when LegSettlType = BKN.

Please refer to 2025-02-18 - Whisperer API Upgrade to v19457 for further info

...

Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
separatorPoint (.)
default360T_TEX
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1607343353844_-1765217357
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 for the full Enterprise table across all venues.