• An EXCHANGE_BEST value is provided and corresponds to an onMarketUpdate() callback in MAPI.

• The onScreenedMarketUpdate() callback is translated to a pure LEVEL entry.

• Reuters has a "Standard Quantity" which is sent via the onAggregateUpdate() callback. This is a price at which there is a cumulative amount of liquidity available; the specific amount depends on currency pair and is specific to Reuters. This is translated to an amount constraint.

• Reuters sends market data updates every 250ms. However, it is important to note that the amount constraint updates and the pure level updates do not occur in sync. The MarketFactory software keeps track of this internally and only forwards information that is new and consistent.

• The counterPartyId data element in the TradeCaptureMessage will contain a JSON object with the Party information.


{
	"PartyInfo": [ {
		"PartyID":"LONDON BANK E",
		"PartySubIDs": [ {
			"PartySubID":"BBAG",
			"PartySubIDType":"25"
		} ]
	} ]
}
PartyID = 1117 PartySubIDs.PartySubID = 1121 PartySubIDs.PartySubIDType = 1122


Reuters MAPI

The only order type available for Reuters is LIMIT. These orders all contain a Time in Force that determines how long the order will remain open and resting with the Trading Venue if not filled immediatly, the Times in Force supported by Whisperer are Immediate or Cancel (IOC) and Good Till Cancel (GTC). However, in the instance of Reuters, GTC is executed as an order submitted with a Time in Force of DAY. This is primarily because GTC as a time in force is not supported by the trading venue.

A time in force of DAY allows the order to remain on the trading venue till the end of the trading day. Any open orders still with the exchange will be cancelled when the Gateway closes the market, notice events of the cancellations will be transported to customers to update Net Open Position (NOP) systems and close the open orders.

The table below lists the Times in Force supported by the trading venue and the values entered for FIX tag 59 (which specifies Time in Force) with the highlighted rows identifying the MarketFactory supported Times in Force.

Fix TagValueDescriptionSupported by Whisperer as:
590DAY (This is also the default if no
value is entered for the tag)
GTC
593Immediat or Cancel (IOC)IOC
596Good Till Date (GTD)Not presently supported
59AGood for Time (GFT)Not presently supported


Reuters Iceberg Strategy


SUPPORTED in Whisperer Server since version 2021.19.WC.A

 

To specify an Iceberg add 2 KeyValue pair objects to the submitOrder method 'params' parameter.

 

KeyValue Objects

Key

Value

style

iceberg

reutersMAPIIcebergStrategyParameters

comma separated list of Reuter's Iceberg Strategy Parameters as per the table below

 


Reuter's Iceberg Strategy Parameters


Key

Values

Tip specification

T

If Defined use D
If Random use R

First Tip Quantity

Q1

Used when Tip specification is 'Defined'
Specified in Number of Millions eg. '1' or '2', or '3' etc

Second Tip Quantity

Q2

Used when Tip specification is 'Defined'
Specified in Number of Millions eg. '1' or '2', or '3' etc

Third Tip Quantity

Q3

Used when Tip specification is 'Defined'
Specified in Number of Millions eg. '1' or '2', or '3' etc

minimum random tip

Qmin

Used when Tip specification is 'Random'
The lower bound for the randomly chosen quantity

maximum random tip

Qmax

Used when Tip specification is 'Random

The upper bound for the randomly chosen quantity

refresh delay

D

If not specified then no delay is used and refreshes will be immediate

 

The ID number of the chosen delay range.

The current list can be obtained via the MDFD servers in ITDM (FID -10775) of the Configuration DataMode

  

Java API Iceberg Examples:

A Random Iceberg with tips between 2 and 4 million showing each time.

final ArrayList<KeyValue> params = new ArrayList<KeyValue>();
params.add(new KeyValue("style", "iceberg"));
params.add(new KeyValue("reutersMAPIIcebergStrategyParameters", "T=R,Qmin=2,Qmax=4"));

 

A Defined Iceberg with 1 million first, 1 million second show with a delay between each (range 2)

final ArrayList<KeyValue> params = new ArrayList<KeyValue>();
params.add(new KeyValue("style", "iceberg"));
params.add(new KeyValue("reutersMAPIIcebergStrategyParameters", "T=D,Q1=1,Q2=2,D=2"));




CounterPartyID use via SBE on Reuters MAPI

SBE does not support the display of  the FULL CounterPartyID detail at present.

Therefore make sure your connection configuration does not include the JSON extra with value "FULL_CONTRAPARTYINFO".

See this ticket from Flow Traders around this issue to see the garbled format of the counterpartyID when the extra JSON value of FULL_COUNTERPARTINFO is used in the Reuters MAPI connection configuration.