Execution Rules - Mid Distance Check
The mid distance check defines the minimum distance allowed between the filled price of an order and the TOB mid of the core pricing model, as a proportion of the reference mid.
The threshold defines the minimum distance above (below) a mid for a sell (buy) order from Compass' perspective where if the requested order price crosses that threshold, will result in a cancel. This threshold is a proportion of mid and when negative, allows the price to fill on the wrong side of mid without being cancelled (beneficial to the counterparty, detrimental to house).
mid Distance Check
Defined as threshold basis points, 0 results in fill rates capped at mid and therefore you cannot disable the check. This can be defined as negative allowing a trade to fill worse than mid.
reference mid
Defined in the channel "Mid Source Market", if no market selected this will default to the internalisation model.
Published Price
Model distributed to clients - underlying pricing model made up of the core and/or pool price with any additional protections and markups applied.
General Logic
From house perspective:
midDistanceTolerance = configuredMidDistanceBps x 0.0001 x midif side == BID:midDistanceThreshold = mid - midDistanceToleranceif requestedPrice > midDistanceThreshold:midDistanceCheckFailed = Trueif side == OFFER:midDistanceThreshold = mid + midDistanceToleranceif requestedPrice < midDistanceThreshold:midDistanceCheckFailed = True
GENERAL LOGIC (different way of thinking)
From house perspective:
midDistanceTolerance = configuredMidDistanceBps x 0.0001 x midif side == BID:if (mid - requestedPrice) < midDistanceTolerance:midDistanceCheckFailed = Trueif side == OFFER:if (requestedPrice - mid) < midDistanceTolerance:midDistanceCheckFailed = True
Example of a trade failing a mid distance check
Trade info:
Trade was to buy 285k GBP (house perspective) which means the trade is on the BID side. These checks were performed at the end of the last look period. The reference price market is the same as the core market.
Reference Mid
referenceMidMarket:CLIENT_INST_PRICE_LDNreferenceMidPrice:1.20962midDistanceCheck: 0.10
Trade
transactTime:2023-03-15T12:32:08.743Zside:BIDrequestedPrice: 1.20965instrument:GBPUSDinternalCancelReason:MidDistanceCheckFailed
Mid distance check
midDistanceTolerance = 0.1 x 0.0001 x 1.20962midDistanceTolerance = 0.0000120962midDistanceThreshold = 1.20962 - 0.0000120962midDistanceThreshold = 1.2096079038# Because requestedPrice > midDistanceThreshold:midDistanceCheckFailed = True
Up next:
- Execution Rules - Execution Styles
- Execution Rules - Net Vol. Limit Breach
- Execution Rules - Last Look
- Execution Rules - Price Check
- Execution Rules - Tailoring the quality of execution to the quality of client
- Execution Rules - Tuning
Back to Execution Rule Overview
