Skip to main content

Data Sources

Overview

Cadenza aggregates data from multiple sources to provide a unified trading experience.

Market Data

Market data is sourced directly from connected exchanges:

Data TypeSourceUpdate FrequencyCaching
Order BookExchange WebSocketReal-timeNone
InstrumentsExchange REST APIOn-demand1 hour
VenuesCadenza PlatformStaticPermanent

Order Book Data

Order book data is streamed from exchanges in real-time with minimal latency:

  • Latency: < 100ms from exchange
  • Depth: Configurable (default: 20 levels)
  • Updates: Incremental or snapshot based on exchange

Instrument Data

Instrument information is synchronized from exchanges:

  • Sync frequency: On-demand via instrument/sync
  • Includes: Trading pairs, precision, limits, order types
  • Caching: 1 hour TTL

Trading Data

Data TypeSourceDescription
OrdersExchange + CadenzaOrder lifecycle managed by Cadenza
ExecutionsExchangeFills reported by exchange
PortfolioExchange + CadenzaAggregated balance and positions

Order Lifecycle

┌─────────┐    ┌──────────┐    ┌──────────┐
│ Cadenza │───▶│ Exchange │───▶│ Cadenza │
│ Submit │ │ Execute │ │ Update │
└─────────┘ └──────────┘ └──────────┘
  1. Order submitted to Cadenza
  2. Cadenza routes to exchange
  3. Exchange executes and reports
  4. Cadenza updates order status

Portfolio Data

Portfolio data is synchronized from exchanges and cached:

  • Balance updates: Real-time via WebSocket
  • Position updates: Real-time via WebSocket
  • Full sync: Periodic reconciliation

Data Consistency

Eventual Consistency

Some data may have brief inconsistencies due to network latency:

  • Order status may lag execution by < 1 second
  • Portfolio balance may lag trades by < 1 second

Reconciliation

Cadenza performs periodic reconciliation:

  • Order sync: Every 5 minutes
  • Balance sync: Every 1 minute
  • Position sync: Every 1 minute

Data Availability

ServiceSLAFailover
Market Data99.9%Multi-region
Trading99.9%Active-passive
Portfolio99.9%Cached fallback