Skip to content

Rename market data types and enum for clarity and correctness #1933

@DaveSkender

Description

@DaveSkender

Refactor key type and enum names in the v3 branch to align with industry-standard terminology, reduce ambiguity, and improve long-term maintainability.

✅ Renames to implement

  • QuoteBar (OHLCV aggregation input)
  • QuoteDBarD
  • TradeTradeTick (individual trade print)
  • PeriodSizeBarInterval (time-based aggregation interval)

📌 Guidelines

  • Update all type declarations, references, XML docs, and examples
  • Maintain 1:1 semantic mapping — only the naming is changing
  • This rename is v3-only (no need to maintain old aliases or backward compatibility)
  • Ensure sample/test data and unit test names are updated consistently
  • rename items above where applicable
  • update all XML docs, prefer cref where possible
  • update user documentation accordingly
  • update migrations [Obsolete] and guide
  • for BarInterval include map to string equivalents for test SSE server use (e.g. 5m, 1d, etc.

Related to:


Historically we've been using the term Quote to represent OHLCV aggregate bars, which is somewhat out of line with industry terminology, despite being fairly common to see on websites "stock quotes" and such. This renaming in v3 allows for future expansions to incorporate correct terminology as follows.

Term Future usage Why reserved?
Quote Snapshot of best bid/ask (NBBO or venue-level) Aligns with FIX/ITCH, vendor APIs (e.g. Alpaca, Polygon), and expected usage in real-time quote tracking
QuoteTick Streaming update of bid/ask quote (WebSocket feed) Clean distinction from static Quote; used by Binance, Tradier, Alpaca and others
QuoteBook (or OrderBookSnapshot) Full Level 2 book snapshot Useful for order book visualization or simulation, not conflated with top-of-book
BookUpdate Level 2 order book delta stream (depth updates) Complements QuoteBook; matches crypto & futures exchange feeds
BarUpdate Real-time streamed bar update (OHLCV in-progress) For building candles live from ticks; avoids repurposing Bar
Candle View-layer or frontend-specific alias for Bar Reserved for UI or pattern analysis, not core indicator inputs
TickBar / VolumeBar / RangeBar Future bar types by event count, volume, or price range Fit within Bar ecosystem but allow method-level type distinction if needed
Trade Reserved for system-level or portfolio execution Prevents name collision in higher-level trading contexts (orders, fills, PnL tracking)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions