Practical Aspects of
Algorithmic Trading.
Bitcoin hedge fund.
Gatis Eglitis, Managing Partner
Sergey Troshin, Ph.D., Head of IT Strategy and Operations
Part 2: Algo trading
2
Algorithmic trading Modeling the strategy
Implementing the model
Result analysis
Production
Choosing a broker Prices
Technologies
Stability
What is next?
Contents
Automatic trading
Buy-side Sell-side
Statistical
arbitrage VWAPMarket Making / HFT
Trend
following
Arbitrage
Smart order
routing
Algo trading strategies
Arbitrage
GAZPRU
(MICEX)
On new tick:
ogzd_rub = convert(ogzd, usd_rub)spread = normalize(ogzd_rub/gazpru)
changedSpread()
OGZD
(LSE)
USD/RUB
(FOREX)
LIMIT (LSE)
London Server
Filled (size)
MARKET (MICEX)
Filled (price)
On change spread:if (spread > threshold) place_limit(OGZD, price, size)
On limit fill:If (limit_is_filled) place_market(GAZPRU, size)
Arbitrage strategy
Parameters: threshold
Historical Data
Completeness
Symbols
Exchanges
News
Depth
Past
Precision
Order Book
Quality
Splits etc.
Gaps
Timestamps
Approval. Pre-trade Analysis
Input
• Historical data
• Market influence modeling
• Configuration parameters
Backtesting
• Prototype (R / Python / Java / C++ / Mathlab/ Erlang / …)
• GPU
• Cluster / Cloud / …
Result
•Possible income
•Risks
•Real Expenses
Backtest Results
Param 1 Param 2 … Income Expenses
X1 Y1 … 10% 4%
X1 Y2 … 15% 11%
… … … … …
Xn Yn … 5% 2%
Execution with:
o same input data
odifferent set of parameters values
Broker Connection
Broker
Client Computer
Trading terminal
Algorithm
Control
Trading
Internal
Protocol
Broker Connection
Broker
Client ComputerWidely used protocols:
FIX, Plaza2, Technology
providers, Custom
TraderAlgorithm
General
Exchanges/Markets coverage
Trading volumes
Regulation issues
Legal issues
Commissions and fees
Technology
Market data
Delays
Market Depth Best Bid Offer
Trades
Execution
Delays
Client side / Server side
Pre-trade risks, Software
Connection
Protocol
Virtual Machines
Co-location
Control
Trades Export
Interface
Error handling
Top Related