Tech Days 2015: Customer Presentation Deep Blue Capital

25
Automated trading with A Duncan Sands

Transcript of Tech Days 2015: Customer Presentation Deep Blue Capital

Page 1: Tech Days 2015: Customer Presentation Deep Blue Capital

Automated trading with AdaDuncan Sands

Page 2: Tech Days 2015: Customer Presentation Deep Blue Capital

1. The company

Page 3: Tech Days 2015: Customer Presentation Deep Blue Capital

DeepBlueCapital

Based in Amsterdam25 employeesNo clientsActive on ~30 stock exchanges~100,000,000 Euros traded / day~2,500,000 SLOC, 95% Ada

Page 4: Tech Days 2015: Customer Presentation Deep Blue Capital
Page 5: Tech Days 2015: Customer Presentation Deep Blue Capital
Page 6: Tech Days 2015: Customer Presentation Deep Blue Capital

2. Statistics; orders of magnitude

Page 7: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak

Page 8: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak ~500 avg, ~10,000 peak

Page 9: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak ~500 avg, ~10,000 peak

Eurostoxx 50 index future updates / sec: ~100 avg, ~3000 peak

Page 10: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak ~500 avg, ~10,000 peak

Order updates / day ~700,000 ~100,000

Page 11: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak ~500 avg, ~10,000 peak

Order updates / day ~700,000 ~100,000

Trades / day ~3000 ~600

Page 12: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak ~500 avg, ~10,000 peak

Order updates / day ~700,000 ~100,000

Trades / day ~3000 ~600

# instruments traded ~3000 ~500

Page 13: Tech Days 2015: Customer Presentation Deep Blue Capital

Orders of magnitude

Entire company One programMarket data updates / sec ~2000 avg, ~40,000 peak ~500 avg, ~10,000 peak

Order updates / day ~700,000 ~100,000

Trades / day ~3000 ~600

# instruments traded ~3000 ~500

Value traded / day ~ EUR 100,000,000 ~ EUR 20,000,000

Page 14: Tech Days 2015: Customer Presentation Deep Blue Capital

Latency

Tradingprogram

Network packet in

Market data or order update

Page 15: Tech Days 2015: Customer Presentation Deep Blue Capital

Latency

Tradingprogram

Network packet in

Network packet out

Market data or order update

Order update

Page 16: Tech Days 2015: Customer Presentation Deep Blue Capital

Latency

Tradingprogram

Network packet in

Network packet out

Market data or order update

Order update

Actual: < 1ms (95%)

Page 17: Tech Days 2015: Customer Presentation Deep Blue Capital

Latency

Tradingprogram

Network packet in

Network packet out

Market data or order update

Order update

Actual: < 1ms (95%)

< 60us

Page 18: Tech Days 2015: Customer Presentation Deep Blue Capital

Latency

Tradingprogram

Network packet sent

Network packet received

Market data or order update

Order update

Stockexchange

Page 19: Tech Days 2015: Customer Presentation Deep Blue Capital

Latency

Tradingprogram

Network packet sent

Network packet received

Market data or order update

Order update

Stockexchange

HFT: < 50us

Us: < 60us

Page 20: Tech Days 2015: Customer Presentation Deep Blue Capital

Atomic objectsgeneric type Object_Type (<>) is private;package Atomic_Objects is

type Atomic_Type is limited private;

function Load (Atomic : Atomic_Type) return Object_Type;

procedure Store ( Atomic : in out Atomic_Type; Value : in Object_Type );

...

Page 21: Tech Days 2015: Customer Presentation Deep Blue Capital

Atomic objectsgeneric type Object_Type (<>) is private;package Atomic_Objects is

type Atomic_Type is limited private;

function Load (Atomic : Atomic_Type) return Object_Type;

procedure Store ( Atomic : in out Atomic_Type; Value : in Object_Type );

...

Any size

Atomic load

Atomic store

Implementation Load time Store timeProtected object ~65ns ~65ns“DBC special” ~1ns ~150ns

Page 22: Tech Days 2015: Customer Presentation Deep Blue Capital

3. Advantages and disadvantages of Ada

Page 23: Tech Days 2015: Customer Presentation Deep Blue Capital

Ada – the good

SafeEfficientBuilt-in taskingEasy to learnEncourages good practiceMany problems found at compile timeEasy to interface with other languagesPleases the regulator

Page 24: Tech Days 2015: Customer Presentation Deep Blue Capital

Ada – the bad

Inadequate memory modelLow level of abstractionHard to hire people with experienceSmall ecosystem

Page 25: Tech Days 2015: Customer Presentation Deep Blue Capital

Ada – the ugly