The default case in Haskell Counterparty Risk Calculations at ABN AMRO bank Cyril Schmidt Anne-Elisabeth Tran Qui ABN AMRO.

Download Report

Transcript The default case in Haskell Counterparty Risk Calculations at ABN AMRO bank Cyril Schmidt Anne-Elisabeth Tran Qui ABN AMRO.

The default case in Haskell
Counterparty Risk Calculations at ABN AMRO bank
Cyril Schmidt
Anne-Elisabeth Tran Qui
ABN AMRO
Overview
1. Project Overview
2. Haskell’s Strong Points
3. Haskell’s Weak Points
4. Lessons Learned
2
Project Overview: What is Counterparty Risk ?
A financial contract can be valued
If the counterparty defaults (goes bankrupt), the contract terminates
To quantify the counterparty risk, we have to know what the contract is
worth under future market conditions
3
Project Overview: Exion
Exion is a Monte Carlo simulation tool
Simulates future market scenarios
For each scenario, calculates the value of the contract
Calculates the counterparty risk
4
0
08-06-23
08-07-07
08-07-21
08-08-04
08-08-18
08-09-01
08-09-15
08-09-29
08-06-23
08-07-07
08-07-21
08-08-04
08-08-18
08-09-01
08-09-15
08-09-29
08-04-28
08-04-14
08-03-31
08-03-17
08-03-03
08-02-18
08-02-04
08-01-21
08-01-07
07-12-24
07-12-10
07-11-26
07-11-12
07-10-29
07-10-15
08-06-09
5
08-06-09
10
08-05-26
15
08-05-26
20
08-05-12
Option price
08-05-12
08-04-28
08-04-14
08-03-31
08-03-17
08-03-03
08-02-18
08-02-04
08-01-21
08-01-07
07-12-24
07-12-10
07-11-26
07-11-12
07-10-29
07-10-15
07-10-01
0
07-10-01
Project Overview: Monte Carlo
Stock price
50
40
30
20
10
5
Project Overview: Exion Structure
Plugin 1
Plugin 2
Core
Plugin 3
Plugin 4
6
Project Overview: Exion Plugins
Many different financial contracts
New contracts are often introduced
Plugins are developed by quantitative analysts
A language to write plugins
Haskell is a natural choice
7
Haskell’s Strong Points
Similarity to mathematical notation
Expressive power
Robustness
Development speed
8
Haskell’s Weak Points
Performance
Documentation and resources
Profiling and Debugging
Tools
9
Lessons Learned
Haskell improves development productivity
Haskell requires less regression testing than C++
Performance needs to be tracked
Bottlenecks can be rewritten in C++
Rapid progress of development environment
10
Questions ?
Anne-Elisabeth Tran Qui
[email protected]
Cyril Schmidt
[email protected]
11