Functional Delta: YU16-cdm-instruments (vs YU15-eod-risk-extract)
Everything inherited from YU15 and its ancestry is carried forward unchanged unless listed here.
Addedβ
- A CDM-shaped instrument model on reference-data:
GET /instrumentsandGET /instruments/{instrumentKey}servingsecurityType(Equity/Fund/Debt), the matching CDM sub-type, and CDMAssetIdentifierlists (BBGTICKER,FIGI,Other), with load-time CDM condition assertions. - Ten instruments in the seed universe: five ETFs (
SPY, QQQ, IWM, VTI, GLD;Fund/ExchangeTradedFund) and five fixed-rate U.S. Treasuries (UST-20280630β¦UST-20560515;Debt, real FIGIs, coupon, maturity, TreasuryDirect auction provenance). /instruments/control-snapshot; the general-name control snapshot, identical contract over the same store and watermark as/stocks/control-snapshot; the order-matcher risk bootstrap default repoints to it at this state's layer, and the two YU04 proofs probe it.- Treasury pricing in price-publisher: term-profiled correlated walk with mean reversion and a
band clamp, per-batch shared roll, solved YTM in the payload, maturity quote suppression,
UST-unknown-key 404 with no fallback, fraction-of-par emission at six-decimal tick precision. - Face-amount order validation for
UST-keys at the cluster gateway REST boundary and in the UI tickets (β₯100, multiple of 100, exact messages). - Treasury booking semantics in trade-processor: face-weighted average cost,
Rejectedtrade state withrejectionReason/sourceOrderId, fail-closed metadata resolution before the transaction with configurable timeouts. - Extract enrichment by join:
instrumentTypegainsTREASURY, Treasury rows carrycouponandmaturityDate, the CSV schema bumps to 2, and the consumer guide documents it. - Extract accrued interest by derivation (ADR-061): Treasury rows additionally carry
lastCouponDateandaccruedInterestFraction, computed from the joined static plus the session date with no new reference data, bumping the CSV schema to 3. - Frontend: asset-class filter, grouped selectors, Treasury labels and validation, clean-value estimation, coupon/maturity/YTM display, percent formatting, rejected-trade display.
Changedβ
- The instrument display name travels as
displayNameon the CDM view while remainingcompanyNameon/stocksand both control snapshots; two wire names, one attribute, so the YU04 feed contract does not move. - SQL price columns that can carry a bond mark widen from three to six decimals
(
Trades.Price,Positions.AverageCostBasis). - The extract CSV schema identifier moves from 1 to 2 (column additions only; every schema-1 column is unchanged in name, position and meaning).
Removedβ
- Nothing. In particular
/stocksand/stocks/{ticker}are NOT removed; this state supersedes source pack 016's FR-01602 and does not adopt its SC-01607; retention is requirement FR-CDM09, with the YU04 durable control feed as the attached reason.