Bid/Offer vs Buy/Sell Perspectives

The Whisperer Enterprise SBE Schema is Maker/Taker agnostic, meaning that Quote Requests, Quotes, Orders and Executions may flow either to or from the client - the direction obviously being dependent on the Venue that the client is connected to.

The perspective of transaction sides is always from the perspective of the originator of the transaction, with Takers Buying and Selling against Makers Bids and Offers as follows:


Takers will always Buy or Sell their specified Dealt Currency - which is either


Conversely, Makers will publish quotes as Bids and Offers against the Base of the quoted Ccy pair:


This is set out in tabular form below:

Taker Tradesagainst Maker
Base CcyTerms Ccy
BUYSELLOFFER
SELLBUYBID



In short,  QuoteRequest, NewOrderMultileg and ExecutionReport all always express a transaction from the Taker perspective. Quotes always express prices from the Maker perspective.


Quote Construction

When publishing quotes as a Maker, it is important that the basic principles of price construction are understood, especially when considering multi-Legged product types.

Relevant details are provided in the QuoteRequest as follows:


Spot Side Determination

When pricing a multi-Legged request, the Maker needs to determine which side of Spot is to be used across all the individual Legs.

Business rules for Swap pricing are well known and summarised in the table below:

Near LegFar LegDealt CurrencyFar > NearSide of Spot

Near Leg

Fwd Pts & All-in

Far Leg

Fwd Pts & All-in

SellBuyBaseTRUEOfferBidOffer
BuySellTermsTRUEOfferBidOffer
SellBuyBaseFALSEBidBidOffer
BuySellTermsFALSEBidBidOffer
SellBuyTermsTRUEBidOfferBid
BuySellBaseTRUEBidOfferBid
SellBuyTermsFALSEOfferOfferBid
BuySellBaseFALSEOfferOfferBid



When considering Block requests, the simple "Far > Near" check is not sufficient to determine side of Spot. A naive approach is to simply extend the Swaps model above and arithmetically net all the Legs quantities to get an aggregated Buy or Sell. If the maker is more sophisticated, then the Net Present Value of each Leg can be determined, and those amounts aggregated.

Validation

Given the complexity of accounting for Venue-specific message and representational quirks, MarketFactory validates that each constructed quote adheres to some basic rules:

RFS Bank Basket

SpotRate used in MassQuote for BankBasket follows the same convention as per the above Spot Side Determination logic.

But to be consistent with the BidPx/OfferPx in the NoQuoteEntries group, HasExtendedBidFields HasExtendedOfferFields are populated as per below:

QuoteSets

Near Leg

QuoteSet1

Far Leg

QuoteSet2

NoQuoteEntriesBidPxOfferPxHasExtendedBidFieldsHasExtendedOfferFieldsBidPxOfferPxHasExtendedBidFieldsHasExtendedOfferFields
Bid QuoteEntry



Offer QuoteEntry