Corporate-Action Blindness
Agent Fails to Adjust Prices, Positions, or Historical Series for Splits, Dividends, Mergers, or Spin-Offs
4 patterns for this goal
Market data freshness failures occur when agents rely on cached, stale, or asynchronously-delayed price data, corporate-action information, or reference rates without detecting staleness, leading to valuations, risk calculations, and trading decisions grounded in data that no longer reflects market conditions or operational reality. The core mechanism is silent degradation: a price feed can stop updating for hours and still pass basic connectivity checks, a corporate-action adjustment can be delayed days post-event, and an agent has no native signal that the data it is consuming diverged from the live market. Freshness failures are particularly acute in illiquid instruments and after-hours windows where misdiagnosis of staleness is common because flat prices can be genuinely flat or genuinely stale.
All 4 market-data-freshness patterns share a common root mechanism: data staleness is expressed asynchronously and separately from the data value itself (a timestamp, an ingestion agent’s monitoring note, a reference instrument’s price movement), and consuming agents often optimize for output fluency over freshness verification. The reliable fix is architectural: implement mandatory pre-output gating that queries the current timestamp from the data source, compares it against an SLA, and refuses to generate recommendations if data exceeds staleness threshold. For benchmarking against reference instruments, constrain matches to structurally comparable instruments (same duration, credit tier, liquidity profile) before applying embedding similarity. For handoffs, add a structured staleness_flag field to every price record, with downstream validation that any flagged price triggers manual review before use.
Stale: the feed stopped updating even though trading occurred elsewhere (reference feeds show prices moved, or time has passed beyond the expected update interval for that instrument). Flat: trading occurred but at the same price, or no trading occurred and the last price remains current. Distinguish them by (1) checking expected update frequency for this instrument (stale if no update for 2x that interval), (2) cross-referencing against independent sources (if those show different prices, the original feed is stale), (3) verifying the ingestion timestamp against current time. Do not assume flat=current.
Not fully. Embedding similarity over free-text instrument descriptions will always favor keyword overlap over structural attributes. Filter candidate reference instruments by duration bucket and credit tier before applying embedding similarity, and verify the retrieved instrument’s actual attributes match the checked instrument’s on both dimensions before using it as a benchmark. Structural pre-filtering is mandatory; embedding can then rank within the pre-filtered cohort.
Require a structured staleness_flag or data_quality_issues field in every price handoff record, with mandatory post-handoff validation: before any price is used in a calculation, a validator checks that field and routes any price with a flag to manual review. Log the field’s presence/absence alongside every calculation so audit can distinguish prices that crossed a staleness-aware boundary from those that did not.
Liquid equities/FX during market hours: <30 seconds. Illiquid equities/corporate bonds: <15 minutes. After-hours instruments: <1 hour or “mark as after-hours with last bid-ask” rather than attempting live-price staleness. Index/futures: <1 minute. Set these per instrument class and monitor SLA breaches as a hard alert that triggers secondary-source activation.
| Pattern | Mechanism |
|---|---|
| Stale Price Feed Reliance | Cached/delayed prices used without staleness detection; silent failover undetected |
| Corporate Action Blindness | Splits, dividends, mergers not adjusted; false anomalies or position misstatements result |
| Embedding Retrieval Selects Wrong Reference Instrument | Freshness check for illiquid instrument benchmarks against textually similar but structurally unrelated comparable |
| Multi-Agent Handoff Drops Stale-Feed Flag | Ingestion agent’s free-text staleness suspicion omitted from structured price record passed to valuation agent |
Total: 4 patterns
Agent Fails to Adjust Prices, Positions, or Historical Series for Splits, Dividends, Mergers, or Spin-Offs
A Market-Data Freshness-Monitoring Agent Checking Whether an Illiquid Instrument's Price Is Plausibly Current Selects a "Comparable" Reference Instrument Using Embedding Similarity Over Free-Text Descriptions Rather Than Matching on Sector, Duration, and Credit-Quality Attributes, Producing a Freshness Benchmark That Moves Differently From the Instrument Being Checked
A Market-Data Ingestion Agent Notes in Free Text That a Price Feed Showed No Update Across an Unusually Long Window and May Be Stale, but the Structured Price Record Handed Off to the Downstream Valuation Agent Has No Field for Staleness Suspicion, So the Valuation Agent Treats the Last Received Price as Current
Agent Generates Recommendations or Risk Calculations Using Cached or Delayed Price Data Without Detecting Staleness