Skip to main content
Version: 8.6.9.2

2270-execution-engine

#Message NameDescription
2358AtsDegrossAuctionSchedulePublished by the degrossing execution engine at start of day; each row's state updates as the

sequence runs. Clients consume this — the sequence is never hard-coded client-side.

Sequence: Trial 9:55 CST, then Real auctions 10:00 / 10:05 / 10:10 / 10:15 CST, 3 expiries each.
2357AtsDegrossAvailabilityPublished by the degrossing execution engine once a minute from open + 5 minutes until the final

auction of the day, smeared to a fixed publish rate. Every candidate ticker is published with a

status: Available, Suspended, DayClosed, or the reason it is not offered — so a client can always

see why a position is not degrossable.

Strike is a TICKER-level fact shared by all three expiries, chosen from flex instruments that

actually exist (nearest the underlier), and frozen at the ticker's first publish of the day.

The per-expiry block (3 entries) carries the SR-controlled economics; block index = expiry slot =

SpdrParentOrder groupingCode (1/2/3). Auction sequence state lives on AtsDegrossAuctionSchedule

(2358). Publish-only: no archive directives and .Archive() is never called — published messages

are captured automatically.

A ticker is only published when it has a current-day stock book quote or print; names with no

today market are not advertised at all.

Retired field numbers (NEVER reuse): 112 (per-slot strike; strike is row-level at 103),

101 (row-level srRate; the rate is per expiry at 120).

Replaces AtsDegrossRevConSpreads (2355).
2359AtsDegrossFlexRequestPublished by the degrossing execution engine after the close, one record per instrument we want

to exist for the next trading day and do not already see as a FlexOptionDefinition (4435).

Keyed by the OptionKey we want, so requested-versus-existing is a straight key comparison.

The request set is "desired strike x 3 auction expiries x call and put, minus what already

exists", which covers both triggers without special cases: a strike that drifted past the

selection band yields six requests at a new strike, and a calendar roll yields two at the

existing strike for the newly appeared expiry.
2360AtsDegrossMarketSummaryPublished by the degrossing execution engine at each auction close. This is the PUBLIC

post-auction disclosure — venue totals only, never per-client figures (per-order results are

AtsDegrossRevConResult (2356)). The WTS merges these onto LiveGridDegrossMarket (6973) rows.

Prices are PACKAGE space, like 2356/4030 — the book matches there; consumers rebase +strike for

trader R/C display. Publish-only: no archive directives and .Archive() is never called.
2356AtsDegrossRevConResultPublished by the degrossing execution engine: Received on order arrival, then per-auction

results after each event in the day's sequence (Trial 9:55 CST, Real 10:00/10:05/10:10/10:15;

see AtsDegrossAuctionSchedule (2358)), Final after the order's last event. The WTS merges

per-(ticker, expiry) results into LiveGridBasketDegrossDetail (6912) rows; per-auction rollups

drive the Basket Manager summary boxes.
2355AtsDegrossRevConSpreadsDeleted once the EE publisher and WTS join cut over; do not add consumers. The number is

reusable a few weeks after deletion.
2270ExternAggGroupReport
2325SpdrRiskExecutionSpdrRiskExecution records are published every time a SpdrParentExecution record is published
2330SpdrSweepDetailSpdrSweepDetail records are published by execution engines when sweep trigger groups are processed
2335SpdrSweepExchDetailSpdrSweepExchDetail records are published by execution engines when sweep trigger groups are processed