SlideShare a Scribd company logo
1 of 42
CLIMBING MOUNT
                         COMPLEXITY, ONE
                         EVENT AT A TIME




                                   David VINCENT – CTO




© 2009 smartTrade Inc.
Presentation Agenda



                         1. Liquidity Management Playground

                         2. Liquidity Management Foundations

                         3. Implementation challenges

                         4. QuickFix/J and SmartTrade LMS

                         5. ESPER and SmartTrade LMS




 © 2009 smartTrade Inc
© 2009 smartTrade Inc.
Liquidity Management Play Ground




© 2099 smartTrade Inc
© 2009 smartTrade Inc.
Flows in presence




© 2009 smartTrade Inc.
Various objectives

                         •   Best execution

                         •   Best services to clients ( market impact, orders management )

                         •   Algo

                         •   Market

                         •   Venues

                         •   Cross-Asset




© 2009 smartTrade Inc.
Business and Economical Dimension

                         •   Business

                              •   Pricing / Rules / Decision making

                              •   Automated Market-Making ( active / passive orders ) to clients and
                                  venues

                              •   Creating Dark Pools

                              •   Pre-matching, Best Exec (RegNMS, MIFID,...)

                              •   Access to Liquidity / Connectivity

                              •   High Velocity flows

                         •   Economical

                              •   Market impact

                              •   Execution and clearing fees control

                              •   More Value/Less Risk/ More Flows

© 2009 smartTrade Inc.
Functional Dimension

                         •   Supporting various market discovery modes

                              •   Streaming

                              •   Request For Stream

                         •   Supporting various trading modes

                              •   Orders

                              •   RFQ

                         •   Multi Leg patterns

                              •   Basis trading

                              •   Synthetic products




© 2009 smartTrade Inc.
Technical Dimension

                         •   Moving targets – always

                         •   Complex interacting processes

                         •   Old legacy systems part of the game

                         •   Low latency

                         •   Scalability

                         •   High Availability – zero error acceptance

                         •   Integration – openness, flexibility, interoperability, acceptability by
                             IT teams




© 2009 smartTrade Inc.
Liquidity Management Foundations




© 2099 smartTrade Inc
© 2009 smartTrade Inc.
Foundation of Liquidity Management




                   Liquidity Aggregator           Liquidity Crosser     Liquidity Orchestrator    Liquidity Connect




                                          All components can be used individually, or combined,
                                             to help solve entire Liquidity Management needs.




© 2009 smartTrade Inc.
The Internal Market Paradigm

                         •   Virtualization of all trading flows at the enterprise level: complete
                             internal market state model

                         •   Full lifecycle management of all inbound and outbound instructions
                             and orders

                         •   Complex distribution and liquidity management strategies
                             (orders types, price aggregation, smart routing, internal crossing,
                             internalization, multi-leg strategies, price-tiering)

                         •   Easy-to-add new products and automated rules

                         •   Seamless integration to current & existing infrastructures for a short
                             time-to-market implementation (including transport)

                         •   Connectivity: Liquidity Connect




© 2009 smartTrade Inc.
Generic Liquidity Management System




© 2009 smartTrade Inc.
Implementation challenges




© 2099 smartTrade Inc
© 2009 smartTrade Inc.
Key Technology Factors

                         •   Common Data Model
                              • Explicit messages & structures of data shared across the platform are defined
                                 in a domain specific XML file data model
                              • Extensive Cross-platform code generation ( Java, .NET, C++ )
                              • Extensibility – static and dynamic data model fields & structures
                         •   Open Messaging
                              • Decouples messaging middleware dependencies from internal architecture
                              • Allows several messaging transports to connect to the same container
                              • Leveraging client’s existing deployments
                         •   Dependencies Injection
                              • Offers a easy way to create assemblies of components; allows very flexible
                                 configurations
                         •   Deployment Supervision
                              • Mix between Agent based approach (non-intrusive) & JMX
                              • Component configuration ; Supervision & Lifecycle Management
                              • Web based application allowing monitoring of:
                                   - Hardware state ( CPU, Processes, Disks, Memory )
                                   - Application state ( Threads, Heap )
                                   - Custom Metrics via JMX plug-ins framework
© 2009 smartTrade Inc.
Development Approach

                         •   SCRUM Methodology
                              • Agile approach to software development & program management,
                                enabling fast and iterative deliveries to clients.
                              • A key principle of Scrum is its recognition that during a project the
                                customers can change their minds about what they want and need,
                                so its gives valuable flexibility to these unpredicted challenges.

                         •   XP (Extreme Programming)
                              • A disciplined approach to software development.
                              • XP empowers developers to confidently respond to changing
                                 customer requirements, even late in the life cycle.
                              • It stresses customer satisfaction. So projects will experience greater
                                 success and developer productivity.

                         •   High Involvement in Open Source World
                              • Open Source development philosophy internally
                              • Contributor in multiple OpenSource projects
                              • Project lead of QuickFixJ OpenSource Java FIX engine


© 2009 smartTrade Inc.
QuickFix/J : a pure Java FIX Engine




© 2099 smartTrade Inc
© 2009 smartTrade Inc.
What is FIX ?

                         •   Financial Information eXchange

                         •   Created in 1992.

                         •   Free, open technical specification for electronic communication
                             of trade-related messages.

                         •   Maintained by FIX Protocol Ltd.
                              • Volunteer team

                         •   In wide use (exchanges, banks, …)

                         •   Global adoption




© 2009 smartTrade Inc.
FIX protocol layers

                         •   Session Protocol
                              • Message format, header, footer
                              • Logon/Logoff
                              • Heartbeats
                              • Sequence number synchronization

                         •   Application Protocol
                              • Message formats and semantics
                              • Order submittal and execution
                              • Quoting
                              • Market data
                              • Other (email, news, …)

                         •   Representation
                              • ASCII Tag/Value
                              • FIXML (XML, Tag/Value envelope)
                              • Example Message:
                              • 8=FIX.4.19=6135=A49=INVMGR56=BRKR34=152=20000426-
                                 12:05:0698=0108=3010=157


© 2009 smartTrade Inc.
What is a FIX Engine ?

                         •   Session protocol implementation
                              • Messages and behavior

                         •   Supports application messages
                              • Behavior is application-specific

                         •   Eases trading counterparty connectivity

                         •   “The nice thing about standards…”
                              • Many variations




© 2009 smartTrade Inc.
QuickFix/J Open Source Project
                         •   Spin off of the QuickFIX C++ project
                              • Native C++
                              • Java via JNI

                         •   QuickFix/J motivators
                              • Interesting domain
                              • Integration/deployment issues w/JNI
                              • Free FIX engine for Java clients
                              • No existing OSS Java FIX engines
                              • Unhappy with existing vendors ( Price, Support )
                              • Unhappy with “homebrew” engines

                         •   History
                              • Discussed on QF lists and wiki
                              • November 2004 : QFJ work started in by Steve BATE
                              • Help from Smart Trade on the port
                              • Mid-July 2005 : 1.0.0 beta released
                              • December 2008 : Smart Trade Technologies takes over the project lead
                              • February 2009 : 1.4 released

                         •   http://www.quickfixj.org
© 2009 smartTrade Inc.
QuickFix/J Elements

                         •   FIX metadata (XML)
                              • Parser, Pretty Printing, Validation

                         •   Generation of Message-related code
                              • Uses Java, XSLT, and XML metadata
                              • Java message and field definitions (FIX 4.0 – 5.0, Serializable )
                              • Message Cracker (type safe dispatcher)

                         •   Application
                              • Interface implemented by users
                              • Several callbacks (Session creation, Logon/Logoff, Message sent/recvd).

                         •   Session
                              • Implements FIX protocol
                              • Data dictionary
                              • Message Factory
                              • Message Store (file, JDBC, BDB)
                              • Session Log (file, JDBC, console)
                              • Settings (file)


© 2009 smartTrade Inc.
QuickFix/J Elements

                         •   Connection management
                              • Socket Initiator (usually buy side)
                              • Socket Acceptor (usually sell side)
                              • Single or multithreaded
                              • NIO using MINA
                              • Alternate implementations possible

                         •   Acceptance Testing tools
                              • declarative test definitions derived from FIX spec,
                              • JUnit based

                         •   Unit testing tools
                              • fills coverage gaps in acceptance testing
                              • JUnit based

                         •   Cruise Control
                              • Continous integration support
                              • Builds product and executes tests

                         •   Example applications and code samples

© 2009 smartTrade Inc.
QuickFix/J Benefits
                         •   Covers the full FIX connectivity scope
                              • Supports FIX versions 4.0 - 4.4, 5.0/FIXT1.1
                              • Scheduling of session connections
                              • Failover and High Availability

                         •   Open Source
                              • Free! It costs nothing and has a very liberal open source license.
                              • Full source code available (also at no cost).

                         •   Native Java
                              • Runs on any hardware and operating system supported by 1.4+ Java SE or
                                 compatible VM.
                              • Supports embedded SSL with Java 5+
                              • Provides standard JMX MBeans for FIX engine management
                              • Easy to embed in existing Java applications

                         •   Highly Customizable
                              • Support for protocol customizations (new messages, fields, constraints).
                              • Session state storage plugins: JDBC, File, SleepyCat/JE, In memory
                              • Logging plugins: JDBC, File, SFL4J (supports JDK1.4 logging, Log4J, Commons
                                 Logging), Console, Composite

© 2009 smartTrade Inc.
QuickFix/J inside the Smart
                                 Trade LMS



© 2099 smartTrade Inc
© 2009 smartTrade Inc.
Liquidity Connect Architecture

                         •   Connecting N world to P world

                         •   Enterprise Integration Patterns implementation
                              • Not yet CAML ☺
                              • Router / Translator / Interceptor Chains

                         •   Connector
                              • Abstract the API to connect to a specific world
                              • Manages life cycle of the connection ( ready, down, stale.. )
                              • Receives and transmits message to an interceptor chain

                         •   Interceptor chain
                              • Unidirectional
                              • Pass messages along different components
                              • Connector is always at the start and the end of a chain
                              • One to many relationship : 1 connector -> N connector

                         •   Bridge
                              • Assembly of connectors and interceptor chains
                              • Spring based definition

© 2009 smartTrade Inc.
Liquidity Connect Architecture
                          •   A –B Bridge




                          •   A – BC Bridge




© 2009 smartTrade Inc.
STTP Connector

                         •   Connecting Smart Trade LMS world to P world

                         •   Using the Smart Trade STConnect API

                         •   Normalizing data into the Smart Trade canonical model
                              • Translator interceptors




© 2009 smartTrade Inc.
QuickFIX/J Connector

                         •   Connecting Smart Trade LMS world to FIX world

                         •   Using QuickFix/J Fix engine and libraries

                         •   Normalizing data into the FIX canonical model
                              • Translator interceptors to manage versions
                              • Support Custom fields




© 2009 smartTrade Inc.
QuickFix/J and ST LMS




© 2009 smartTrade Inc.
ESPER CEP




© 2099 smartTrade Inc
© 2009 smartTrade Inc.
Esper Open Source Project

                         •   Mission
                              • CEP a natural and easy task of your application
                              • Open platform to create competitive differentiators and maximize
                                 reuse

                         •   ...and therefore
                               • Lightweight and embeddable into any Java technology process
                               • Open source
                               • Low latency and high throughput

                         •   Project background
                              • 3 years of development, 100% Java
                              • NEsper for .NET/C#, same semantics

                         •   Dual licensing Enterprise/OEM/Open Source model
                              • Open source for open source use (GPL license)
                              • Commercial for redistribution by ISVs
                              • Services & support (dev, 8x5, 24x7)

                         •   http://esper.codehaus.org

© 2009 smartTrade Inc.
Esper Products Offering

                         •   ESPER
                              • ESP/CEP with expressive Event Processing Language
                              • Continuous queries, aggregation, joins, causality and missing events,
                                 joins to historical data, output flow control...
                              • Standalone or Embedded

                         •   ESPER HA
                              • Out-of-heap storage, complete resiliency to disk, or local in-memory
                                 caching
                              •   Clustering and hot backup capabilities for event and streams state

                         •   ESPER ENTERPRISE EDITION
                              • Esper Studio: Operational console for runtime management, real-
                                 time event stream views and ad-hoc queries
                              •   EsperJMX: Runtime management and monitoring over standard JMX
                                 connectors
                              •   EsperJDBC: JDBC compliant client and server endpoints for
                                 interoperability

                         •   NESPER
                              • ESPER for C#/.NET

© 2009 smartTrade Inc.
Esper Key Benefits

                         •   ESPER Integrated ESP and CEP and expressive EPL language

                         •   Rapid development, test and reuse of existing code
                              • Java libs, other open source fwk, Eclipse IDE etc.

                         •   Performant & lightweight
                              • Server-less if needed
                              • Possible use of Real-Time JVMs
                              • Multi-platform (Java / .Net, 32/64 bits, multiple OS support)

                         •   Ease of integration in existing platforms or standards
                              • Spring Framework
                              • Enterprise Integration Technologies

                         •   Management console, runtime management, standard based
                             (JMX)




© 2009 smartTrade Inc.
ESPER inside the Smart Trade
                                     LMS



© 2099 smartTrade Inc
© 2009 smartTrade Inc.
Why integrating with ESPER CEP ?

                         •   CEP are NOT Liquidity Management Systems…… They are
                             complementary

                         •   Smart Trade
                              • “Smart Trade’s customers will be able to rely on a domain-specific
                                CEP for their SOR, crossing and aggregation strategies on top of
                                already existing programmable rules that our liquidity management
                                system produces and implements to ensure best execution for their
                                firm and clients. This clearly proves that CEP and liquidity
                                management are complementary technologies.”
                                      David VINCENT – co-founder and CTO


                         •   Esper Tech
                              • "The EsperTech and SmartTrade agreement combines and extends
                                 our open-source roots to maximize fit for purpose and confidence
                                 while minimizing costs for Reg NMS and MiFID best-execution
                                 deployments. This once again confirms how our enterprise-ready and
                                 open-source CEP makes sense in today’s world across all industries.”
                                      Thomas BERNHARDT, founder and CEO

                         •   OEM Agreement between Smart Trade Technologies and Esper
                             Tech signed in February 2009

© 2009 smartTrade Inc.
ESPER Plugin
                         •   Domain specific integration
                              • Creation of complex stream on the fly
                              • Manipulating a Domain Specific model

                         •   Wrapping the ESPER 3.2 runtime into STContainers
                              • Rely on EPServiceProvider, EPStatement and the other friends
                              • Using Spring
                              • Extending the ESPER engine with specific behaviour ( ex : sorting )

                         •   Wrapping the Smart Trade canonical model with Event
                              • Ex : MarketDataSnapshot => MarketDataSnapshotEvent
                              • Ex : NewOrderSingle => NewOrderSingleEvent
                              • Using model extensibility to add EPL return statement fields




© 2009 smartTrade Inc.
Liquidity Aggregator’s ESPER Plugin

    •           Integration with the STConnect API
                 • Allows to interact remotely with the ESPER Engine
                 • Creating and consuming EPL queries from external process
                 • Chosing feed sources

    •           “Plumbing” Liquidity sources events to the ESPER engine
                 • Source of data
                 • Distribution End point




© 2009 smartTrade Inc.
Examples of ST / EPL use
      •          Average Bid in the last 30 seconds window

                                                select avg(price.value) as PriceAverage from
                                 MarketDataSnapshotEvent(MDReqID.value=‘XXXX')[bidEntries].win:time(30 sec)



      •          Instant BestBid / BestOffer spread

                              select bestAggregatedOffer.price.value-bestAggregatedBid.price.value as Spread from
                                               MarketDataSnapshotEvent(MDReqID.value=‘XXXX')


      •          Average BestBid / BestOffer spread in the last 30 seconds window

                            select avg(bestAggregatedOffer.price.value-bestAggregatedBid.price.value) as Spread from
                                        MarketDataSnapshotEvent(MDReqID.value=‘XXXX').win:time(30 sec)



      •          VWAP
                                                      select average as VWAP from
                         MarketDataSnapshotEvent(MDReqID.value=‘XXXX')[bidEntries].win:stat:weighted_avg(price.value,
                                                              quantity.value)




© 2009 smartTrade Inc.
Liquidity Orchestrator’s ESPER Plugin

    •           Generating complex events to be managed by the rules
                 • From aggregated or raw market data
                 • From order life cycle events ( Fills, Cancelation, unsollicitated messages )
                 • From external functional events ( Risk exposure,..) to technical events (
                   Latency, ..)

    •           Separating the events monitoring logic from the actions
                 • A clean Action / Reaction model
                 • A way to layer the rules coding




© 2009 smartTrade Inc.
ESPER and ST LMS




© 2009 smartTrade Inc.
Questions




© 2009 smartTrade Inc.
Please contact


Europe                           United Kingdom
Tel : + 33 1 44 50 19 19         Tel.: +44 (0)20 3326 0522
Fax: + 33 4 42 97 62 52          Fax: +44 (0)20 7491 7976
hgozlan@smart-trade.net          njames@smart-trade.net


North America
Tel.: +1 212 618 6383
Fax: +1 212 618 6309
mbailey@smart-trade.net

www.smart-trade.net

More Related Content

Similar to Climbing mount complexity, one event at a time

Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...mfrancis
 
Banking Software Simulated proposal
Banking Software Simulated proposalBanking Software Simulated proposal
Banking Software Simulated proposalImran Fayyaz
 
Universal Messaging: Transforming How Businesses Communicate
Universal Messaging: Transforming How Businesses CommunicateUniversal Messaging: Transforming How Businesses Communicate
Universal Messaging: Transforming How Businesses CommunicateSoftware AG
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesDan Selman
 
Siebel to Salesforce
Siebel to Salesforce Siebel to Salesforce
Siebel to Salesforce Pactera_US
 
What OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSyst
What OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSystWhat OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSyst
What OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSystmfrancis
 
VMware Zimbra vs. Novell Groupwise
VMware Zimbra vs. Novell GroupwiseVMware Zimbra vs. Novell Groupwise
VMware Zimbra vs. Novell GroupwiseMike K
 
Orc For Market Making
Orc  For Market MakingOrc  For Market Making
Orc For Market MakingLMessi10
 
Cloud Limitless 2012
Cloud Limitless 2012Cloud Limitless 2012
Cloud Limitless 2012apsheehan
 
Develop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization StrategyDevelop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization StrategyWSO2
 
Microsoft, Citrix and SCOM: EOL or a New Beginning ?
Microsoft, Citrix and SCOM:  EOL or a New Beginning ?Microsoft, Citrix and SCOM:  EOL or a New Beginning ?
Microsoft, Citrix and SCOM: EOL or a New Beginning ?eG Innovations
 
LIVO Presentation by ENO
LIVO Presentation by ENOLIVO Presentation by ENO
LIVO Presentation by ENOTamer Taşdelen
 
L105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902aL105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902aTony Pearson
 
High Tech Manufacturing
High Tech ManufacturingHigh Tech Manufacturing
High Tech ManufacturingGarima Sinha
 
Maximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingMaximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingJerry Inman
 
Signal distribution in ds networks
Signal distribution in ds networksSignal distribution in ds networks
Signal distribution in ds networksElizabeta Petakovic
 
Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.
Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.
Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.Aptean
 
Introduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerIntroduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerAnt Phillips
 
Quantlogic Product & Services Offerring
Quantlogic Product & Services OfferringQuantlogic Product & Services Offerring
Quantlogic Product & Services Offerringnscarr
 

Similar to Climbing mount complexity, one event at a time (20)

Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
Enabling the Enterprise with Next-Generation Mobile Architectures - Mark Vand...
 
Banking Software Simulated proposal
Banking Software Simulated proposalBanking Software Simulated proposal
Banking Software Simulated proposal
 
Universal Messaging: Transforming How Businesses Communicate
Universal Messaging: Transforming How Businesses CommunicateUniversal Messaging: Transforming How Businesses Communicate
Universal Messaging: Transforming How Businesses Communicate
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
 
Siebel to Salesforce
Siebel to Salesforce Siebel to Salesforce
Siebel to Salesforce
 
What OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSyst
What OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSystWhat OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSyst
What OSGi technology offers to mobile enterprise developers - Jo Ritter, ProSyst
 
VMware Zimbra vs. Novell Groupwise
VMware Zimbra vs. Novell GroupwiseVMware Zimbra vs. Novell Groupwise
VMware Zimbra vs. Novell Groupwise
 
Orc For Market Making
Orc  For Market MakingOrc  For Market Making
Orc For Market Making
 
Cloud Limitless 2012
Cloud Limitless 2012Cloud Limitless 2012
Cloud Limitless 2012
 
Develop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization StrategyDevelop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization Strategy
 
Microsoft, Citrix and SCOM: EOL or a New Beginning ?
Microsoft, Citrix and SCOM:  EOL or a New Beginning ?Microsoft, Citrix and SCOM:  EOL or a New Beginning ?
Microsoft, Citrix and SCOM: EOL or a New Beginning ?
 
LIVO Presentation by ENO
LIVO Presentation by ENOLIVO Presentation by ENO
LIVO Presentation by ENO
 
L105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902aL105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902a
 
High Tech Manufacturing
High Tech ManufacturingHigh Tech Manufacturing
High Tech Manufacturing
 
Maximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingMaximize Market Share with Micro Merchandising
Maximize Market Share with Micro Merchandising
 
Signal distribution in ds networks
Signal distribution in ds networksSignal distribution in ds networks
Signal distribution in ds networks
 
Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.
Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.
Saratoga CRM: Implementing Thin Client at Johnson Controls Inc.
 
Introduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerIntroduction to WebSphere Message Broker
Introduction to WebSphere Message Broker
 
Mobility For Business The Platform Requirements
Mobility For Business   The Platform RequirementsMobility For Business   The Platform Requirements
Mobility For Business The Platform Requirements
 
Quantlogic Product & Services Offerring
Quantlogic Product & Services OfferringQuantlogic Product & Services Offerring
Quantlogic Product & Services Offerring
 

More from Skills Matter

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard LawrenceSkills Matter
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimSkills Matter
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Skills Matter
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlSkills Matter
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsSkills Matter
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Skills Matter
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Skills Matter
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Skills Matter
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Skills Matter
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingSkills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveSkills Matter
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSkills Matter
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tSkills Matter
 

More from Skills Matter (20)

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberl
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.js
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testing
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
 
Lug presentation
Lug presentationLug presentation
Lug presentation
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
 

Recently uploaded

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Climbing mount complexity, one event at a time

  • 1. CLIMBING MOUNT COMPLEXITY, ONE EVENT AT A TIME David VINCENT – CTO © 2009 smartTrade Inc.
  • 2. Presentation Agenda 1. Liquidity Management Playground 2. Liquidity Management Foundations 3. Implementation challenges 4. QuickFix/J and SmartTrade LMS 5. ESPER and SmartTrade LMS © 2009 smartTrade Inc © 2009 smartTrade Inc.
  • 3. Liquidity Management Play Ground © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 4. Flows in presence © 2009 smartTrade Inc.
  • 5. Various objectives • Best execution • Best services to clients ( market impact, orders management ) • Algo • Market • Venues • Cross-Asset © 2009 smartTrade Inc.
  • 6. Business and Economical Dimension • Business • Pricing / Rules / Decision making • Automated Market-Making ( active / passive orders ) to clients and venues • Creating Dark Pools • Pre-matching, Best Exec (RegNMS, MIFID,...) • Access to Liquidity / Connectivity • High Velocity flows • Economical • Market impact • Execution and clearing fees control • More Value/Less Risk/ More Flows © 2009 smartTrade Inc.
  • 7. Functional Dimension • Supporting various market discovery modes • Streaming • Request For Stream • Supporting various trading modes • Orders • RFQ • Multi Leg patterns • Basis trading • Synthetic products © 2009 smartTrade Inc.
  • 8. Technical Dimension • Moving targets – always • Complex interacting processes • Old legacy systems part of the game • Low latency • Scalability • High Availability – zero error acceptance • Integration – openness, flexibility, interoperability, acceptability by IT teams © 2009 smartTrade Inc.
  • 9. Liquidity Management Foundations © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 10. Foundation of Liquidity Management Liquidity Aggregator Liquidity Crosser Liquidity Orchestrator Liquidity Connect All components can be used individually, or combined, to help solve entire Liquidity Management needs. © 2009 smartTrade Inc.
  • 11. The Internal Market Paradigm • Virtualization of all trading flows at the enterprise level: complete internal market state model • Full lifecycle management of all inbound and outbound instructions and orders • Complex distribution and liquidity management strategies (orders types, price aggregation, smart routing, internal crossing, internalization, multi-leg strategies, price-tiering) • Easy-to-add new products and automated rules • Seamless integration to current & existing infrastructures for a short time-to-market implementation (including transport) • Connectivity: Liquidity Connect © 2009 smartTrade Inc.
  • 12. Generic Liquidity Management System © 2009 smartTrade Inc.
  • 13. Implementation challenges © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 14. Key Technology Factors • Common Data Model • Explicit messages & structures of data shared across the platform are defined in a domain specific XML file data model • Extensive Cross-platform code generation ( Java, .NET, C++ ) • Extensibility – static and dynamic data model fields & structures • Open Messaging • Decouples messaging middleware dependencies from internal architecture • Allows several messaging transports to connect to the same container • Leveraging client’s existing deployments • Dependencies Injection • Offers a easy way to create assemblies of components; allows very flexible configurations • Deployment Supervision • Mix between Agent based approach (non-intrusive) & JMX • Component configuration ; Supervision & Lifecycle Management • Web based application allowing monitoring of: - Hardware state ( CPU, Processes, Disks, Memory ) - Application state ( Threads, Heap ) - Custom Metrics via JMX plug-ins framework © 2009 smartTrade Inc.
  • 15. Development Approach • SCRUM Methodology • Agile approach to software development & program management, enabling fast and iterative deliveries to clients. • A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want and need, so its gives valuable flexibility to these unpredicted challenges. • XP (Extreme Programming) • A disciplined approach to software development. • XP empowers developers to confidently respond to changing customer requirements, even late in the life cycle. • It stresses customer satisfaction. So projects will experience greater success and developer productivity. • High Involvement in Open Source World • Open Source development philosophy internally • Contributor in multiple OpenSource projects • Project lead of QuickFixJ OpenSource Java FIX engine © 2009 smartTrade Inc.
  • 16. QuickFix/J : a pure Java FIX Engine © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 17. What is FIX ? • Financial Information eXchange • Created in 1992. • Free, open technical specification for electronic communication of trade-related messages. • Maintained by FIX Protocol Ltd. • Volunteer team • In wide use (exchanges, banks, …) • Global adoption © 2009 smartTrade Inc.
  • 18. FIX protocol layers • Session Protocol • Message format, header, footer • Logon/Logoff • Heartbeats • Sequence number synchronization • Application Protocol • Message formats and semantics • Order submittal and execution • Quoting • Market data • Other (email, news, …) • Representation • ASCII Tag/Value • FIXML (XML, Tag/Value envelope) • Example Message: • 8=FIX.4.19=6135=A49=INVMGR56=BRKR34=152=20000426- 12:05:0698=0108=3010=157 © 2009 smartTrade Inc.
  • 19. What is a FIX Engine ? • Session protocol implementation • Messages and behavior • Supports application messages • Behavior is application-specific • Eases trading counterparty connectivity • “The nice thing about standards…” • Many variations © 2009 smartTrade Inc.
  • 20. QuickFix/J Open Source Project • Spin off of the QuickFIX C++ project • Native C++ • Java via JNI • QuickFix/J motivators • Interesting domain • Integration/deployment issues w/JNI • Free FIX engine for Java clients • No existing OSS Java FIX engines • Unhappy with existing vendors ( Price, Support ) • Unhappy with “homebrew” engines • History • Discussed on QF lists and wiki • November 2004 : QFJ work started in by Steve BATE • Help from Smart Trade on the port • Mid-July 2005 : 1.0.0 beta released • December 2008 : Smart Trade Technologies takes over the project lead • February 2009 : 1.4 released • http://www.quickfixj.org © 2009 smartTrade Inc.
  • 21. QuickFix/J Elements • FIX metadata (XML) • Parser, Pretty Printing, Validation • Generation of Message-related code • Uses Java, XSLT, and XML metadata • Java message and field definitions (FIX 4.0 – 5.0, Serializable ) • Message Cracker (type safe dispatcher) • Application • Interface implemented by users • Several callbacks (Session creation, Logon/Logoff, Message sent/recvd). • Session • Implements FIX protocol • Data dictionary • Message Factory • Message Store (file, JDBC, BDB) • Session Log (file, JDBC, console) • Settings (file) © 2009 smartTrade Inc.
  • 22. QuickFix/J Elements • Connection management • Socket Initiator (usually buy side) • Socket Acceptor (usually sell side) • Single or multithreaded • NIO using MINA • Alternate implementations possible • Acceptance Testing tools • declarative test definitions derived from FIX spec, • JUnit based • Unit testing tools • fills coverage gaps in acceptance testing • JUnit based • Cruise Control • Continous integration support • Builds product and executes tests • Example applications and code samples © 2009 smartTrade Inc.
  • 23. QuickFix/J Benefits • Covers the full FIX connectivity scope • Supports FIX versions 4.0 - 4.4, 5.0/FIXT1.1 • Scheduling of session connections • Failover and High Availability • Open Source • Free! It costs nothing and has a very liberal open source license. • Full source code available (also at no cost). • Native Java • Runs on any hardware and operating system supported by 1.4+ Java SE or compatible VM. • Supports embedded SSL with Java 5+ • Provides standard JMX MBeans for FIX engine management • Easy to embed in existing Java applications • Highly Customizable • Support for protocol customizations (new messages, fields, constraints). • Session state storage plugins: JDBC, File, SleepyCat/JE, In memory • Logging plugins: JDBC, File, SFL4J (supports JDK1.4 logging, Log4J, Commons Logging), Console, Composite © 2009 smartTrade Inc.
  • 24. QuickFix/J inside the Smart Trade LMS © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 25. Liquidity Connect Architecture • Connecting N world to P world • Enterprise Integration Patterns implementation • Not yet CAML ☺ • Router / Translator / Interceptor Chains • Connector • Abstract the API to connect to a specific world • Manages life cycle of the connection ( ready, down, stale.. ) • Receives and transmits message to an interceptor chain • Interceptor chain • Unidirectional • Pass messages along different components • Connector is always at the start and the end of a chain • One to many relationship : 1 connector -> N connector • Bridge • Assembly of connectors and interceptor chains • Spring based definition © 2009 smartTrade Inc.
  • 26. Liquidity Connect Architecture • A –B Bridge • A – BC Bridge © 2009 smartTrade Inc.
  • 27. STTP Connector • Connecting Smart Trade LMS world to P world • Using the Smart Trade STConnect API • Normalizing data into the Smart Trade canonical model • Translator interceptors © 2009 smartTrade Inc.
  • 28. QuickFIX/J Connector • Connecting Smart Trade LMS world to FIX world • Using QuickFix/J Fix engine and libraries • Normalizing data into the FIX canonical model • Translator interceptors to manage versions • Support Custom fields © 2009 smartTrade Inc.
  • 29. QuickFix/J and ST LMS © 2009 smartTrade Inc.
  • 30. ESPER CEP © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 31. Esper Open Source Project • Mission • CEP a natural and easy task of your application • Open platform to create competitive differentiators and maximize reuse • ...and therefore • Lightweight and embeddable into any Java technology process • Open source • Low latency and high throughput • Project background • 3 years of development, 100% Java • NEsper for .NET/C#, same semantics • Dual licensing Enterprise/OEM/Open Source model • Open source for open source use (GPL license) • Commercial for redistribution by ISVs • Services & support (dev, 8x5, 24x7) • http://esper.codehaus.org © 2009 smartTrade Inc.
  • 32. Esper Products Offering • ESPER • ESP/CEP with expressive Event Processing Language • Continuous queries, aggregation, joins, causality and missing events, joins to historical data, output flow control... • Standalone or Embedded • ESPER HA • Out-of-heap storage, complete resiliency to disk, or local in-memory caching • Clustering and hot backup capabilities for event and streams state • ESPER ENTERPRISE EDITION • Esper Studio: Operational console for runtime management, real- time event stream views and ad-hoc queries • EsperJMX: Runtime management and monitoring over standard JMX connectors • EsperJDBC: JDBC compliant client and server endpoints for interoperability • NESPER • ESPER for C#/.NET © 2009 smartTrade Inc.
  • 33. Esper Key Benefits • ESPER Integrated ESP and CEP and expressive EPL language • Rapid development, test and reuse of existing code • Java libs, other open source fwk, Eclipse IDE etc. • Performant & lightweight • Server-less if needed • Possible use of Real-Time JVMs • Multi-platform (Java / .Net, 32/64 bits, multiple OS support) • Ease of integration in existing platforms or standards • Spring Framework • Enterprise Integration Technologies • Management console, runtime management, standard based (JMX) © 2009 smartTrade Inc.
  • 34. ESPER inside the Smart Trade LMS © 2099 smartTrade Inc © 2009 smartTrade Inc.
  • 35. Why integrating with ESPER CEP ? • CEP are NOT Liquidity Management Systems…… They are complementary • Smart Trade • “Smart Trade’s customers will be able to rely on a domain-specific CEP for their SOR, crossing and aggregation strategies on top of already existing programmable rules that our liquidity management system produces and implements to ensure best execution for their firm and clients. This clearly proves that CEP and liquidity management are complementary technologies.” David VINCENT – co-founder and CTO • Esper Tech • "The EsperTech and SmartTrade agreement combines and extends our open-source roots to maximize fit for purpose and confidence while minimizing costs for Reg NMS and MiFID best-execution deployments. This once again confirms how our enterprise-ready and open-source CEP makes sense in today’s world across all industries.” Thomas BERNHARDT, founder and CEO • OEM Agreement between Smart Trade Technologies and Esper Tech signed in February 2009 © 2009 smartTrade Inc.
  • 36. ESPER Plugin • Domain specific integration • Creation of complex stream on the fly • Manipulating a Domain Specific model • Wrapping the ESPER 3.2 runtime into STContainers • Rely on EPServiceProvider, EPStatement and the other friends • Using Spring • Extending the ESPER engine with specific behaviour ( ex : sorting ) • Wrapping the Smart Trade canonical model with Event • Ex : MarketDataSnapshot => MarketDataSnapshotEvent • Ex : NewOrderSingle => NewOrderSingleEvent • Using model extensibility to add EPL return statement fields © 2009 smartTrade Inc.
  • 37. Liquidity Aggregator’s ESPER Plugin • Integration with the STConnect API • Allows to interact remotely with the ESPER Engine • Creating and consuming EPL queries from external process • Chosing feed sources • “Plumbing” Liquidity sources events to the ESPER engine • Source of data • Distribution End point © 2009 smartTrade Inc.
  • 38. Examples of ST / EPL use • Average Bid in the last 30 seconds window select avg(price.value) as PriceAverage from MarketDataSnapshotEvent(MDReqID.value=‘XXXX')[bidEntries].win:time(30 sec) • Instant BestBid / BestOffer spread select bestAggregatedOffer.price.value-bestAggregatedBid.price.value as Spread from MarketDataSnapshotEvent(MDReqID.value=‘XXXX') • Average BestBid / BestOffer spread in the last 30 seconds window select avg(bestAggregatedOffer.price.value-bestAggregatedBid.price.value) as Spread from MarketDataSnapshotEvent(MDReqID.value=‘XXXX').win:time(30 sec) • VWAP select average as VWAP from MarketDataSnapshotEvent(MDReqID.value=‘XXXX')[bidEntries].win:stat:weighted_avg(price.value, quantity.value) © 2009 smartTrade Inc.
  • 39. Liquidity Orchestrator’s ESPER Plugin • Generating complex events to be managed by the rules • From aggregated or raw market data • From order life cycle events ( Fills, Cancelation, unsollicitated messages ) • From external functional events ( Risk exposure,..) to technical events ( Latency, ..) • Separating the events monitoring logic from the actions • A clean Action / Reaction model • A way to layer the rules coding © 2009 smartTrade Inc.
  • 40. ESPER and ST LMS © 2009 smartTrade Inc.
  • 42. Please contact Europe United Kingdom Tel : + 33 1 44 50 19 19 Tel.: +44 (0)20 3326 0522 Fax: + 33 4 42 97 62 52 Fax: +44 (0)20 7491 7976 hgozlan@smart-trade.net njames@smart-trade.net North America Tel.: +1 212 618 6383 Fax: +1 212 618 6309 mbailey@smart-trade.net www.smart-trade.net