fintech-algorithms

Volatility-Auction Reopening

Install and import

bash
npm install fintech-algorithms
ts
import { volatilityAuctionReopening } from "fintech-algorithms/matching-engines-and-venue-logic/auctions/volatility-auction-reopening";

Signature

volatilityAuctionReopening(inputs)

Determines the reopening price after a volatility halt, including whether the auction may conclude at all or must be extended. An auction that reopens outside the band simply extends rather than printing.

Parameters

NameTypeNotes
inputsReopeningInputAuction orders with the halt reference, the permitted band, and the extension policy.

Returns

{ status, price, extended, band, … }

The reopening price, or an extension decision with the reason.

Errors

  • When the extension policy is unrecognised — throws

Complexity: time O(orders log orders), space O(prices).

Worked example

executed Captured by running this function on the input its own test provides. Real output of real code — but not asserted against a published figure.

Input

inputs
{
  "reference_price": 100,
  "dynamic_reference": 100,
  "dynamic_band_pct": 0.02,
  "static_reference": 98,
  "static_band_pct": 0.05,
  "potential_continuous_price": 103,
  "indicative_auction_price": 101.5,
  "extended_band_multiplier": 2,
  "executable_quantity": 500
}

Call

volatilityAuctionReopening(inputs)

Returns

object with 17 fields: model, reference_price, potential_continuous_price, dynamic_corridor, static_corridor, dynamic_breach, static_breach, triggered, …

{
  "model": "dual-corridor-volatility-auction-reopening",
  "reference_price": 100,
  "potential_continuous_price": 103,
  "dynamic_corridor": [98, 102],
  "static_corridor": [93.1, 102.9],
  "dynamic_breach": true,
  "static_breach": true,
  "triggered": true,
  "indicative_auction_price": 101.5,
  "executable_quantity": 500,
  "expanded_dynamic_corridor": [96, 104],
  "expanded_static_corridor": [88.2, 107.80000000000001],
  "inside_reopening_corridor": true,
  "reopened": true
}

Showing 14 of 17 fields.

Other exports

This module also exports maximumExecutableVolumeAuction, minimumImbalanceTieBreak, openingCrossPrice, closingCrossPrice, calculate. Every module additionally exports run as an alias of its primary function, and a meta object carrying its catalog id, domain, family, shape and article URL.

Diagrams

Volatility-Auction Reopening — system map

How it works

This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.

Read the article →

References