Single-Price Auction

In an auction session, new orders may be entered and will be placed in the order book, but no matching will occur. This means that the order book may become 'crossed', meaning that the best buy order may have a higher price than the best sell order. The purpose of an auction is to conduct fair price discovery during a highly volatile phase of trading, such as pre-open or pre-close.

When an InstrumentMarket exits an auction session, the system calculates the matching price that will cause the greatest volume of trades (by lots traded) to be executed, based on the orders in the order book at that time. It then matches the orders in the OrderBook using a price-time priority algorithm to produce a sequenced series of trades.

While an InstrumentMarket is in an auction session, the system will calculate an indicative match price (IMP) at a preconfigured interval (usually every few seconds). The IMP is the price at which orders would be executed were the auction be closed at that time. The IMP is distributed with Level One data for the InstrumentMarket.

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.

Example

The following example auction order book shows that bids and asks accumulated to create a crossed book. The minimum of the Bid Sum and Ask Sum columns (cumulative) gives the volume that will trade at each price point (the Maximum Executable Volume or MEV). The maximum MEV is 290 at a price of $12,400.

Bid SumBid VolPriceAsk VolAsk SumMEV
1310035520
4545130005048545
140951290010435140
165251280015425165
200351270010410200
225251260020400225
280551250090380280
48020012400155290290
5608012300125135135
6206012200101010

If the auction were to be closed at this point, the quantity of each order that is crossed will be executed, leaving only the unmatched residual balances in the book. The following table shows the resulting uncrossed book, with the auction closing price highlighted.

Bid SumBid VolPriceAsk VolAsk Sum
1310035230
1300050195
1290010145
1280015135
1270010120
1260020110
125009090
19019012400
2708012300
3306012200

See a more detailed worked example

Standard volume-maximising algorithm

The standard auction price determination algorithm seeks to have the maximum quantity of securities traded at the most competitive price at the end of the auction as shown in the examples above.

There are four stages, or sequential rules that are used to determine the price. Each rule is applied and if a single price can be determined, that becomes the auction price, otherwise, the next rule is applied, and so on, until a final single price can be determined. This is illustrated below.

graph TD
	calc_mev[[Calculate Minimum Executable Volume]]-->spa1{Single Price Achievable?}
	spa1--Yes-->done1([Done])
	spa1--No-->calc_minsurplus[[Calculate Minimum Surplus]]
	calc_minsurplus-->spa2{Single Price Achievable?}
	spa2--Yes-->done2([Done])
	spa2--No-->pressure[[Market Pressure]]
	pressure-->spa3{Single Price Achievable?}
	spa3--Yes-->done3([Done])
	spa3--No-->ref_price[[Reference Price]]
	ref_price([Done])

Worked example

Assume that we have the following set of Orders in the auction. Note that the order book is usually aggregated by price on each side, but here we are showing each individual order quantity.

The area of overlapping prices (from best bid down to best ask) indicates the price range in which the auction may execute.

BidsBid SumBid VolPriceAsk VolAsk SumAsks
83129093360
8281142093070
8262165081650
45004500825850060000
3200 2500032700282008241690051500
32700823190034600
34600190082232700
3460082132700
84300497008201750032700
923008000819360015200
1087001640081811600116006600 5000
108700817
108700816
1141005400815
115000900814
115000813
1195754575812

Step 1: Calculate Maximum Executable Volume (MEV)

This step calculates the Cumulative Buy and Sell Volumes at each price and the Maximum Executable Volume at each price.

  • The Cumulative Buy Volume at a given price is the buy quantity at that price plus the sum of the buy quantities at all higher prices.

  • The Cumulative Sell Volume at a given price is the sell quantity at that price plus sum of the sell quantities at all lower prices.

  • The Maximum Executable Volume at each price is the lesser of the Cumulative Buy Volume and the Cumulative Sell Volume at each price.

BidsBid SumBid VolPriceAsk VolAsk SumAsksMEV
83129093360
8281142093070
8262165081650
450045008258500600004500
3200 250003270028200824169005150032700
3270082319003460032700
3460019008223270032700
346008213270032700
8430049700820175003270032700
92300800081936001520015200
1087001640081811600116006600 500011600
108700817
108700816
1141005400815
115000900814
115000813
1195754575812

The Maximum Executable Volume for the auction is the highest of the Maximum Executable Volume values at each price, shown here in bold in the rightmost column.

If there is only one price at which the highest Maximum Executable Volume occurs then this will be the price for the auction. Otherwise, we proceed to the next step.

In the example above, there are five prices at which the highest Maximum Executable Volume occurs: 824, 823, 822, 821, and 820. Therefore, we proceed to the next step.

Step 2: Calculate Minimum Surplus

This step calculates the price level(s) at which the unmatched quantity is a minimum. At each price, this is equal to:

abs(Cumulative Buy Volume - Cumulative Sell Volume)

We only need to calculate this for those prices at which the highest Minimum Executable Volume occurs, which is 32,700.

BidsBid SumBid VolPriceAsk VolAsk SumAsksMEVSurplus
83129093360
8281142093070
8262165081650
450045008258500600004500
3200 25000327002820082416900515003270018800
32700823190034600327001900
34600190082232700327001900
3460082132700327001900
843004970082017500327003270051600
92300800081936001520015200
1087001640081811600116006600 500011600
108700817
108700816
1141005400815
115000900814
115000813
1195754575812

We look for the price(s) at which the minimum surplus occurs. If the minimum surplus occurs at only one price, then this will be the price for the auction. Otherwise, we proceed to the next step.

In the example above, there are three prices (highlighted in bold) at which the minimum surplus occurs: 823, 822, and 821. Therefore we proceed to the next step.

Step 3: Market Pressure

This step determines where the Market Pressure of the auction prices exist, on the buy side or the sell side.

  • A positive Minimum Surplus leaves a surplus on the buy side, indicating buy-side pressure.

  • A negative Minimum Surplus leaves a surplus on the sell side, indicating sell-side pressure.

Using the Market Pressure:

  • If all Market Pressure is on the buy side (i.e., all Minimum Surplus values are positive), the auction price is the highest of the potential prices.

  • If all Market Pressure is on the sell side (i.e., all Minimum Surplus values are negative), the auction price is the lowest of the potential prices.

  • If both buy and sell Market Pressure exists or if the Minimum Surplus is zero for each potential auction price we proceed to the next step.

In general, residual buy-side pressure is likely to cause the price to rise after the auction, therefore, if at this stage the surpluses are all positive, the algorithm chooses the highest of the potential prices and this becomes the auction price. If at this stage the surpluses are all negative the algorithm will opt for the lowest of the potential prices as the auction price.

In the example above, there is buy-side pressure at prices 821 and 822 and there is sell-side pressure at price 823 therefore we proceed to the next step.

Step 4: Reference Price

This step looks at the potential auction prices and their proximity to the Reference Price for the security.

The Reference Price for a security is a market-specific value. Generally, it will correspond to the last-traded price for that security, either on the previous day or on the current day if there has been trading already on the current day. For some markets, the Reference Price is fixed after the close using a principle determined by the rules for that market.

This step proceeds in two phases.

Phase One
  • If the result of Step Three is a combination of buy-side and sell-side Market Pressure, the algorithm marks the two prices where the sign changes.

If the Minimum Surplus for all possible auction prices is zero, the algorithm marks the highest and lowest prices within that range as the potential auction prices to be applied.

Thus, two potential auction prices are determined.

Phase Two
  • If the Reference Price is equal to or greater than the higher of the two possible prices established in Phase One, then the higher price becomes the auction price.

  • If the Reference Price is equal to or less than the lower of the two possible prices established in Phase Two, then the lower price becomes the auction price.

  • If the Reference Price lies between the two possible prices established in Phase One, then the Reference Price itself becomes the auction price.

  • If a Reference Price does not exist the auction price becomes the lower of the two potential auction prices established in Phase One.

In the example above, if the Reference Price was 822 or lower, then the auction price would be established at 822. If the Reference Price was 823 or higher, then the auction price would be 823.

Market Orders

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

For the purposes of the price calculation algorithm, the total quantity of all buy market orders (if any) is added to the Cumulative Buy Quantity at each price and similarly, the total quantity of the sell market orders (if any) is added to the Cumulative Sell Quantity at each price.

Matching Algorithm

Once an auction price has been established, matching proceeds in the following steps:

  1. Buy market orders are matched against sell market orders.
    • in time priority: orders entered earlier are matched before orders entered later.
  2. Remaining buy market Orders are matched against sell limit Orders:
    • in time priority for the buy market orders.
    • in price-time priority for the sell limit orders.
  3. Remaining Sell Market Orders are matched against Buy Limit Orders.
    • in time priority for the sell market orders.
    • in price-time priority for the buy limit orders.
  4. Remaining Buy Limit Orders are matched against remaining Sell Limit Orders.
    • in price-time priority for all orders.