Page History
| Table of Contents |
|---|
...
Central Limit Order Book
Order Depth
The This is the unconflated, raw, view of each individual order, and it's place within the Central Limit Order Book (CLOB). UsuallyCLOB containing maximum market information. It is usually, but not always, ranked by price and then time. All the following CLOB examples are based off this book data.
Each MDEntry is a separate resting order in the Venue.
Orders which have MinQty (including FullAmount) or LotSize constraints will have a single NoOfSecSizes group populated for this MDEntry.
NoOfSecSizes | Number Of Orders | Qty | Bid | OrderDepth | Offer | Qty | Number Of Orders | NoOfSecSizes | (MinQty) | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1.20011 | 1 | 1.20020 | 3 | 1 | 3 | ||||||||||||||||||||||||||||||||
| 2 | 1 | 2 | 1.20000 | 2 | 1.20020 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1.20000 | 3 | 1.20023 | 3 | 1 | 3 | ||||||||||||||||||||||||||||||||
| 2 | 1 | 2 | 1.19997 | 4 | 1.20029 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
| 2 | 1 | 2 | 1.19997 | 5 | 1.20037 | 4 | 1 | 4 | ||||||||||||||||||||||||||||||||
| 5 | 1 | 5 | 1.19995 | 6 | 1.20042 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
| 2 | 1 | 2 | 1.19987 | 7 | 1.20042 | 3 | 1 | 3 | ||||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1.19974 | 8 | 1.20042 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1.19961 | 9 | 1.20056 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
| 5 | 1 | 5 | 1.19961 | 10 | 1.20063 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||
| 7 | 1 | 7 | 1.19910 | 11 |
|
| ||||||||||||||||||||||||||||||||||
|
|
|
| 12 |
|
|
|
| ||||||||||||||||||||||||||||||||
|
| 13 |
|
|
|
| ||||||||||||||||||||||||||||||||||
|
|
|
| 14 |
|
|
|
| ||||||||||||||||||||||||||||||||
|
|
|
| 15 |
|
| ||||||||||||||||||||||||||||||||||
NOTE: All the following CLOB examples are based off the above book data. Quantities in red denote FullAmount constraints.
Price Depth
An Order Depth book, where multiple orders at a given price/side are aggregated together. Depending on the Venue, order count NumberOfOrders or a full NoOfSecSizes group may also be provided..
Each MDEntry is an aggregated view of the liquidity available at that price level in the Venue.
If populated, the NoOfSecSizes group have the following attributes:
- There will be an entry for each order at that price level.
- The entries are ordered by time, the first entry being the oldest (highest in priority).
NoOfSecSizes (MinQty) | Number Of Orders | Order Depth | Count | Qty | Bid | PriceDepth | Offer | Qty | Count | Order Depth | Number Of Orders | NoOfSecSizes (MinQty) | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 1.20011 | 1 | 1.20020 | 4 | 2 | 3 | 1 | |||||||||||||||||||||||||||
| 1 | 2 | 2 | 3 | 1.20000 | 2 | 1.20023 | 3 | 1 | 3 | |||||||||||||||||||||||||||
| 2 | 2 | 2 | 4 | 1.19997 | 3 | 1.20029 | 1 | 1 | 1 | |||||||||||||||||||||||||||
| 5 | 1 | 5 | 1.19995 | 4 | 1.20037 | 4 | 1 | 4 | ||||||||||||||||||||||||||||
| 2 | 1 | 2 | 1.19987 | 5 | 1.20042 | 5 | 3 | 1 | 3 | 1 | ||||||||||||||||||||||||||
| 1 | 1 | 1 | 1.19974 | 6 | 1.20056 | 1 | 1 | 1 | ||||||||||||||||||||||||||||
| 5 | 1 | 2 | 6 | 1.19961 | 7 | 1.20063 | 1 | 1 | 1 | |||||||||||||||||||||||||||
| 7 | 1 | 7 | 1.19910 | 8 | ||||||||||||||||||||||||||||||||
| 9 | ||||||||||||||||||||||||||||||||||||
| 10 | ||||||||||||||||||||||||||||||||||||
Using Whisperer
...
Pricing
For both book types, each NoOfSecSizes group, if available/relevant to the venue, will contain:
MDSecSize== order size (this will match the parent MDEntrySize for OrderDepth books)MinQty- indicates that that order is restricted to only match in amounts above a certain minimum quantity (for FullAmount, the order quantity), i.e. 0 (partial fills allowed) ..MDEntrySize(i.e. FullAmount).
In either case, when clients attempt to sweep the book for a given quantity, they must ignore any NoOfSecSizes entries for greater MinQty amounts (not just FullAmount).
This also applies when calculating the limit price for VWAP orders. I.e. orders for lesser amounts will trade through this level.
Trading
Client trades may aggress (Taking) resting orders published in the orderbook. These orders should not be directly visible in the MarketData feed, but the resultant fills may be observed via the TradeTicker (if available). Depending on the venue, the client may achieve this by:
- Specifying
TimeInForce=FOKto indicate that the client wishes to place a FullAmount order. - Specifying a
MinQtyorder - depending on other order parameters (Price, DiscretionPips, etc), this may be filled immediately by the venue without entering the book (like a FOK).
Conversely, the client may use resting order (Making), again they may specify a MinQty for their order, up to the full order quantity for FullAmount; in the event of no immediate match, the order will be published in the market data feed.
Other Book Representations
Spread
This is not Bid/Offer spread, but the liquidity available at a pre-defined price offset from top of book. Usually issued in snapshot form, since the entire view changes with each change of top of book price in the base OrderDepth book.
NoOfSecSizes | (MinQty) | Number Of OrdersCount | Qty | Bid | Spread | Offer | QtyCount | Number Of Orders | NoOfSecSizes (MinQty) | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1.20011 | 0.0000 | 1.20020 | 4 | 2 | ||||||||||||||||||||||||||
| 1 | 1 | 1.20001 | 0.0001 | 1.20030 | 8 | 4 | ||||||||||||||||||||||||||
| 6 | 13 | 1.19991 | 0.0002 | 1.20040 | 12 | 5 | ||||||||||||||||||||||||||
| 7 | 15 | 1.19981 | 0.0003 | 1.20050 | 17 | 8 | ||||||||||||||||||||||||||
| 10 | 22 | 1.19961 | 0.0005 | 1.20070 | 19 | 10 | ||||||||||||||||||||||||||
| 10 | 22 | 1.19911 | 0.0010 | |||||||||||||||||||||||||||||
| 11 | 29 | 1.19811 | 0.0020 | |||||||||||||||||||||||||||||
Amount
Presents VWAP prices for pre-defined volume rungs. Because the view aggregates multiple resting orders, a single aggressing order may well result in multiple partial fills, since you are effectively trading through the base Order Depth book.
NoOfSecSizes (MinQty) | Number Of Orders | Qty | Bid | Amount | Offer | Qty | Number Of Orders | NoOfSecSizes (MinQty) | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1.20011 | 1 | 1.20020 | 1 | |||||||||||||||||||||||||||||||||
| 2 | 1.20006 | 2 | 1.20020 | 2 | |||||||||||||||||||||||||||||||||
| 5 | 1.20002 | 5 | 1.20021 | 5 | |||||||||||||||||||||||||||||||||
| 10 | 1.19999 | 10 | 1.20025 | 10 | |||||||||||||||||||||||||||||||||
| 20 | 1.19988 | 20 | |||||||||||||||||||||||||||||||||||
| 50 | |||||||||||||||||||||||||||||||||||||
Full Amount
The prices at which pre-defined volumes may be filled in a single execution.
NoOfSecSizes (MinQty) | Number Of Orders | Qty | Bid | FullAmount | Offer | Qty | Number Of Orders | NoOfSecSizes | (MinQty) | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 1.20011 | 1 | 1.20020 | 1 | 1 | 1 | ||||||||||||||||||||||||||||
| 2 | 1 | 2 | 1.20000 | 2 | 1.20020 | 2 | 1 | 2 | ||||||||||||||||||||||||||||
| 5 | 1 | 5 | 1.19995 | 5 | ||||||||||||||||||||||||||||||||
| 10 | ||||||||||||||||||||||||||||||||||||
| 20 | ||||||||||||||||||||||||||||||||||||
| 50 | ||||||||||||||||||||||||||||||||||||
Bank
Bank Liquidity is typically offered in two forms:
- Order-Based
- Volume-Ladder
Many banks offer both, in which case the form of the liquidity offered is bilaterally agreed between the Bank and the Customer. For Whisperer Enterprise, MarketFactory is not involved in this decision and has no formal knowledge of the form chosen, although both will be delivered as MassQuote messages.
Order-Based
The raw liquidity offered by the Bank to the Customer. Typically presented as a single quote. The Customer may trade through this 'book', provided they submit orders in strict sequence from best price to worst. No individual piece of offered liquidity can be traded more than once.
Limit orders - The client provides the price associated with a requested quantity. This will either be the price of a given rung/side, or it will be a VWAP across multiple rungs. Typically the client will obtain a single fill for each individual request.
Market orders - No price is specified, the Bank will compute this (VWAP or rung) on the Customer's behalf, based on the provided quantity and Quote ID.
...
Executable Streaming Pricing
Whilst terminology varies greatly from venue to venue, direct LP/Bank trading is generally offered via two liquidity models:
- Sweepable - AKA Orders, OrderBook, Order-Based, Stacked, Clips, Exchange, Volume-For-Price
- FullAmount - AKA Quote-based, Tiers, Buckets, OTC, Price-For-Volume, Cumulative, Volume-Ladder
The liquidity is offered on a quotation negotiation basis, with the LP typically exercising Last Look against the dealt Quote IDs.
Quotes may have time-to-live constraints and be marked as Indicative or Tradeable.
When submitting orders, the validity of the specified ID is assessed by the venue, not Whisperer.
Sweepable
| Qty | Bid | PriceDepth | Offer | Qty | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1.20009 | 1 | 1.20020 | 5 | ||||||||||||
| 2 | 1.20000 | 2 | 1.20023 | 3 |
| 2 | 1.19997 | 3 | 1.20029 | 1 |
| 5 | 1.19995 | 4 | 1.20037 | 4 |
| 5 | 1.19987 | 5 | 1.20042 | 1 |
| 5 | 1.19974 | 6 | 1.20056 | 1 |
| 10 | 1.19961 | 7 | 1.20063 | 1 |
| 10 | 1.19910 | 8 |
| 20 | 1.19900 | 9 |
| 10 |
| 11 | ||||||||||||||||
| 12 | ||||||||||||||||
| 13 | ||||||||||||||||
| 14 | ||||||||||||||||
| 15 |
Volume Ladder
A VWAP representation of the above, with pre-configured volume rungs. Could be considered an equivalent to a CLOB Full Amount book,
For a given quote a Customer may typically hit a single rung only, although some banks do allow trading through the ladder, to a maximum total of the largest rung.
...
Pricing
- Liquidity rungs typically dynamically change depending on market conditions, each rung of the rate ladder can be considered as if they are orders on an exchange.
- The client should not expect higher amounts per successive price level.
- The total quantity available is the sum of the individual rung quantities for the latest quote.
Trading
Trading is expected to be an explicit sweep of the published quote, with successive individual orders at each rung, in sequence.
Each order is executed individually, when the client has utilised a rung, it cannot be re-used and subsequent trades need to utilise the liquidity from the remaining rungs.
Depending on the LP, Clients may also be able to submit a VWAP order in order to combine multiple individual clips into a single trade and reduce per-ticket trading costs.
The client is typically expected to provide their calculated VWAP rounded bank favour, but some LPs mandate different rounding rules. Rounding modes are as follows:
TODO
FullAmount
...
| Qty | Bid | FullAmount | Offer | Qty | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1.20009 | 1 | 1.20020 | 1 | ||||||
| 2 | 1.20005 | 2 | 1.20020 | 2 |
| 5 | 1.20001 | 5 | 1.20020 | 5 |
| 10 | 1.19998 | 10 | 1.20024 | 10 |
| 20 |
| 1.19989 |
| 20 |
| 50 | 1. |
| 19950 |
| 50 |
Pricing
- Essentially this is a VWAP presentation of the available liquidity, with higher amounts per successive price level.
- The VWAP rungs are usually preconfigured by the LP, but some allow the client to specify the required rungs in their QuoteRequest. This is supported by Whisperer via the
QuoteRequest.NoUnderlyingsgroup - Can be considered an equivalent to a CLOB Full Amount book.
Trading
- Sweeping is not possible, since the liquidity of each rung is implicitly included in the VWAP pricing of all other lower level rungs as well.
- Instead, client trades are characterised by hitting a particular rung for their requested trade amount. For example, with rungs of 1/2/5m, if the client wishes to trade 3m, this would need to be submitted against the 5m rung.
- Generally, the
MassQuoteis invalidated after a single trade (because of the VWAP), however in some cases, the LP will allow multiple trades against a singleMassQuoterung so long as the aggregate total, across both sides, does not exceed the rung size.
Using Whisperer
The form of the liquidity offered is bilaterally agreed between the Bank and the Client, who must interpret and use the MassQuote messages accordingly.
Minimal configuration is required in Whisperer, although clients may wish to apply a naming convention for their venues sessions.
Whisperer uses MassQuote messages for ESP pricing, and trade requests are submitted via the NewOrderMultileg message. OrdType=PreviouslyQuoted is always supported, other order types may also be available, depending on the LP.
PreviouslyQuoted Orders
The NewOrderMultileg.QuoteID field should be used as follows:
- For Sweepable and FullAmount orders, the
QuoteEntryIDof the target rung must be specified. - Where venues support VWAP orders against a sweepable book, the
QuoteIDof the overallMassQuoteladder must be used.
Market Orders
ESP Market orders ares sometimes offered by an LP. As with a standard Market orders, the client provides their order quantity without a price, however a QuoteID must still be specified, so unlike a standard Market order, there is less risk of uncontrolled slippage on the the actual price achieved.
Instead, the LP will use the the provided quantity and QuoteID to compute the price (either VWAP or rung) on the Customer's behalf.
| Note |
|---|
Support for VWAP and Market order types varies across Venue. |