Real-Time Decisioning Demo | Oil & Gas Trading & Supply — Commodity Trade Decisioning
Pipeline<10ms
1 / 9
1
Architecture
2
Trade Signal
3
Ingest
4
Context
5
Features
6
Decision
7
Impact
8
Outcome
9
Recap
Stage 1: The Architecture
Real-time commodity trade decisioning stack.
Physical energy trading decisions require simultaneously checking price, open position, risk limits, credit exposure, and logistics availability — across systems that were never designed to talk to each other in the same sub-second window. Redis is the layer that stages all of that context so pre-trade checks take 6.8 milliseconds instead of 1.4 seconds, and the desk can act while the spread is still there.
Data Sources

Market Data (Bloomberg / ICE)

Real-time price ticks, benchmark fixings, spot assessments, forward curves — streaming continuously

ETRM / CTRM (Openlink Endur)

Open positions, trade history, deal book, scheduled deliveries, scheduling obligations — Postgres

Risk Engine

VaR calculations, Greeks, position P&L attribution, limit state — Postgres

Credit System

Counterparty exposure, credit limits, active collateral, netting agreements — Postgres

Scheduling / Logistics

Pipeline nominations, vessel positions, storage inventory, delivery capacity — operational DB

Ingest Layer

Redis Data Integration (RDI)

CDC from Postgres ETRM, risk engine, credit system, and logistics DB — positions, limits, credit state — YAML pipelines, sub-second lag, 0 custom ETL

Kafka / Market Data Stream

Real-time price ticks, benchmark updates, position changes — streaming into Redis RAM as they occur

Redis Context · Trading Operational Store

Redis RAM

Hot live context — current market prices, open position counters, active limit state, in-flight pre-trade checks

Redis Flex

Full deal history, P&L attribution archive, historical exposure records, counterparty transaction history at tiered cost

Redis Search

Regulatory context vectors, similar trade pattern library, compliance reference data

Pre-Trade Decisioning Engine

Position & Limits Engine

Atomic open position counters, VaR contribution, directional limit checks — Redis atomic operations

Pre-Trade Risk Checks

Position headroom, VaR headroom, stop-loss proximity, net limit compliance

Credit Engine

Live counterparty exposure, credit limit consumption, collateral netting state

Pricing / Execution Engine

Spread vs. break-even, order sizing, execution routing

Output Channels

Trading System (TMS/ETRM)

Execute / Resize / Pass — returned in under 7ms

Risk Dashboard

Live position update, VaR contribution, limit consumption

Compliance Log

Pre-trade audit trail, limit check results, execution rationale

Learn: Execution outcomes → model calibration → spread capture rate improvement tracked in Redis Flex
Pre-trade SLA
<10 ms
Systems checked
6 in one path
Missed spreads (before)
23% of opportunities
Stage 2: Trade Signal
WTI physical crude opportunity — $0.47/bbl spread, 30-second window.
A 150,000-barrel WTI physical crude purchase opportunity has just appeared at Cushing: the counterparty is offering at a $0.47/bbl discount to the current ICE benchmark. The WTI desk has approximately 30 seconds before the spread closes or the counterparty moves on. Before the trader can execute, the pre-trade system must simultaneously check open position headroom, VaR contribution, credit exposure for this counterparty, and logistics availability at Cushing. Without Redis, that check takes 1.4 seconds across 6 systems. The window is often gone.
Trade Opportunity
WTI
WTI Crude — 150,000 bbl
ICE Brent benchmark · Cushing, Oklahoma delivery · Pipeline path available · Counterparty: Vitol
LIVE OPPORTUNITY
Eventphysical_crude_trade_opportunity
CommodityWTI Crude Oil (Light Sweet)
Delivery pointCushing, Oklahoma (US Hub)
Trade size150,000 barrels
Spread vs. benchmark$0.47/bbl discount (opportunity)
Gross P&L if executed$70,500 (150,000 × $0.47)
Decision window~30 seconds before spread closes
CounterpartyVitol — active credit relationship
Why Real-Time Matters Here
DISTRIBUTED PRE-TRADE CHECKS
Before a physical crude trade can execute, the desk must verify open position headroom in the ETRM, check VaR contribution against the risk engine, confirm credit exposure vs. limit in the credit system, and validate logistics availability with scheduling — 4+ sequential system calls. At 1.4 seconds total, spreads that were at $0.47 are often at $0.31 by the time pre-trade clears.
REDIS PRE-TRADE LAYER
Position, limits, credit state, and logistics availability are all staged in Redis. Pre-trade checks take 6.8 milliseconds. The desk gets the green light while the spread is still $0.47.
Stage 3: Ingest
Positions, limits, credit state, and market data flow into Redis.
RDI continuously syncs open positions from the ETRM, risk limit state from the risk engine, and credit exposure from the credit system — YAML pipelines, sub-second CDC lag, zero custom ETL. Kafka streams live market price ticks and position change events. The current Vitol credit exposure and Cushing logistics availability are already in Redis when this trade opportunity fires.
Redis Data Integration (RDI)Kafka
Source Systems → Redis (WTI Desk)
MKT
Market Data (Bloomberg / ICE) — real-time price ticks / WTI spot
Brent benchmark, forward curve, spread history — streaming via Kafka
ET
ETRM / CTRM (Openlink Endur) — open positions + deal book
Open WTI position 187,000 bbl long, deal history, scheduled deliveries — Postgres CDC via RDI
RSK
Risk Engine — VaR + limit state
Current VaR utilization, directional limits, stop-loss proximity, position P&L — Postgres CDC via RDI
CR
Credit System — counterparty exposure
Vitol active exposure $4.2M vs $10M limit, collateral, netting agreements — Postgres CDC via RDI
LOG
Scheduling / Logistics — Cushing storage + pipeline nominations
Available storage capacity, pipeline nomination status, current inventory by grade
RDI Pipeline Status
CDC modeReal-time (Debezium)
ETRM position lagunder 500 ms
Credit state lagunder 1 sec
Kafka market data lagunder 50 ms
Systems consolidated5 sources → 1 Redis serving path
Custom sync code0 lines (YAML only)
Why this matters for trading: Pre-trade checks across 4 separate systems represent 1.4 seconds of sequential latency on the execution path. At the speed physical energy spreads move, that is the difference between a $0.47 capture and a $0.31 capture — or a missed trade entirely. Redis stages all five context sources in one low-latency serving path. The pre-trade check becomes a single Redis read, not a distributed query.
Stage 4: Context
The full pre-trade context assembles for this WTI opportunity.
Redis RAM holds the live trading context — current market price, open position counters, active limit state, in-flight deal checks. Redis Flex surfaces the counterparty's full transaction history and P&L attribution. Redis Search checks the regulatory compliance context for this trade structure. All five systems' data is assembled before the first byte of the Bloomberg terminal has refreshed.
Redis RAMRedis FlexRedis Search
Trader & Position Profile
TraderE. Reeves — WTI Physical Crude Desk
Position limit500,000 bbl open (directional)
Current open position187,000 bbl long WTI
Position headroom313,000 bbl available
Daily P&L (current)+$124,300
VaR utilization62% of daily limit ($2.8M / $4.5M)
Live Pre-Trade Context
WTI spot price (live)$78.34/bbl
Opportunity spread$0.47/bbl discount
Vitol credit exposure$4.2M of $10M limit ($5.8M available)
Cushing storage available240,000 bbl capacity available
Pipeline nomination statusDay 17 path confirmed
VaR contribution (this trade)+$187K vs $1.7M remaining headroom
Context signal: All five pre-trade checks are green simultaneously — position headroom (313,000 bbl available), VaR contribution within limit ($187K vs $1.7M headroom), Vitol credit available ($5.8M of $10M limit unused), Cushing storage capacity (240,000 bbl), pipeline nomination confirmed. Without Redis, these checks run sequentially across 5 systems. With Redis, they assemble in one 6.8ms read. The desk acts in the window.
Stage 5: Feature Serving
5 pre-trade risk checks cleared in 4.7ms.
Redis RAM serves the live position counters and limit state. Redis Flex surfaces the counterparty exposure history. Redis Search checks regulatory compliance context. The pre-trade engine checks all five risk dimensions simultaneously — the same data the risk system would validate sequentially, served from Redis in a single pass.
Redis RAMRedis Flex
position_headroom_bbl
Available open position capacity vs. directional limit for this desk
313,000 bbl available (trade: 150,000)0.4 ms
var_contribution_mm
Estimated VaR contribution of this trade vs. remaining daily VaR headroom
+$0.187M vs $1.7M headroom0.3 ms
credit_available_mm
Counterparty credit limit remaining after current active exposure
$5.8M available — Vitol ($4.2M of $10M used)0.3 ms
logistics_capacity_bbl
Available Cushing storage capacity for this delivery point and timing
240,000 bbl — Day 17 path confirmed0.4 ms
spread_vs_var_breakeven
Current spread vs. minimum spread required for positive VaR-adjusted return
$0.47 vs $0.18 break-even (2.6x above)0.3 ms
PRE-TRADE CHECKS
5 cleared
P99 LATENCY
4.7 ms
SYSTEMS CONSOLIDATED
5 → 1
CHECKS PASSED
All green
Stage 6: Decision
Three execution paths scored. EXECUTE at full size in 6.8ms.
The pre-trade engine evaluates three execution paths — execute at full size, resize to a smaller position, or pass. Position, VaR, credit, logistics, and spread-to-break-even all clear at 150,000 barrels. The spread of $0.47/bbl is 2.6x above the VaR-adjusted break-even. All five pre-trade checks return green simultaneously. EXECUTE at full size.
Pre-Trade Risk EnginePosition EngineCredit Engine
5 pre-trade checks cleared
All limits green simultaneously
Spread 2.6x above break-even
Decision returned in 6.8ms
#1 Execute
EXECUTE
Execute 150,000 bbl WTI at $0.47/bbl
Position headroom: 313,000 bbl (trade fits). VaR contribution: $187K vs $1.7M remaining. Credit: $5.8M available vs $4.2M Vitol exposure. Logistics: 240,000 bbl Cushing storage available. Spread: $0.47 vs $0.18 VaR break-even. Execute at full size.
Execution score94%
#2 Resize to 100K bbl
RESIZE
Execute 100,000 bbl — partial position
Would apply if VaR headroom were tighter. Current VaR utilization is 62% — the trade fits at full size with $1.5M remaining headroom after execution. Resize score: 0.06.
Resize score6%
#3 Suppressed
PASS
Pass — spread below VaR-adjusted break-even
Pass threshold requires spread below the VaR-adjusted break-even ($0.18/bbl) OR a failed pre-trade check. Current spread of $0.47 is 2.6x above break-even and all five checks are green. Pass is not a viable path for this trade.
Pass score0%
Stage 7: Business Impact
6.8ms between trade signal and execution clearance.
Without Redis, pre-trade checks across 5 systems take 1.4 seconds sequentially. At that latency, the $0.47 spread that triggered the opportunity has often moved to $0.31 or lower — or the counterparty has closed the offer. The WTI desk estimates 23% of actionable spread opportunities are missed because the pre-trade window outlasts the market window. Redis eliminates that gap.
Pre-Trade Timeline
DISTRIBUTED PRE-TRADE PATH (WITHOUT REDIS)
14:23:41Trade opportunity detected — $0.47/bbl spread
14:23:41 → 14:23:42.4Sequential pre-trade checks across ETRM, risk engine, credit, logistics
14:23:42.4Pre-trade cleared — 1.4 seconds elapsed
14:23:42.4Spread now $0.31/bbl (moved 34% during check)
OutcomeTrade executed at $0.31 = $46,500 captured (vs $70,500 at original spread)
REDIS PRE-TRADE PATH
14:23:41Trade opportunity detected — $0.47/bbl spread
14:23:41 + 6.8msAll 5 pre-trade checks cleared — EXECUTE returned
14:23:41 + 7msExecution instruction sent — order placed at $0.47
14:23:41 + 8msConfirmation received — 150,000 bbl WTI acquired
Outcome$70,500 P&L captured at full spread · No spread erosion
At scale: A high-frequency crude trading desk sees 40–60 spread opportunities per trading day. At a 23% miss rate, the annualized opportunity cost is $8–12M. Redis does not make the trading strategy better — it removes the infrastructure gap between the strategy and execution. The desk was already identifying the right opportunities. Redis just makes sure they can act on them.
Per-Trade Impact
$46,500
executed at $0.31 after 1.4s check · or $0 if offer closed
$70,500
full $0.47 spread captured · 6.8ms pre-trade check
EXECUTION QUALITY
Pre-trade checks that take 6.8ms instead of 1.4s preserve the spread the strategy identified. The trading edge is not lost to infrastructure latency.
PORTFOLIO SCALE
23% miss rate across 40–60 daily opportunities = $8–12M annualized opportunity cost. Redis eliminates the category.
Stage 8: Outcome
Same spread. Two pre-trade paths.
The distributed path takes 1.4 seconds to query 5 systems sequentially — by then the spread has moved from $0.47 to $0.31, and the desk captures only $46,500 of the $70,500 opportunity. The Redis path stages all five context sources and clears all five checks in 6.8ms — the desk executes at $0.47 and captures the full spread.
Distributed Pre-Trade (Without Redis)
PRE-TRADE CHECKING...
1.4s — SPREAD MOVED
Sequential system calls — window closing
ETRM position query340 ms
Risk engine VaR check280 ms
Credit system exposure310 ms
Logistics availability270 ms
Total pre-trade1.4 sec (sequential)
OUTCOME
SPREAD MISSED
Pre-trade cleared at 1.4s · WTI spread moved from $0.47 → $0.31 during check · $24,000 P&L left on the table (34% erosion)
1.4 sec
pre-trade check
$46,500
P&L captured
−$24K
lost to latency
Redis Pre-Trade Layer
REDIS PRE-TRADE
EXECUTE — 6.8ms
All checks green
E. Reeves — WTI Physical Crude Desk
All 5 Pre-Trade Checks Cleared · Execute at Full Size
Position: 313K bbl headroom. VaR: $187K vs $1.7M remaining. Credit: $5.8M available (Vitol). Logistics: 240K bbl Cushing confirmed. Spread: $0.47 — 2.6x above break-even.
Pre-trade check (Redis p99)6.8 ms
Position headroom313,000 bbl — clear
VaR contribution$187K vs $1.7M remaining — clear
Credit available (Vitol)$5.8M — clear
Spread captured$0.47/bbl (full spread)
OUTCOME
EXECUTED
6.8ms pre-trade clearance · 150,000 bbl WTI acquired at full $0.47 spread · $70,500 P&L captured
6.8ms
pre-trade check
$70,500
P&L captured
5 checks
cleared
Stage 9: Architecture Recap
Every trade. Every pre-trade check. Sub-10ms.
The architecture is designed to operate continuously across every trading desk and every pre-trade check. RDI keeps positions, limits, credit state, and logistics availability always fresh — the pre-trade engine never makes a synchronous call to a downstream system. Redis RAM holds the hot trading context. Redis Flex holds the full deal history and counterparty exposure archive at tiered cost. The pre-trade check that used to take 1.4 seconds now takes 6.8 milliseconds — and the desk acts in the window.
Data Sources

Market Data (Bloomberg / ICE)

Real-time price ticks, benchmark fixings, spot assessments, forward curves — streaming continuously

ETRM / CTRM (Openlink Endur)

Open positions, trade history, deal book, scheduled deliveries, scheduling obligations — Postgres

Risk Engine

VaR calculations, Greeks, position P&L attribution, limit state — Postgres

Credit System

Counterparty exposure, credit limits, active collateral, netting agreements — Postgres

Scheduling / Logistics

Pipeline nominations, vessel positions, storage inventory, delivery capacity — operational DB

Ingest Layer

Redis Data Integration (RDI)

CDC from Postgres ETRM, risk engine, credit system, and logistics DB — positions, limits, credit state — YAML pipelines, sub-second lag, 0 custom ETL

Kafka / Market Data Stream

Real-time price ticks, benchmark updates, position changes — streaming into Redis RAM as they occur

Redis Context · Trading Operational Store

Redis RAM

Hot live context — current market prices, open position counters, active limit state, in-flight pre-trade checks

Redis Flex

Full deal history, P&L attribution archive, historical exposure records, counterparty transaction history at tiered cost

Redis Search

Regulatory context vectors, similar trade pattern library, compliance reference data

Pre-Trade Decisioning Engine

Position & Limits Engine

Atomic open position counters, VaR contribution, directional limit checks — Redis atomic operations

Pre-Trade Risk Checks

Position headroom, VaR headroom, stop-loss proximity, net limit compliance

Credit Engine

Live counterparty exposure, credit limit consumption, collateral netting state

Pricing / Execution Engine

Spread vs. break-even, order sizing, execution routing

Output Channels

Trading System (TMS/ETRM)

Execute / Resize / Pass — returned in under 7ms

Risk Dashboard

Live position update, VaR contribution, limit consumption

Compliance Log

Pre-trade audit trail, limit check results, execution rationale

Learn: Execution outcomes → model calibration → spread capture rate improvement tracked in Redis Flex
Pre-trade SLA
<10 ms
Systems checked
6 in one path
Missed spreads (before)
23% of opportunities