Single-Sided Auction

In many financial markets there is the need to perform a single sided auction in order to meet the needs of the market participants. Generally a single sided auction is where there is a single seller with a large (often recurring) quantity to sell and a desire to determine the price of this product or to maximise their revenue for this tranch of product.

One of the most common examples of this is the sale of government bonds. These are often called a "primary auction". After which the resulting holdings are available to be sold in "secondary trading" over the life of the bonds. Where the single sided participant is a buyer these auctions can be called "tenders".

MarketGrid supports these kinds of auctions by creating Sessions that control the lifecycle of one of these auctions. The nature of the auction is determined by which of the values in the SessionAuction enumeration are specified in addition to the SessionAuction.Oneside value from that domain.

It is optional as to whether the single participant should place an Order at the start of the auction or indeed during the auction to show the indicative price at which the auction will match.

Market orders and pegged-price orders, as well as expiry types FOK (Fill or Kill) and FAK (Fill and Kill) are not accepted during an auction since they require matching to be done immediately.

Market Orders

By default, Market Orders are allowed in the single sided auction (although this can be controlled by setting the order type for the Session so that Market Orders may not be entered).

Matching Algorithm

Once an auction price has been established by the single seller by entering their binding sell Order and changing the Session out of the auction session;

  1. Determine the auction price
    • if the MaximiseValue parameter is set, use the price at which the maximum value of trading will occur
    • otherwise, determine the price at which the seller's volume will be exhausted or where the buyers' quantity runs out.
  2. Match the orders in price-time priority up to the final price level
  3. If the ProRataResidual attribute is set, then at the final price point determine the portion of the remaining quantity that each order will receive according to the fraction of their volume at this price point
    • Any residual quantity is accrued
    • Single units of quantity are granted to the buyers in price-time priority for those orders that have sufficient balance to receive this extra unit.
    • This has the effect of rounding up the pro rata amount for those orders in first in the book.