The first major family of patterns, Event-Driven Architectural Patterns, define concepts representing solutions on how to deal with events in high-frequency systems.

An Event is any notable thing, happening in or outside your system. Events are always defined in business terms (not data or application terms). Parties can publish or subscribe to events in a selective manner.

Events can be classified in many ways – one of those are in terms of the processing schema they implement

Simple Event Processing

Events are handled as a single notification, for example “trade matched”, or “trade booked”

Stream Event Processing

Stream of events are correlated, filtered and then stored. Some examples are management and monitoring services

Complex Event Processing

Streams of events are correlated, filtered, aggregated and then stored: e.g. split-adjusted price of securities over several days; average price tick of a security every 15 minutes