1 / 23

Charles-Albert Lehalle, Nicolas Bertrand {charles-albert.lehalle|nicolas.bertrand}@exane

Manipulation de données financières sous MATLAB Exane BNP Paribas Trading & Arbitrage Research nov 2005. Charles-Albert Lehalle, Nicolas Bertrand {charles-albert.lehalle|nicolas.bertrand}@exane.com. Manipulation de données financières avec MATLAB.

Download Presentation

Charles-Albert Lehalle, Nicolas Bertrand {charles-albert.lehalle|nicolas.bertrand}@exane

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Manipulation de données financières sous MATLABExane BNP ParibasTrading & Arbitrage Researchnov 2005 Charles-Albert Lehalle, Nicolas Bertrand {charles-albert.lehalle|nicolas.bertrand}@exane.com

  2. Manipulation 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

  3. Objectif:Une approche métier au service du développement d’outils internes Opérationnel Résultats Données Déploiement Validation Prototypage

  4. Quels types de données ? Evénementiels • Temporels et multivariés Implicitement rythmés Explicitement rythmés quotidiens Entre chocs

  5. Analyse technique Pricing,volatilité, etc Diversification de portefeuille Portefeuille events Scanning systématique Covariances, bêta Types de données, types d’analyses, sources de données • Bloomberg,Reuters,DataStream, FacSet, etc… Ensemblede cours cours informationsmixtes Marketimpact, etc Euronext database trades stocks

  6. Elé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: • >> data = struct( 'title', 'le titre', 'date', vecteur-colonne, ...)value: [20732x8 double]date: [20732x1 double]names: {1x8 cell}title: ‘BN FP Equity'

  7. Quels types de traitements ? • Au fil de l’eau (filtrage) pour produire • Pricing (titre / portefeuille) • Des alarmes (risque / gain associé à une configuration, …) • Des caractéristiques (formes, configurations, …) • Par « batchs » pour produire • Calcul d’allocations • Reporting (PnL, VaR) • Des estimateurs du comportement du marché (corrélations, modèles, …) • Des anticipations court terme (probabilités de retournement, …)

  8. Prototype 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

  9. Vers 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

  10. Documenter pour échanger • documentation utilisateur m2html documentation technique OCAMAWEB

  11. Exemples didactiques • Exemples de manipulations de données financières • Screening • Simulation de données réalistes

  12. Screening 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

  13. Screening: principe Extraction des données financières Calcul des indicateurs Paramétrage,tracé des charts

  14. Screening: rendu • Chart seul • Document de synthèse (pdf)

  15. Simulation de données réalistes • Objectifs : • A partir d’historiques de données (courbes, certaines quotidiennes, d’autres 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

  16. Simulation 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

  17. Déploiement : compilation EXCEL COM • Déploiement sur les postes utilisateurs via Excel COM/Builder • Entrées : les données par DataStream • Sorties : 1000 simulations d’années plausibles • Exploitation: Distribution de l’exposition au risque (VaR) u v w v u w

  18. MATLAB: 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

  19. MATLAB: un socle unique pour de multiples applications 2/3 • Equity Derivatives Families • Closed form models (B&S, …) 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

  20. MATLAB: 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

  21. Bilan • 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 l’enchaî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 d’applications pour validation / backtesting • Interactions avec les providers de données financières (actx / dde) et les legacy systems

  22. Références • Documentation technique de programmesLiterate programming / OCAMAWEB http://www.literateprogramming.com/ftools.html • Séquencement de calculsJérôme Lacaille, Projet d’habilitation à diriger des recherchesChap 5; http://www.cmla.ens-cachan.fr/Utilisateurs/lacaille/hdr/hdr.pdfJ.P. Morrison, Flow-Based Programming: A New Approach to Application Developmenthttp://www.jpaulmorrison.com/fbp/

  23. Manipulation de données financières avec MATLAB

More Related