1 ¡
Richard ¡Tibbe-s ¡ StreamBase ¡Systems ¡ QCon ¡London ¡2011 ¡
Complex ¡Event ¡Processing: ¡ DSL ¡for ¡High ¡Frequency ¡Trading ¡
Complex Event Processing: DSL for High Frequency Trading - - PowerPoint PPT Presentation
Complex Event Processing: DSL for High Frequency Trading Richard Tibbe-s StreamBase Systems QCon London 2011 1 Myth: High level domain specific languages
1 ¡
Richard ¡Tibbe-s ¡ StreamBase ¡Systems ¡ QCon ¡London ¡2011 ¡
Complex ¡Event ¡Processing: ¡ DSL ¡for ¡High ¡Frequency ¡Trading ¡
2 ¡
¡ ¡
3 ¡
High ¡Frequency ¡Trading ¡
customers ¡
GPUs ¡
4 ¡
Complex ¡Event ¡Processing ¡aka ¡Event ¡Processing ¡
Oracle, ¡SAP, ¡Esper, ¡Drools ¡and ¡many ¡more ¡
5 ¡
Why ¡a ¡DSL? ¡
6 ¡
Challenges ¡for ¡DSL ¡in ¡HFT ¡
7 ¡
Agenda ¡
8 ¡
StreamBase ¡Event ¡Processing ¡Plahorm ¡
Studio ¡Integrated ¡Development ¡Environment ¡ ApplicaMons ¡
Adapters ¡
StreamBase ¡Server ¡ ¡
Adapters ¡
Event ¡Processing ¡Server ¡
High ¡performance ¡opMmized ¡engine ¡ can ¡process ¡events ¡at ¡market ¡data ¡
Output ¡Adapter(s) ¡
Send ¡results ¡to ¡systems, ¡users, ¡user ¡ screens ¡and ¡databases. ¡
Developer ¡Studio ¡
Graphical ¡StreamSQL ¡for ¡developing, ¡ ¡ back ¡tesMng ¡and ¡deploying ¡applicaMons. ¡ ¡ ¡
Visualiza>on ¡
StreamBase ¡ Component ¡ Exchange ¡ StreamBase ¡ Frameworks ¡ ¡
Input ¡Adapter(s) ¡
Inject ¡streaming ¡(market ¡ data) ¡and ¡staMc ¡(reference ¡ data) ¡sources. ¡
9 ¡
StreamBase ¡StreamSQL ¡EventFlow ¡
Off ¡The ¡Shelf ¡ Business ¡Logic ¡ Rapid ¡Deployment ¡ & ¡Unit ¡TesMng ¡ Off ¡The ¡Shelf ¡ ConnecMvity ¡ Modularity ¡& ¡ Polymorphism ¡ Interfaces ¡& ¡ Extension ¡Points ¡
10 ¡
Kinds ¡of ¡ApplicaMons ¡
Data ¡Management ¡
aler>ng ¡
Data ¡Enrichment ¡
Alpha ¡Seeking ¡
Trade ¡Execu>on ¡
Dealing ¡
System ¡Monitoring ¡
Risk ¡
Back ¡tes>ng ¡
sources ¡
11 ¡
StreamBase ¡Accomplishments ¡Performance ¡& ¡ProducMvity ¡
12 ¡
How ¡did ¡we ¡do ¡it? ¡
13 ¡
1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 7 ¡ 10 ¡ 8 ¡ 9 ¡ 11 ¡ 12 ¡ 13 ¡ 14 ¡ 15 ¡
CompilaMon ¡StaMc ¡Analysis ¡
14 ¡
Modular ¡abstracMon, ¡interfaces ¡
15 ¡
Bytecode ¡generaMon ¡and ¡the ¡Janino ¡compiler ¡
16 ¡
Garbage ¡opMmizaMon ¡
17 ¡
DataClass ¡
Header
Fields
CFields
Header
Fields
CFields
18 ¡
IntegraMons, ¡C++ ¡and ¡Java ¡plugins ¡
19 ¡
Adapter ¡API, ¡Third ¡Party ¡IntegraMons ¡
processing ¡
20 ¡
Parallelism, ¡Clustering, ¡Lanes ¡and ¡Tiers ¡
u>liza>on ¡
Connection Manager FIX Solace Connection Manager FIX Solace Matching Engine Solace
Clients 1-20 Clients 20-40 Symbols A-K
21 ¡
Named ¡Data ¡Formats, ¡Schemas ¡
22 ¡
Lessons ¡Learned, ¡What ¡Not ¡To ¡Do ¡
measurement ¡and ¡analysis ¡harnesses ¡
23 ¡
Shameless ¡Plugs ¡
24 ¡
Download ¡StreamBase ¡and ¡More ¡InformaMon ¡ h-p://www.streambase.com ¡