21
José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math- industrie

José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

Embed Size (px)

Citation preview

Page 1: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

José Luu, Head of scientific computing

Le calcul parallèle dans le domaine bancaire

22/03/2011

13e rencontre SMAI math-industrie

Page 2: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20112

Table of contents

1. Le domaine d’application: Enjeux / problématique

2. Une réalisation industrielle

3. Les directions d’amélioration

Page 3: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20113

1Le domaine d’application: Enjeux / problématique

Page 4: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20114

Qu’est-ce qu’un produit dérivé ?

L’option• le client de l’option achète le droit de décider plus tard.

Exemple : option d’achat (=CALL) d’un million de tonnes de fer à 2 ans

• Le client paie l’option (il paie une prime)• Le client a 2 ans pour décider

– Abandon de l’option– Achat du fer au prix convenu initialement (quelque soit le prix à

l’instant de la décision)

Exemple : l’option cachée dans les titres de transport

Utilisations• Sécurisation du futur (industriels, placements garantis)• Pari sur le futur (fonds a stratégie – hedge funds)

Page 5: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20115

Comment calculer le prix du produit dérivé ?

Références://demonstrations.wolfram.com/ExploringTheBlackScholesFormula/Inventing Money, Nicholas Dunbar, John Wiley and Sons The Greatest Trade Ever Gregory Zuckerman

Page 6: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20116

Comment gérer le produit dérivé ?

La Gestion

Couverture delta:Toujours posséder une quantité d’actifs proportionnelle à la dérivée.

On démontre que:La prime est dépensée pour la couvertureLes risques sont éliminésLes actifs sont livrés au client au prix convenu.

Page 7: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20117

La méthode de Monte-Carlo

Réalise l’intégrale

Peu sensible à la dimension du problème• Multi sous-jacents

Très robuste pour le pricing• Moins pour les dérivées

Nécessite beaucoup de calculs• Volatilité locale

Page 8: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20118

Actifs multiples et Volatilité locale

La volatilité locale

• Schéma d’Euler explicite

T

ttT dWStS0

,

• Certains instruments nécessitent 1010 dW

Page 9: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/20119

2Une réalisation industrielle

Page 10: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201110

Un savoir faire du service Equity Derivatives

Premier calculateur MC parallèle en 1998

Puissance totale agrégée• 1015 dW par jour

Disponibilité• 8 heures d’interruption sur 2 ans soit 99,95%

Taux d’utilisation des machines• 90% des machines 12H par jour

Programmation• Infrastructure Linux

– Peu couteuse– Open-Source: Maitrise complète

• Algorithmique de pricing– Programmes développés en mode local (non parallèle)– Même programmes en parallèle et même résultats (10-15)

• Nouveaux deals (payoff a développer)– Mise en production en 48 heures (routine)

Page 11: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201111

Caractéristiques

Capacité de recalcul complet en 10 minutes• Nécessaire en cas de gros décalage du marché

Augmentation de la puissance par ajout de machines• Instruments financiers de grande dimension• Augmentation du nombre de deals traités• Exemple: ajout de 1000 cores=5 chassis

Page 12: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201112

Pilotage, équilibrage de charge dynamique

Système de calculSupervision

Client

Cache

Kernel Kernel Kernel Kernel Kernel

RM

1: client demande un Cache

2: Le client envoie le pricing au cache attend le résultat retourné par le cache.

3: Le cache demande N kernels

4:Le cache envoie le pricingaux N kernels

RG

Base de données

ServeurWeb

+Pages PHP

5:Chaque kernel renvoie ses résultats au cache

Résultat agrégé

Page 13: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201113

Partitionnement

Utilisations• Batch de nuit• Calculs interactifs• Recette

Clients sur différents continents

Règles de débordement• Débordement vers les partitions non chargées• Isolation lorsque 2 partitions sont en charge

Page 14: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201114

Tolérance aux pannes, fiabilité

Effort• 50% du code technique de parallèlisation

Composants critiques triplés

Pas de persistance d’état dans les composants critiques

Pas d’interruption de service• Perte de machine• Perte de data center• Montée de version programme ou OS• Sans reconfiguration

Page 15: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201115

Développement des programmes

Développement/Debug en mode local

Production en parallèle• Mêmes résultats (10-15)• Même séquence aléatoire• Même programme• Même structures de données

Sérialiseur binaire maison• Déclaratif• Capable de transporter des

graphes avec cycles et héritage multiple

A

x

e3e1 e2 e4

B

C

D

Page 16: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201116

Enseignements

Architecture• Code unique• Tolérance aux pannes

Les détails qui comptent autant que l’architecture• Observabilité (mise en place de sondes au cœur du

système)– Connaissance complète du système

– Analyse des (dis-)fonctionnement

– Remèdes sur les causes premières

• Stratégies de régulation de charge – Tuning pour une plage de fonctionnement étendue

– Peu de dépendance sur des timeouts pour le fonctionnement normal ou exceptionnel

Page 17: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201117

3Les directions d’amélioration

Page 18: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201118

Ce que les évolutions doivent préserver

Robustesse de la méthode de Monte-Carlo• pas de recalibration instrument par instrument

Découpage des tirages de Monte-Carlo pour pouvoir traiter de grandes dimensions

Facilité d’ajout de puissance par augmentation du nombre de machines

Programmation/debug/optimisation avec outils évolués (par ex: MS Edit and Continue)

Code identique en local et en parallèle

Page 19: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201119

Améliorations technologiques

Multiphase• =MPI faiblement couplé

Instructions vectorielles sur processeurs standard• Altivec, SSE2, AVX …

3 tests GPU dans 2 services•EDP 2D ADI

– Fin 2008, sur premières cartes avec double précision– Gain d’un facteur 2 (par rapport à 1 core standard)

•Monte-Carlo Volatilité locale 2 sous-jacents– Gain d’un facteur 80 (par rapport à 1 core standard)

•EDP 3D ADI– Fin 2010– Gain d’un facteur 2 à 3 (par rapport à 1 core standard)

Page 20: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201120

GPU suite

Attention à:• Programmation spéciale• Mémoire limitée• Transferts mémoire explicites et couteux• Exceptions IEEE• Double precision (puissance limitée ou non disponible)• Observabilité, outils d’optimisation

Références• Fast Tridiagonal Solvers on the GPU• http://code.google.com/p/cudpp/• http://www.arbitragis-research.com/cuda-in-computational-

finance/monteCarlo.pdf

Page 21: José Luu, Head of scientific computing Le calcul parallèle dans le domaine bancaire 22/03/2011 13e rencontre SMAI math-industrie

22/03/201121

Améliorations mathématiquesModèles• Corrélation locale• Local LSV• Dividendes non linéaires

Convergence• SPM (stabilité des dérivées A. Reghai)• Quasi MC, complété par Pseudo• L'échantillonnage préférentiel• Variable de contrôle

Autres algorithmes• EDP• American MC

– LSM (frontière d’exercice)– Quantification