Event Processing Use Case: Automated Security Pricing Event Processing Symposium November
The Problem Need: Automate pricing, currently a manual process, thereby: –reducing latency (i.e. market responsiveness) –support for electronic/automated trading The Challenges: –High data rates –Demand for ultra-low latency –Input data prone to erroneous data points –Need for flexible model –Very short time to deploy
The Approach Inputs: Market Data prices from multiple sources Logic (forex): –Compare sources; select source –Check for “staleness” –Filter spikes –Boundary checks –Calculate mid-point –Calculate cross rates –Apply spread and skew –Publish rates
System Level View Purpose: calculate firm’s own rates based on current market prices
Data Flow - Forex
Functional Requirements - Forex Import reference data for each currency pair Spike Check –compare incoming rates to recent trend (moving average) to detect and suppress spikes Staleness Check –Flag any price that hasn’t updated in n seconds as “stale” where n varies by currency pair Thresholds: check new market price against boundary conditions –e.g. Bid < Ask, Spread < n (n varies by currency), etc Compute mid-point Compute cross-rates –Match spot to tom next –Use calendar functions Apply spread and skew –Spread and skew are set for each currency pair by the user –User updates spread and skew frequently and updates are applied in real-time User inputs (spread and skew) must be logged for audit purposes
Just the facts: Event processing style: –Relational –Cross-reference, compare streams, aggregate, filter, compute Language used: –Aleri SQL Or –XML (with Aleri DTD) Destination/Use of Results: –rates published in real-time and distributed throughout the bank Commercial tools applied: –Rates delivered by Reuters RMDS –Results published on Reuters RMDS –MS Visual Studio.NET (for trader interface)