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

...

Order TypeCategoryDescription 40/OrdType44/Price99/StopPrice210/MaxShow110/MinQty389/DiscretionOffsetValue211/PegOffsetValue836/PegOffsetType




Limit priceStop priceIceberg tip size
Added to Bid or subtracted from Offer limit price to specify the allowed slippage for the order.

MarketMarket

An instruction to deal immediately at the best possible price (the current rate) OR

An instruction to deal during the auction/fixing time at the closing auction/fixing price if sent with TIF=GFA. (eg, eFIX orders on EBS)

Market-------
Dark MarketMarketEquities-specific.Market--ZeroOptional---
Market RangeMarketAKA "Market With Protection". A market order with specified slippage.Market----Mandatory--
Market To LimitMarketOrder that starts as a Market order and in the event of a partial fill,  executes any leaves quantity as a Limit order.MarketLimit-------
Market If TouchedMarketMarket order will be submitted to market when a specified price is reached. Here, StopPrice is used to convey the Trigger price. This value should be better than the market price.IfTouched-Mandatory-----
Previously QuotedLimitAn order to hit an individual quote. To hit multiple quotes, aka sweeping, the user must submit individual orders from best to worst price.PreviouslyQuotedMandatory---'---
LimitLimitAKA "Take Profit". An instruction to deal if a market moves to a more favourable level. Where multiple partial fills are allowed, a Volume Weighted Average Price (VWAP) of the total order quantity may be provided as the limit price.LimitMandatory--Optional---
Dark LimitLimitAKA "Hidden Limit", "Ghost", "Sniper". A form of Iceberg, where the market-visible order qty is set to zero.LimitMandatory-ZeroOptional---
Limit To MarketLimitOrder that starts as a Limit order and in the event of a partial fill,  executes any leaves quantity as a Market order.FunariMandatory--Optional---
Limit If TouchedLimitLimit order will be submitted to market when a specified price is reachedIfTouchedMandatoryMandatory-Optional---
IcebergLimitAKA "Reserve". A limit order that has both displayed and hidden components.LimitMandatory-Mandatory----
AllOrNoneLimitA limit order with the remaining order quantity as MinQty.LimitMandatory--Mandatory---
PeggedLimitAn order with an offset to the prevailing market rate. The displayed quantity will float with the market.Pegged--Optional--MandatoryMandatory
Pegged To LimitLimitA Pegged order, but the displayed quantity will only float up to the limit price of the order.PeggedMandatory-Optional--MandatoryMandatory
DiscretionLimitAKA "Limit With Protection". A limit order with specified slippage. The market sees only the limit price.LimitMandatory---Mandatory--
StopStopAKA "Stop Loss". An instruction to deal if a market moves to a less favourable level.Stop-Mandatory-----
Trailing StopStopThe Stop Price follows the market by a specified offset.Stop-----Mandatory-
Stop LimitStopExecutes an exposure-reducing limit order when market exceeds order's price.StopLimitMandatoryMandatory-----
Trailing Stop LimitStopA Stop Limit order where the stop trigger price is at a fixed amount below the market price, based on the user-defined "trailing" amount. The limit order price is also continually recalculated based on the limit offset.StopLimit----MandatoryMandatory-

...

  • StrategyParameterType14/String
  • StrategyParameterName:  "TargetStrategy"
  • StrategyParameterValue: "LP-assigned name of desired Algo"

Where appropriate, Whisperer will normalise algos and algo parameters. Other strategy parameters must be populated as per LP requirements for the specific Algo. The ; the Client will need to reference the venue-provided specifiec API documentation for this detail.

Pegged Orders

Pegged Orders are smart Limit Orders that automatically adjust their limit price by tracking the market's BestBidOffer (BBO) or the mid-point price to remain competitive, achieve a fair price, and faster fills.

Clients are required to populate the following fields in the HasExtendedOrderFields repeating group to submit a Pegged order:

  • PegPriceType
  • PegOffsetValue
  • PegOffsetType

A brief overview of a couple of Pegged order features offered by ECNs that we are implementing:

Collapse to Mid vs Mid Discretionary

...

When a strategy parameter is populated for a venue which does not support it, the order or order modification will be rejected.

BenchmarkOrFixing Order Normalisation

Due to their widespread availability, these orders are supported in NewOrderMultileg and  MultilegOrderCancelReplaceRequest as follows:

StrategyParameterNameStrategyParameterTypeStrategyParameterValue
TargetStrategyString

BenchmarkOrFixing

FixingSourceString

mandatory. Fixing sources vary by LP, but naming is normalised as follows:

  • BFIX - Bloomberg FX Fixings
  • BOE - Bank of England daily spot exchange rates
  • CNHFIX - Offshore renminbi (CNH) FX benchmark
  • LBMA -  London Bullion Market Association
  • TKFE - Thomson Reuters Screen Page "TKFE"
  • WMR - WM/Reuters benchmark rates
FixingDateLocalMktDate

YYYYMMDD

FixingTimeTZTimeOnly

16:00

FixingTimeZoneString

Mandatory. Fixing timezones vary by LP, but naming is normalised as follows:

  • CET - Central European Time
  • EUR
  • GMT - Greenwich Mean Time
  • HKG - Hong Kong
  • LON - London
  • NYK - New York
  • SNG - Singapore
  • SYD - Sydney
  • TKY - Tokyo

FillNow Normalisation

"Fill Now" is an instruction to immediately fill a pre-existing order at the best price possible, supported by the following algo providers:

FillNow is not supported in NewOrderMultileg - it is applicable to pre-existing orders only.

The following strategy parameters are supported in MultilegOrderCancelReplaceRequest:

StrategyParameterNameStrategyParameterTypeStrategyParamaterValue
FillNowBoolean
  • Y / N - absence implies N
FillNowQtyQty
  • optional when supported by the venue and FillNow=Y, must not be populated when N or absent.

Pegged Orders

Pegged Orders are smart Limit Orders that automatically adjust their limit price by tracking the market's BestBidOffer (BBO) or the mid-point price to remain competitive, achieve a fair price, and faster fills.

Clients are required to populate the following fields in the HasExtendedOrderFields repeating group to submit a Pegged order:

  • PegPriceType
  • PegOffsetValue
  • PegOffsetType

A brief overview of a couple of Pegged order features offered by ECNs:

Collapse to Mid vs Mid Discretionary

Collapse to Mid (CTM) and Mid Discretionary (MDO) are pegged order features offered by ECNs to reduce the time to fill an order by improving the matching opportunity. CTM and MDO allow pegged orders to match at or up to the mid-point price of the BestBidOffer (BBO) when an opposing order arrives with the same entitlements.


Collapse to MidMid Discretionary

Description

Collapse to Mid (CTM) pegged orders match at an ECN-defined mid-point price when an opposing order exists with the same entitlements.

Mid Discretionary pegged orders rest as a passive order, with the discretion to move up to the mid-point price of the BBO when an opposing order arrives with the same entitlements.

Function & Priority

Faster fills compared to MDO.

As CTM orders compete to match at the ECN-defined mid-point price from the start, the matching opportunity for CTM pegged orders is greater compared to MDO pegged orders.

When the attempt to match as a passive order fails, MDO orders move up to the mid-point price of the

...

Description

...

Collapse to Mid (CTM) pegged orders match at an ECN-defined mid-point price when an opposing order exists with the same entitlements.

...

Mid Discretionary pegged orders rest as a passive order, with the discretion to move up to the mid-point price of the BBO when an opposing order arrives with the same entitlements.

...

Function & Priority

...

Faster fills compared to MDO.

As CTM orders compete to match at the ECN-defined mid-point price from the start, the matching opportunity for CTM pegged orders is greater compared to MDO pegged orders.

...

When the attempt to match as a passive order fails, MDO orders move up to the mid-point price of the BBO to improve matching opportunity.

...

Resting period

...

Aggressive.

As a result of greater matching opportunity, the time that CTM orders rest on the book is shorter compared to MDO orders.

...

Passive.

Rests on the book longer compared to CTM orders, as MDO starts as a passive order, and when attempting to match using mid-discretion, it should satisfy the price limitations of the opposing order to match.

...

MF API interface

...

Clients trading CTM orders should populate the following fields in the NewOrderMultileg -

  • PegPriceType = MarketPeg
  • BodyPassthruKey = CollapseToMid with BodyPassthruValue = Y.

...

Clients trading MDO orders should populate the following fields in the NewOrderMultileg -

  • PegPriceType = PrimaryPeg
  • BodyPassthruKey = MidDiscretionary with BodyPassthruValue = Y.

...

Supported venues

...

Offered by the following ECN(s):

...

Offered by the following ECN(s):

BBO to improve matching opportunity.

Resting period

Aggressive.

As a result of greater matching opportunity, the time that CTM orders rest on the book is shorter compared to MDO orders.

Passive.

Rests on the book longer compared to CTM orders, as MDO starts as a passive order, and when attempting to match using mid-discretion, it should satisfy the price limitations of the opposing order to match.

MF API interface

Clients trading CTM orders should populate the following fields in the NewOrderMultileg -

  • PegPriceType = MarketPeg
  • BodyPassthruKey = CollapseToMid with BodyPassthruValue = Y.

Clients trading MDO orders should populate the following fields in the NewOrderMultileg -

  • PegPriceType = PrimaryPeg
  • BodyPassthruKey = MidDiscretionary with BodyPassthruValue = Y.

Supported venues

Offered by the following ECN(s):

Offered by the following ECN(s):


Spread Orders

Overview

A calendar spread is a futures strategy with simultaneous long and short positions on the same underlying asset but with different expiry dates

  • Bull spread: When a trader buys the nearby month and sells the deferred month.
  • Bear spread: When a trader sells the nearby month and buys the deferred month. 

Whisperer currently only supports Bull Calendar Spreads which are defined with Buy near and Sell far legs.

Order Submission

Side: The LegSide of the first Leg on the client message to Whisperer will represent the Side of the Spread. 

Leg1

Leg2

Action on Spread

Buy

Sell

Buys the spread - buys leg1, sells leg2

Sell

Buy

Sells the spread - sells leg1, buys leg2

Price: The Price on the order will be the spread price. The LegPrice mustnot be populated on the request.

ExecutionReport

The following ExecutionReport messages are published for Fills:

  • 1 Notional Fill: Trade information for the overall Spread, followed by
  • 2 Leg Fills: Trade information for each of the legs. 

The Notional fill and Leg fills for a given trade will all have the same SecondaryExecID

The legs on Notional fill will have the overall Notional fill information with 

  • OrdStatus: Calculated
  • ExecType: Calculated

Restatements

Restatements are ExecutionReport messages that are sent by the venue to notify the client of unsolicited changes to order status. They are identified with ExecType=Restated, with ExecRestatementReason also populated to specify the reason. MarketFactory categorises these according to the table below:

CategoryExecRestatementReason
Unsolicited pause/resume
  • SuspendedByVenue
  • ReleasedByVenue
Unsolicited cancellation
  • PartialDeclineOfOrderQty - e.g. cancellation of remaining order quantity due to violation of instrument minimum order size
  • CancelOnTradingHalt
  • CancelOnSystemFailure
  • Canceled
  • CancelOnConnectionLoss
  • CancelOnLogout
  • CancelledForTradePriceViolation
  • CxldSMP
Unsolicited amendment
  • VerbalChange
  • RepricingOfOrder
  • BrokerOption
  • Other

Order Restatement

(no changes - e.g. start of week renewal of GTC order)

  • GTRenewal

Spread Orders

Overview

A calendar spread is a futures strategy with simultaneous long and short positions on the same underlying asset but with different expiry dates

  • Bull spread: When a trader buys the nearby month and sells the deferred month.
  • Bear spread: When a trader sells the nearby month and buys the deferred month. 

Whisperer currently only supports Bull Calendar Spreads which are defined with Buy near and Sell far legs.

Order Submission

Side: The LegSide of the first Leg on the client message to Whisperer will represent the Side of the Spread. 

Leg1

Leg2

Action on Spread

Buy

Sell

Buys the spread - buys leg1, sells leg2

Sell

Buy

Sells the spread - sells leg1, buys leg2

...

ExecutionReport

The following ExecutionReport messages are published for Fills:

  • 1 Notional Fill: Trade information for the overall Spread, followed by
  • 2 Leg Fills: Trade information for each of the legs. 

The Notional fill and Leg fills for a given trade will all have the same SecondaryExecID

The legs on Notional fill will have the overall Notional fill information with 

...

Trade Correct/Cancel

A trade correct/cancel message can be sent on ExecutionReports with ExecType=Trade to notify the clients of any trade amendments or cancellations. 

...