Page History
| Table of Contents |
|---|
Overview
Timestamps
Whisperer's SBE timestamp datatypes (UTCTimestamp and ValidUntilTime) are both of nanosecond precision., but the actual values sent/received to the venue will depend on the precision that the venue supports.
- Client to Venue - Clients should ideally always ensure that all published timestamps are at the greatest precision that they can support. For fields that will be mapped through to an equivalent field on the outbound venue message (such as
TransactTime,ValidUntilTime,EffectiveTime,ExpireTime, etc), Whisperer will always utilise the full precision supported by the venue, with the client value being truncated as necessary. - Venue to Client - Whisperer will always publish the full precision available in any timestamp received from the venue. Typically FIX venues provide millisecond values, but some fields may be second, or microsecond precision. Binary APIs will typically offer microsecond or nanosecond precisions.
Prices and Quantities
Overview
Whisperer honours Whisperer Enterprise honours the implied precision of all prices and quantities passed between Client and Venue.
This is achieved by setting mantissa and exponent values for the relevant SBE datatypes (DecimalQtyNULL and PriceNULL) such that the original value is preserved exactly.
| Note | ||
|---|---|---|
| ||
A feature of FIX protocol interfaces (vs binary APIs) is that they involve an integer to string conversion when constructing the message. The way this is performed varies not only across venues, but also across individual fields or message types. The net result is that trailing zeros for a fractional component may not always be published, so that a price could move between "1.1999" and "1.2", vs the "1.2000") that would be most consistent. |
| Info | ||
|---|---|---|
| ||
Note that DecimalQtyNULL and PriceNULL may both be used to represent negative values:
|
...
| Warning |
|---|
These datatypes differ from the equivalents defined in The Whisperer Classic SBE3 Schema, which defines fixed scalings for each. |
Taker Considerations - Orders
In PreviouslyQuoted sessions, it is important that the client takes care to provide both of the following in their NewOrderMultileg messages:
- Spot rate - tag 44/
Price - All-In rate for each leg - tag 566/
LegPrice
Maker Considerations - Prices
There is a surprising amount of variation across Venues regarding Maker pricing - not not just the required precisions that prices must be published to, but also how much looseness they allow across individual components. In order to guarantee a uniform interface, MarketFactory Whisperer essentially has to adopt, and enforce, the strictest rules.
To assist this, the Whisperer Enterprise SBE Schema requires that forward points be expressed in a pip-based (scaled) form, rather than arithmetically (unscaled) - this enables run-time inference of the location of the pip to ensure that Fwd Pts are always correctly converted to/from scaled and unscaled forms as necessary to meet specific Venue API requirements.
...