Title: Manipulation de donn
1 Manipulation de données financières sous MATLAB
Exane BNP ParibasTrading Arbitrage
Researchnov 2005
Charles-Albert Lehalle, Nicolas
Bertrand charles-albert.lehallenicolas.bertrand
_at_exane.com
2Manipulation de données financières avec MATLAB
- Prise en compte de la spécificité des données
financières - Prise en compte de la spécificité des traitements
financiers - Importance de la documentation
- Exemples didactiques de manipulations de données
financières - Screening
- Simulation de données réalistes
- Bilan
- Un socle unique pour de nombreuses applications
- Atouts traditionnels de MATLAB
3ObjectifUne approche métier au service du
développement doutils internes
Opérationnel
Résultats
Données
Déploiement
Validation
Prototypage
4Quels types de données ?
Evénementiels
Implicitement rythmés
Explicitement rythmés
quotidiens
Entre chocs
5Types de données, types danalyses, sources de
données
Ensemblede cours
cours
informationsmixtes
Marketimpact, etc
- Bloomberg,Reuters,DataStream, FacSet, etc
Euronext database
trades
stocks
6Eléments d'implémentation le signal financier
- Un type MATLAB polymorphe struct
- Un signal
- Un titre
- Une série de date
- Une série de données (volume, open, close, high,
low) au même pas d'échantillonnage - Les noms de ces variables
- des informations optionnelles
- En MATLAB
- gtgt data struct( 'title', 'le titre', 'date',
vecteur-colonne, ...)value 20732x8
doubledate 20732x1 doublenames 1x8
celltitle BN FP Equity'
7Quels types de traitements ?
- Au fil de leau (filtrage) pour produire
- Pricing (titre / portefeuille)
- Des alarmes (risque / gain associé à une
configuration, ) - Des caractéristiques (formes, configurations, )
- Par batchs pour produire
- Calcul dallocations
- Reporting (PnL, VaR)
- Des estimateurs du comportement du marché
(corrélations, modèles, ) - Des anticipations court terme (probabilités de
retournement, )
8Prototype unique pour tout les traitements
- Entrées / sorties listes de signaux
- Mode de sollicitation (initialisation, détection,
estimation, bootstrap, etc) - Etat
- Il s'agit d'une fonction MATLAB dont le prototype
est de la forme - Function outputs, state analyse( mode, state,
inputs, ...)
solicitation
sorties
entrées
état
9Vers une architecture optimale des traitements
- Chaînage
- Séparation claire des analyses
- Travail collaboratif / maintenabilité
- Backtesting naturel
affichage
Conjonction prix - volumes
Travail sur les prix
écriture
lecture
Decoupagequotidien des volumes
Travail surles volumes
10Documenter pour échanger
- documentation utilisateur m2html
documentation technique OCAMAWEB
11Exemples didactiques
- Exemples de manipulations de données financières
- Screening
- Simulation de données réalistes
12Screening
- Objectifs
- Screener automatiquement des données financières
et des indicateurs de marché - Sous forme de charts paramétrables et de
documents de synthèse - Moyens
- Accès aux données
- Calcul des indicateurs (bandes de Bollinger,
moyennes mobiles, performances, etc.) - Construction des charts
13Screening principe
Extraction des données financières
Calcul des indicateurs
Paramétrage,tracé des charts
14Screening rendu
- Document de synthèse (pdf)
15Simulation de données réalistes
- Objectifs
- A partir dhistoriques de données (courbes,
certaines quotidiennes, dautres mensuelles) - Simuler des années réalistes concordant avec
les caractéristiques statistiques des courbes
réelles - Conserver les corrélations (et autre moments)
entre les courbes - Moyen
- Modélisation de la structure des données avec des
copules (non paramétriques) - Simulation par Monte Carlo
16Simulation de données réalistes principe
Simulation de données indépendantes
Inversion des copules
Espace de représentation(dans lequel les données
sont indépendantes)copules non paramétriques
Application des corrélations
Prétraitements (stationnarisation)
Modèle de corrélations
17Déploiement compilation EXCEL COM
- Déploiement sur les postes utilisateurs via Excel
COM/Builder - Entrées les données par DataStream
- Sorties 1000 simulations dannées plausibles
- Exploitation Distribution de lexposition au
risque (VaR)
18MATLAB un socle unique pour de multiples
applications
1/3
- Asset Liability Management Families
- Real Estate (geographical statistics) Statistics
- Fixed Income (sensibility, , yield
curves) Statistics - Equity (volatility, correlations, Markovitz,
) Statistics, Optimization - Credit (structural models Merton-, copula,
) Finance, Statistics - Diversified Portfolio (Markovitz, Black
Litterman, ) Optimization, Control - Risk Management
- Value at Risk (correlations, copula) Statistics
- Stress testing (extreme values, ) Base,
Statistics - Insurance
- Population dynamics Statistics, Base
- Fixed Income Currency Derivatives
- Yield curves (Vasicek, ) Statistics
- Swaps Finance
- Fixed income options Finance
19MATLAB un socle unique pour de multiples
applications
2/3
- Equity Derivatives Families
- Closed form models (BS, ) Finance
- Simulations (multinomial trees, monte carlo,
finite differences) Optimization, Stats - Sensibilities (greeks) Finance, Optimization
- Credit Derivatives
- Structural models Finance, Optimization
- Reduced form models (empirical probabilities of
default, ) Optimization, Statistics - Copula Statistics
- Trading Arbitrage
- Technical analysis Finance, Statistics, Signal
Processing - Arbitrage Statistics, Base, Optimization
- Trading Statistics, Control, Signal Processing,
Optimization
20MATLAB un socle unique pour de multiples
applications
3/3
- Math and Optimization
- Optimization Toolbox, Symbolic Math (Extended
Symbolic Math), Partial Differential Equation,
Genetic Algorithm and Direct Search Toolbox - Statistics and Data Analysis
- Statistics, Neural Network, Curve Fitting,
Spline, Model-Based Calibration - Control System Design and Analysis
- Control System, System Identification, Fuzzy
Logic, Robust Control Model, Predictive Control - Signal Processing and Communications
- Signal Processing, Communications, Filter
Design, Filter Design HDL Coder, Wavelet,
Fixed-Point, RF - Financial Modeling and Analysis
- Financial, Financial Derivatives, GARCH,
Financial Time Series, Datafeed, Fixed-Income
21Bilan
- Pré requis un format de stockage de données et
un format de manipulation de données, - Les atouts de MATLAB
- Un socle unique pour de nombreuses applications
(réduction des coûts) - Maîtriser lenchaînement de plusieurs
méthodologies (approche grey box , contrôle du
risque de modèle) - Prototypage rapide (script, graphiques,
toolboxes) - Accès aux données (en évolution)
- Peuvent être mis efficacement à disposition de la
finance quantitative - Calculs en lignes calculs en batch sur de gros
volumes de données - Mise en place rapide dapplications pour
validation / backtesting - Interactions avec les providers de données
financières (actx / dde) et les legacy systems
22Références
- Documentation technique de programmesLiterate
programming / OCAMAWEB http//www.literateprogramm
ing.com/ftools.html - Séquencement de calculsJérôme Lacaille, Projet
dhabilitation à diriger des recherches Chap 5
http//www.cmla.ens-cachan.fr/Utilisateurs/lacaill
e/hdr/hdr.pdfJ.P. Morrison, Flow-Based
Programming A New Approach to Application
Developmenthttp//www.jpaulmorrison.com/fbp/
23Manipulation de données financières avec MATLAB