Page History
| Table of Contents |
|---|
Overview
Whisperer Enterprise supports all three principle forms of Quotation Negotiation trading:
- ESP - Executable Streaming Pricing (long-lived shared subscriptions).
- RFS - Request For Stream (short-lived tailored subscriptions).
- RFQ - Request For Quote (single quote with finite life).
All quotes are good until replaced, expired or withdrawn. The MFSBE API supports the following four separate mechanisms for the management of tradeable prices by a Maker:
...
Some Venues allow the Maker to specify a finite time that an individual quote is available for. This is essential for one-shot RFQ models (e.g. to support dealer intervention), but may also be used act acts as a back-stop for ESP and RFS flows to ensure that the price is promptly removed from display, in the event of error scenarios and other edge cases.
Both Quote and MassQuote messages support the provision provison of an expiry time:
Quote.ValidUntilTime
MassQuote.NoQuoteSets[*].NoQuoteEntries[*].ValidUntilTime
The default ValidUntilTime value is set far into the future, so this field may be ignored for those customers wishing to adopt a simple model.
...
A quote may be withdrawn entirely. In a trading GUI this will result in the price immediately being removed from display. Quote withdrawal is often an integral part of a RFQ dealer intervention workflow, where the trader may wish to manually reprice, during the life of a 30s quote.
MassQuote messages may be withdrawn via the same mechanism.
...
Maker Quote Management
In ESP, Makers publish MassQuotes. Each message is a single quote, which should contain a full snapshot of your price ladder for that symbol & price bucket.
The shape and size of their ladder can vary from tick to tick. Each MassQuote completely replaces the previous. You may either publish a QuoteCancel to withdraw a previously published ladder, or publish a new empty MassQuote (zero rungs).
On the venue side, MarketFactory will handle the messages to make sure that the published liquidity matches your MassQuote.
ESP/RFS/RFQ State Transition Model
...
Whilst the Maker and Taker views are essentially symmetric, there are some important differences which are illustrated in the sequence diagrams.
| Gliffy Diagram | displayName | QuotationNegotiationSTD|
|---|---|---|
|
...
Some Maker venues may support Client acknowledgement of their deal acceptance or rejection. Accordingly, the Client is encouraged to always send an ExecutionAck message to confirm the trade result, where the Venue does not use this mechanism, Whisperer will simply drop the message.
...
| Info |
|---|
At present Whisperer does not generate synthetic ExecutionAck messages as it is not possible to ensure uniformity, or know the actual venue state with any certainty. |
...
| Warning | ||
|---|---|---|
| ||
Should the Client receive an |
RFQ
...
| Note | ||
|---|---|---|
| ||
| Single shot quote, ValidUntilTime. Possible Dealer Intervention may deliver other |
...
| quote(s) prior to expiry of first. Expiry |
...
| terminiates the workflow. |
RFS
Each individual Quote is good until replaced, withdrawn or ValidUntilTime expiry.
Client as Taker
| Gliffy Diagram | displayName | 4.0 RFS_QuoteRequest.04|
|---|---|---|
|
Client as Maker
| Gliffy Diagram | |||
|---|---|---|---|
|
...
The standard Taker pricing message flow is illustrated in the sequence diagram below:
| Gliffy Diagram | |||
|---|---|---|---|
|
Subscription Response
...
| title | Subscription Response |
|---|
The client will receive an immediate response to an invalid QuoteRequest.
However, the client may not always receive an immediate MassQuote in response to a valid QuoteRequest stream subscription:
- There may be an interval of several minutes before the first
MassQuoteis received by the client. - The venue may never respond.
A Venue's response actually depends on the instrument being traded, time of day and venue-specific behaviour.
The client may wish to implement a timeout mechanism to unsubscribe and then either:
...
Client as Maker
The Venue will typically issue multiple requests for each currency pair, one for each configured pricing group (aka "client bucket" etc.).
...
- Some venues are fairly unconstrained in terms of how many categories may be defined, but others (e.g. Bloomberg, CNX) have specific uniquenesses that need to be understood before decisions are made.
- Some venues may allow or mandate that ladders are used in a VWAP manner, some may preclude this.
| Gliffy Diagram | ||||
|---|---|---|---|---|
|
...
Client as Taker
| Gliffy Diagram | displayName | Taker_ESP_Dealing|
|---|---|---|
|
Client as Maker
| Note | ||
|---|---|---|
| ||
The messages flows documented here illustrate a standard "Last-Look" trading model. "Firm" trading is possible on some Venues and comprises standard MassQuote provision alongside receipt of ExecutionReport messages from the Venue notifying the maker of the fills. |
| Gliffy Diagram | displayName | Maker_ESP_Dealing|
|---|---|---|
|