Matching Engines and Venue Logic
21 algorithms · 4 families · D12
Continuous Matching
-
Price-Time Priority
contract
priceTimePriority(incomingRaw, restingRaw) -
Pro-Rata Matching
contract
proRataMatching(incomingRaw, priceRaw, lotRaw, restingRaw) -
Size-Time Priority
contract
sizeTimePriority(incomingRaw, priceRaw, lotRaw, restingRaw) -
Hybrid Pro-Rata/Time Matching
contract
calculate(topicId, inputs)
Auctions
-
Maximum-Executable-Volume Auction
contract
maximumExecutableVolumeAuction(ordersRaw, referenceRaw, tickRaw) -
Minimum-Imbalance Tie-Break
contract
minimumImbalanceTieBreak(ordersRaw, referenceRaw, tickRaw) -
Opening-Cross Price
contract
openingCrossPrice(orders, previousClose, tick, low, high) -
Closing-Cross Price
contract
closingCrossPrice(orders, reference, tick, low, high) -
Volatility-Auction Reopening
contract
volatilityAuctionReopening(inputs)
Order Controls
-
Tick-Size Validation
contract
tickSizeValidation(price_atoms, tick_size_atoms, price_scale, effective_policy_id) -
Price-Band Validation
contract
priceBandValidation(side, limit_price_atoms, lower_band_atoms, upper_band_atoms, band_as_of_ns, inclusive) -
Self-Trade Prevention
contract
selfTradePrevention(incoming_order, resting_orders, mode) -
Cancel-on-Disconnect
contract
cancelOnDisconnect(disconnected_session_id, disconnect_type, trigger_disconnect_types, policy, orders) -
Fat-Finger Limit
contract
fatFingerLimit(side, limit_price_atoms, reference_price_atoms, quantity, max_quantity, max_notional_atoms, max_aggressive_deviation_bps) -
Circuit-Breaker Trigger
contract
circuitBreakerTrigger(reference_close_atoms, current_index_atoms, level_thresholds_bps, previously_triggered_level)
Order Lifecycle and Queue State
-
Limit-Order Lifecycle State Machine
contract
limitOrderLifecycle(orderIdRaw, orderQuantityRaw, eventsRaw) -
Cancel/Replace Priority Rule
contract
cancelReplacePriority(originalRaw, replacementRaw) -
Partial-Fill and Residual-Quantity Processing
contract
partialFillResidual(orderQuantityRaw, fillsRaw) -
Queue Position and Ahead-Volume Calculation
contract
queuePositionAheadVolume(ordersRaw, targetIdRaw) -
Iceberg/Reserve-Order Replenishment
contract
icebergReplenishment(totalRaw, initialRaw, displaySizeRaw, fillsRaw, priorityRaw) -
Marketable-Order Multi-Level Sweep
contract
marketableOrderSweep(incomingRaw, restingRaw)