Platform Platform overview Modules Solutions Industries Commodities Roles Quant More Pricing Customers Knowledge Center Blog Company Request Demo
Knowledge Center · Guides

Modern trading architecture

A reference design for a trading and risk platform: one governed model, API-first access, event-driven processing, and a BI-ready analytical layer, with the patterns that implement each.

12 min read · Back to Guides · Data dictionary

The reference shape

A modern trading architecture has four properties that reinforce one another: a single governed data model, API-first access, event-driven processing, and an analytical layer built on the same data. They are not independent features to check off; their combination is what changes the economics of running a desk.

Fragmented landscapeFront officeowncopyRiskowncopyBack officeowncopyreconciliationOne governed modelgoverneddata modelFrontRiskBackReporting
Left: every function keeps its own copy of the trade, and a reconciliation layer exists only to make the copies agree. Right: every function reads and writes one governed model, so there is nothing to reconcile.

The governed model

At the centre is one authoritative representation of each business fact, the trade, the position, the curve, that every function reads from and writes to. A trade captured once is the same trade valuation prices, risk aggregates, and settlement invoices. History is retained bitemporally so any past state reproduces exactly.

Bitemporality. tracking both when a fact was true in the world and when the system recorded it, so any past valuation or report can be reproduced exactly, which is what auditors and regulators require.

Event-driven core

Events tie the modules together in real time. A booked trade emits one event to a durable log; valuation, position, risk, and analytics each consume it and update within seconds. No polling, no batch, no copies.

Trade bookedevent logValuationPositionRisk & limitsAnalytics martsseconds,not hours
One booking emits a single event to the log; valuation, position, risk, and analytics each consume it and update within seconds. The trade is referenced, never copied.
python@subscribe("TRADE_BOOKED")
def on_trade(event):
    position = positions.apply(event)          # one governed position
    npv, greeks = pricer.value(position, market.snapshot())
    risk.update(event.book, npv, greeks)       # live risk, no overnight batch

API-first access

Every capability is exposed as a governed interface, REST, GraphQL, webhooks, streaming, and the platform’s own UI is just another consumer of the same APIs. That is what makes the platform integrate cleanly and compose into an existing landscape rather than becoming a silo.

Governed coreRESTGraphQLWebhooksStreamingOwn UIERP / SAPAnalyticsAutomation
Every capability is exposed as REST, GraphQL, webhook, and streaming interfaces over one governed core. The product’s own UI is just another consumer of the same APIs, which is what proves they are complete.

Analytics on the same data

Rather than exporting nightly and reconciling before anyone trusts a number, the architecture materialises governed star-schema marts over the trading model, with conformed dimensions and a semantic layer, so business intelligence runs on trusted data with lineage back to the trade. See the BI & OLAP layer.

Deploy anywhere

The same design runs as a managed service, in a private cloud, or on-premises, because it is defined as reproducible infrastructure rather than a hand-built environment. That portability is also a disaster-recovery property: the environment can be recreated, not just restored.

Related

See this on your own trades

A live walkthrough is the fastest way to connect this to your desk.

Request a demo Back to Guides