Complex Pattern Recognition (CPR) Engine

Introduction

This software component is the core of our complex event processing infrastructure. It was designed to process a broad variety of financial market events like quotes, trades, corporate financial data, news and much more to identify complex patterns, which represent a valuable trading opportunity.

Real straight-through processing

This software engine is able to apply complex pattern checks in near-time to incoming market data. The software architecture is based on massive parallel processing concepts to ensure that any inbound stream can be processed. This means, that the engine is totally event-driven rather than batch-oriented. Furthermore, not only a single pattern can be checked for an incoming event, but many different patterns, that consist of different rules can be checked. This enables customer-specific strategy processing of an incoming event stream.

Visual Pattern Match Illustration

Whenever the CPR engine has detected a pattern match, it stores all information that is required to visualize the pattern match within a financial figure. The following picture shows how the pattern match information can be superimposed into a price chart to visualize the match:

This requires, that the CPR engine stores the entire context of analysis, if a pattern match is detected. For example, the last stock price was 20.6% below the maximum of the last 40 days and therefore fulfills the condition of at least 20%. The pattern match context also contains all information about the matching of all other rules/conditions, that were fulfilled as well in order to make the pattern match happen.

Leading Edge Design and Technology

Our software is entirely written in the Java programing language. The key factor for performance is not only the optimization of programing guidelines, it is the design of the software. The key requirement from the beginning was the performance optimization of parallel analysis execution. We are using a proprietary approach to enable the execution of thousands of virtual analysis operations in parallel in order to detect customer-specific trading pattern configurations.