The default case in Haskell
110 likes | 219 Vues
Explore lessons learned from using Haskell in counterparty risk calculations at ABN AMRO bank, including project overview, Exion simulation tool, strengths, weaknesses, and performance insights.
The default case in Haskell
E N D
Presentation Transcript
The default case in Haskell Counterparty Risk Calculations at ABN AMRO bank Cyril Schmidt Anne-Elisabeth Tran Qui ABN AMRO
Overview • Project Overview • Haskell’s Strong Points • Haskell’s Weak Points • Lessons Learned
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
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
Stock price 50 40 30 20 10 0 08-02-04 08-02-18 08-06-23 08-01-07 08-01-21 08-03-03 08-03-17 08-03-31 08-04-14 08-04-28 08-05-12 08-05-26 08-06-09 08-07-07 08-07-21 08-08-04 08-08-18 08-09-01 08-09-15 08-09-29 07-10-01 07-12-24 07-10-15 07-10-29 07-11-12 07-11-26 07-12-10 Option price 20 15 10 5 0 08-02-04 08-02-18 08-01-07 08-01-21 08-03-03 08-03-17 08-03-31 08-04-14 08-04-28 08-05-12 08-05-26 08-06-09 08-06-23 08-07-07 08-07-21 07-12-24 08-09-29 07-10-01 07-10-15 07-10-29 07-11-12 07-11-26 07-12-10 08-08-04 08-08-18 08-09-01 08-09-15 Project Overview: Monte Carlo
Core Plugin 1 Plugin 2 Plugin 3 Plugin 4 Project Overview: Exion Structure
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
Haskell’s Strong Points • Similarity to mathematical notation • Expressive power • Robustness • Development speed
Haskell’s Weak Points • Performance • Documentation and resources • Profiling and Debugging • Tools
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
Questions ? • Anne-Elisabeth Tran Qui • anne-elisabeth.tran.qui@nl.abnamro.com • Cyril Schmidt • cyril.schmidt@nl.abnamro.com