Skip to main content

Exegy XTP / XCAPI Market Data Connector

Bespoke integration, not a packaged Aggregator/Universe Configurator plugin

This page documents custom integration work we have delivered with Exegy's market data platform. It is not a standard, pluggable Aggregator/Universe Configurator data connector — there is no pluginKey and no out-of-the-box configuration UI. It is a record of hands-on expertise with Exegy's client APIs, delivered as bespoke client engagements, so that this capability can be scoped and estimated for future work.

Exegy is a high-end, low-latency, hardware-accelerated market data platform ("Ticker Plant" appliance) that normalizes real-time exchange feeds across equities, options, futures/commodities, and FX into a single consistent data model. We have implemented custom Java-based integrations against two parts of the Exegy product line:

  • XCAPI (Exegy Client API) / XTP — a native client session to the Exegy Ticker Plant appliance for streaming, normalized, real-time market data.
  • XCR (Exegy Consolidated Recovery) — used to implement custom historical market data recovery/backfill against the Exegy appliance's recovery services.

We support Exegy Java API v5.x.

Features

N/A (custom integration)Connector Key
Instrument Types
EQUITYETF
Asset Class
EquityETF
Technology
Exegy XCAPI XCR
Feed Mode
Real-TimeHistorical Recovery
Order Book Update Mode
SnapshotIncremental Updates
Order Book Type
Level 1 (top-of-book)Level 2 (aggregated depth)Level 3 (order-level)
Message Types
Level 1
Level 2
Level 3
Trades
Funding Rates

What we built

  • Native XCAPI/XTP client session to the Exegy appliance — a direct, persistent XCSessionTicker connection (over Ethernet or InfiniBand), not a REST, file-drop, or polling-based integration.
  • Real-time equity market data streaming: quotes, trades, cancels and corrections, order imbalances, auction/opening-and-closing trade handling, and Exegy-normalized trading/market status (open, closed, halted, and their substatuses).
  • Depth-of-market handling across all three Exegy container depth modes:
    • Level 1 — top-of-book via XCRealtimeEquitySummary / XCRealtimeEquityStream, including Exegy's synthetic top-of-book derived from a depth-of-book feed.
    • Level 2 — aggregated price-book depth via XCRealtimePriceBookSummary, including support for Exegy's user-defined composite views (UBBO / UCPB / UQM) across a configured exchange set.
    • Level 3 — full order-level book via XCRealtimeOrderBookStream, built and maintained on the client from the dedicated order-book event stream (per Exegy's guidance, price-book summary event streams are not used to reconstruct client-side books).
  • Event-driven ingestion via the XCAPI listener model — container-specific listeners (e.g. XCRealtimeEquitySummaryListener) mapped onto our internal market data pipeline, using XCFieldSet field mapping/attach() pre-fetching to extract only the fields we need with minimal per-tick overhead and GC pressure (byte-array accessors over String where available).
  • Custom historical market data recovery via XCR — using Exegy's Consolidated Recovery service/API to backfill gaps and reconstruct historical order-book and trade state outside of the always-on real-time session, for cases where the standard Replay/Snapshot recovery built into the real-time session is not sufficient (e.g. longer look-back windows or offline reprocessing).
  • Resilience: reliance on XCAPI's built-in automatic reconnect/resubscribe and failover-list handling (multiple appliance addresses per session, with InfiniBand-prefixed addressing where applicable), rather than reimplementing reconnect logic on top of the API.

Symbology

Exegy identifies instruments using its own key-string convention, countrycode:exchangeid:symbol (e.g. US:N:IBM for IBM common stock on NYSE), with dedicated exchange codes for Exegy-internal constructs such as keylists (UX), keylist filters (RX), and composite/user-defined views (\U, \N, IX). Our integration maps Exegy key strings and Exegy's alternate-ID (symbol alias) mechanism to internal instrument identifiers.

Notes for scoping future work

  • Exegy is licensed, appliance-based infrastructure — client applications connect downstream from an Exegy Ticker Plant appliance that must already be deployed and licensed by the customer; we do not provide or host the appliance itself.
  • The API surface is broad (session/container/event object model, field sets, composite views, group-status optimization, etc.); the scope above reflects the subset we have exercised in production. Extending coverage (e.g. commodities/FX depth objects, keylist/filter management, monitoring containers) is expected to be incremental given the existing integration.
  • Feed-specific behavior (symbology, qualifiers, vectored-event semantics) varies per underlying exchange feed normalized by Exegy and should be validated against the Exegy Feed Handler Reference for each new venue/feed added to scope.