Tech Days 2015: Customer Presentation Deep Blue Capital

Post on 21-Jan-2017

228 views 0 download

Transcript of Tech Days 2015: Customer Presentation Deep Blue Capital

Automated trading with AdaDuncan Sands

1. The company

DeepBlueCapital

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

2. Statistics; orders of magnitude

Orders of magnitude

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

Orders of magnitude

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

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

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

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

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

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

Latency

Tradingprogram

Network packet in

Market data or order update

Latency

Tradingprogram

Network packet in

Network packet out

Market data or order update

Order update

Latency

Tradingprogram

Network packet in

Network packet out

Market data or order update

Order update

Actual: < 1ms (95%)

Latency

Tradingprogram

Network packet in

Network packet out

Market data or order update

Order update

Actual: < 1ms (95%)

< 60us

Latency

Tradingprogram

Network packet sent

Network packet received

Market data or order update

Order update

Stockexchange

Latency

Tradingprogram

Network packet sent

Network packet received

Market data or order update

Order update

Stockexchange

HFT: < 50us

Us: < 60us

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 );

...

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

3. Advantages and disadvantages of Ada

Ada – the good

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

Ada – the bad

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

Ada – the ugly