April 2012
EXANTEBroker for Algorithmic Trading
Andrey Okhlopkov, COOSergey Troshin, PhD, Tech Lead
Contents
2
1. Early Beginningalgorithmic trading on buy side
2. The Idea of Becoming a Brokerallow everyone to write, test and execute algorithms on
server side
3. First StepsBackOffice. Financial instruments reference book. Market
history.
4. Future and Plans
Algorithmic Trading Platform
• Fast market data and order execution to exchanges throughout the world
• Framework for algorithms written using Scala language
• UI for viewing current algorithm status
• Algorithms were programmed by developers
3
Algorithmic Trading Platform
4
The Idea: Broker for algo traders
We want to provide our clients with service that we needed while being algotraders:
• Create algorithms using specially designed simple language in convenient IDE
• Perform algorithm backtesting using historical market data
• Execute algorithms on our servers throughout the world
5
The Idea: Broker for algo traders
• Provide our solution for the clients• We need some additional
components• These components should not
decrease latency, stability and throughput of current system
6
The Idea: Broker for algo traders
7
Erlang OTPFunctional programming language and runtime system
Concurrent processes with async. messages (actor model)Single assignment, dynamic typing
Pros• Designed for distributed systems development• No serialization needed (Erlang terms)• Transparent world-wide nodes (messages and RPC)• Easy monitoring and real-time tracing• Out-Of-The-Box Templates• Other languages integration (C/C++, Java, etc)Cons• Calculations are slow• New development team needed (Risks)
8
Erlang Benchmarks
• Process spawn time 1.5 µs• Local node message loop delay
• Remote node message loop delay
• Remote node message throughput
9
Msg. Size (Integer items)
10 100 1 000 10 000
Time (µs) 1.5 3.1 20 200
Msg. Size (Integer items)
10 100 1000 10 000
Time (µs) 150 150 200 500
Msg. Size (Integer items)
10 100 1000 10 000
Msg./sec 220K 190 35K 10K
Erlang Benchmarks
• RPC loop delay
• Port loop delay
10
Msg. Size (Integer items)
1 10 100 1000
Time (µs) 180 200 200 320
Msg. Size (Integer items)
1 10 100 1000
Time (µs) 10 20 25 150
Symbols Reference Book
11
• 100K+ symbols each has 100+ parameters
• Data modifications (updates)
• All over the world availability
Market Data Storage
12
Back Office
13
• Trades Processing
• Risk control• User Accounts
Management
Today
14
Nowadays EXANTE is a full-fledged broker with it’s own platform:
• Variants of instruments (100K+)• Integration sability (Feed and/or Execution)• Multi-platform client (Win, MacOS, Linux)
Today
15
Today
16
API for algorithmic traders:• FIX market data and execution
gateways available if different regions
• Client can choose which gateway to connect or even connect tom multiple gateways simultaneously
Future and Plans
17
We are working on allowing clients to:• Create algorithms using specially
designed simple language• Perform algorithm backtesting using
historical market data• Execute algorithms on our servers
throughout the world
18
Questions?
Andrey Okhlopkov, COO ([email protected])
Sergey Troshin, PhD, Tech Lead ([email protected])