Econométrie des Marchés Financiers
avec R


Daniel Herlemont




pdf version
Table des matières


1 Objectifs et motivations

Cette page regroupe un ensemble de présentations, travaux pratiques et projets issus de diverses expériences d'enseignement et de pratique autour de l'économétrie des marchés financiers et l'environnement R-project.

Plusieurs projets et études de cas sont proposés: Nous utiliserons l'environnement de développement et d'analyse statistique R http://www.r-project.org, la version open source de S. R comprend un grand nombre de modules d'analyses de grande qualité, développés par les meilleurs spécialistes du domaine. Tous les programmes sont disponibles sous la forme de code source. R est aussi un environnement de programmation simple et puissant. L'apprentissage de R pourrait constituer en soi un objectif important du projet. L'utilisation de R permettra de concrétiser les notions de modélisation, l'impact des faits stylisés (queues épaisses, asymétries, .. ) sur la gestion du risque et la recherche de stratégies optimales, par exemple.

2 Démarche et contenu

Tous les projets mettent en oeuvre des thèmes communs, tels que Les tests et les applications seront effectués en utilisant des données réelles: les cours journaliers des indices européens et US, les cotations intraday futures européens, les cours des devises, des historiques des taux d'intérêts.

La plupart des données et les fonctions R sont déjà disponibles dans les modules de R !

3 Présentations
Autres présentations (2003)
4 Travaux Pratiques
4.1 Introduction à R
L'objectif sera de se familiariser avec R. Installer de R, si ce n'est déjà fait, effectuer quelques manipulation de données, créer des graphiques, un tour d'horizon des fonctions statistiques, faire les premiers pas en analyse statistique et programmation avec R.

Quleques ressources pour bien démarrer en R: En Français:
4.2 Exploration des données financières
Les TPs seront menés sur différents types de données: indices européens (journaliers ou intraday, suivant les cas) et indices de hedge funds (permettant de mettre en avant les difficultés en cas d'échantillon de faible taille). Nous nous proposons ici d'explorer ces données à l'aide de R, les fonction de téléchargements, lecture à partir de fichiers, affichages graphiques, statistiques simples, ...

4.3 Faits stylisés des actifs financiers

4.3.1 Quel modèle pour les prix: multiplicatif ou additif ?
Doit on modéliser les incréments en relatif (en pourcentage, ou en log) ou en simples incréments (en points de base)? Ce TP propose quelques tests pour choisir le modèle pertinent pour les rendements.

4.3.2 Normalité des rendements ?
Nous nous proposons de tester les hypothèses de (non) normalité des rendements, applications à différents types d'actifs: indices, devises, indices de hedge funds, ... Ces tests mettent en évidence les queues épaisses des actifs financiers, donc des risques plus élevés que dans un modèle normal. Nous constaterons également que les cours deviennent de plus en plus gaussiens au fur et à mesure que les intervalles d'observation augmentent: un autre fait stylisé connu sous le terme de "gaussianité" par agrégation".

4.3.3 Indépendance et autres faits stylisés
4.4 Corrélations, tests d'efficience
4.5 Génération de cours pseudo aléatoire
L'objectif de ce TP est d'apprendre à programmer des fonctions de génération de cours pseudo aléatoires. Pour illustrer le principe, nous commençons par une simple simulation d'une marche aléatoire, puis nous étudions de près la génération de prix dans un modèle lognormal, des cours de clôture, mais aussi en intraday pour générer les plus haut et plus bas, ... Les caracatéristiques des prix lognormaux sont examinés.

4.6 Volatilité: Modèles, Simulations, Estimations et Prédictions

Qu'il s'agisse de gestion du risque, ou de l'évaluation des produits dérivés, la volatilité joue un rôle central en finance.

Différents TPs sont donc consacrés à ce sujet central:

4.6.1 Estimateurs efficaces
Efficacité des estimateurs utilisant les plus hauts et plus bas (Parkinson, Roger Satchell). Pour étudier les propriétés de ces estimateurs, il sera nécessaire de simuler des prix pour une volatilité connue et comparer les estimations à cette volatilité, à l'aide de la notion d'efficacité des estimateurs.

4.6.2 Moyenne mobile exponentielle
RiskMetrics : les Moyennes Mobiles Exponentielles Pondérées - Exponential Weighted Moving Average - EWMA en anglais.

4.6.3 GARCH
La modélisation GARCH (Generalized Autoregressive Conditional Heteroscedasticity) est devenu un outil incontournable en finance, particulièrement utile pour analyser et prévoir la volatilité. Ces modèles rendent compte du fait stylisé connu, dit de clustering de volatilité, à savoir que les périodes de forte volatilité alternent avec les périodes de faible volatilité. Dans ce TP, nous nous proposons d'appliquer les estimations GARCH aux indices CAC40 et NASDAQ.

4.6.4 Modélisation des corrélations

jusqu'à présent nous avons modélisé la volatilité sur un seul actif. Il s'agit ici de modéliser "au mieux" les covariances, les corrélations entre deux actifs, ainsi que les matrices correspondantes dans le cas de plusieurs actifs. De la même façon que pour la volatilité, des modèles de type moyenne mobile exponentielles et GARCH peuvent être utilisés. Il s'agira ici d'étudier ces modèles, d'en estimer les paramètres en utilisant les données réelles.

4.7 La Value at Risk avec R

La Value at Risk est sans aucun doute l'outil le plus utilisé pour mesurer et contrôler les risques financiers.

Dans ce projet, vous êtes Risk Manager d'un Fond. On supposera que le Fond gère 10 Millions d'euros, l'objectif de VaR à 10 jours à 99% est fixée à 4%. On supposera que le Fond est investi sur le marché future du CAC40.

Après avoir évalué différents modèles de Value at Risk, l'objectif sera de fixer au quotidien les limites de VaR, traduites en terme de nombre de contrats à ne pas dépasser. Dans le cas où le fond investi constamment à la limite de la Value at Risk, en déduire les caractéristiques du fond en terme de performance, levier, ratio de Sharpe, etc ...

Le notionnel d'un contrat CAC40 est la valeur de l'indice multiplié par 10. La valeur du contrat est égale au cours coté x 10 euros. Exemple : si le cours du contrat à terme CAC 40 s'établit à 4000, le contrat a une valeur de : 40.000 euros. Si vous achetez un Contrat Future à 4.000 points et que vous le revendez à 4.200 points, votre gain est de (4.200-4.000) × 10 euros =2.000 euros.

Une première étape consistera donc à étudier les caractéristiques de l'actif sous jacent, puis de comparer diverses méthodes d'estimations de la Value at Risk [8] dans le cas simple d'un seul instrument, a savoir les méthodes dites de VaR historique, les méthodes "normales" basées sur des modèles de volatilité (RiskMetrics, GARCH), enfin les méthodes faisant appel à la Théorie de Valeurs Extrêmes (Extreme Value Theory).

On mènera une étude analogue à celles décrite dans [7] qu'il faudra adapter au CAC40.

En complément de la VaR, on fera une étude dite de stress testing, par l'utilisation de la théorie de Valeurs Extrêmes (voir TP sur les valeurs extrêmes).

Enfin, on complétera ces études par des estimations des pertes effectives au delà de la VaR, à l'aide de la VaR conditionnelle ou la CVaR. La CVaR mesure justement les pertes en cas de dépassement de la VaR1



Pour mener ce projet, on pourra également s'appuyer sur des standards "de facto", tels que que RiskMetrics [11] [9], notamment [10] pour une vision plus globale de la VaR dans la gestion du risque, les méthodes de backtesting, de reporting ... Voir aussi THE VALUE-AT-RISK en Français ...

Ce projet s'appuie sur différents TPs, notamment ceux concernant les modèles de volatilité, ainsi que les TPs suivants:

4.7.1 Queues de distribution, VaR et valeurs extrêmes:
4.7.2 Mesure et Backtesting de la VaR d'une gestion active
4.7.3 VaR Backtesting, conditionnal coverage
Testing the time dependencies of exceptions.

4.7.4 Estimation de la Value at Risk en presence d'options
Les différentes méthodes d'estimation de la VaR en presence d'options sont présentees et testées sur différents portefeuilles d'options
4.8 Stratégies d'investissement

4.8.1 Etude du maximum Drawdown et Taux de mortalité des Traders

Il s'agit ici d'etudier la distribution de la perte maximale historique (MDD) en retrouvant et utilisant les résultats obtenus par Magdon Ismail (voir par exemple http://alumnus.caltech.edu/~amir/mdd-risk.pdf

On réalisera également, une simulation analogue à celle proposée par Nassim Taleb, voir "Which Ones Are Preferable, a Cancer Patient's or a Trader's 5-Year Survival Rates ?" http://www.fooledbyrandomness.com/tradersurvival1.pdf

On pourra constater que le nombre de survivants est relativement faible. On considère que le trader disparaît du marché dès lors qu'il réalise une perte maximale historique (drawdown) de plus de 20%. Dans ces conditions, même dotés d'un bon ratio de Sharpe (rendement/volatilité) de 1, le nombre survivants au bout de 5 ans n'est que de 25%!.

Cet exemple simple montre donc que la gestion du risque est bien au coeur des stratégies alternatives.

4.8.2 Kelly, une première approche ...
Illustre le critère et le principe de Kelly sur des actifs risqué fictifs, permet de prendre conscience des facteurs "chance" et du risque, ainsi que des gains apportés par un stratégie dynamique maximisant un critère de performance corrigé du risque: le taux de croissance ou l'utilité logarithmique.

4.8.3 Buy and Hold versus Rebalacing



This project is to compare the performance of a passive Buy & Hold (B&H) benchmark portfolio strategy and of the corresponding Constantly Rebalanced Portfolio (CRP) strategy where the weights of the assets (or asset classes) are maintained constant by continuous trading adjustments in function of prices fluctuations.

We study the behavior of rebalanced portfolio in the case of one asset and multiple assets. The we study the CRP vs BH strategy for the different EUROSTOXX indices, compare the equal weighted strategy in the different sectors with the Buy & Hold strategy, implement and backtest a Long/Short beta neutral strategy: long in a equal weighted sectors and short on the Eurostoxx 50 (with futures) while trying to maintain a constant expected maximum drawdown

4.8.4 Stratégies optimales pour 2 actifs dans le cas IID
Recherche de gestion active optimales sur indices (CAC40, NASDAQ, ...):
5 Ressources

5.1 R
Livres: En Français: En anglais: Autres packages, hors distribution R/CRAN Il existe aussi des packages commerciaux: exemple: optimisation de portefeuille http://www.burns-stat.com/

5.2 Démos RMetrics

Une fois R et les packages installés, charger tseries, fBasics et fSeries en mémoire par le menu "Packages/Load packages", puis executer quelques démos. Les démos RMetrics donnent un bon aperçu du projet:

démos > xmpfBasics() selectionner la démo xmpDistCLT: Aggregation Effects and the Central Limit Theorem

démo xmpfBasics/xmpDistMLEstudent: MLE Parameter Estimation for the Student-t Density
démo xmpfBasics/xmpDistQQgauss: Quantile-Quantile Plot and Basic Statistics

démo xmpfBasics/xmpDistScalinglaw: Scaling Law Behavior of a Time Series

Puis les démos, pour la deuxième partie du projet: > xmpfSeries(), xmpGarchModelling: Garch Time Series Modelling
Example: xmpTradingWithTrend Title: Trade in the Direction of the Trend xmpTradingWithTrend

5.3 Données inclues dans les packages R

Les données sont fournies avec les packages R:

5.3.1 Indices européens - journalier
EuStockMarkets - package ts Daily Closing Prices of Major European Stock Indices, 1991-1998: Contains the daily closing prices of major European stock indices: Germany DAX (Ibis), Switzerland SMI, France CAC, and UK FTSE.

exemple:
>data(EuStockMarkets) #charge les data
>plot(EuStockMarkets)
>cac=EuStockMarkets[,"CAC"] # extraire le CAC40
>plot(cac)

5.3.2 Cours actions composant le DJIA
DJIA data package VaR.
Daily Closing Prices of Stocks in The Dow Jones 30 Industrial Index
This data frame contains daily closing prices of stocks in Dow Jones 30 Industrial index. Data covers a time period from 30-08-1993 till 29-08-2003. The composition of DJIA 30 corresponds to September 1st, 2003.

5.3.3 Taux de change: EUR/USD, USD/JPY, USD/CHF et GPD/USD
exchange.rates package VaR.
Description: Data on the currencies exchange rates for USD, EUR, CHF, GPD. Data covers a period from 03-01-2000 till 22-08-2003.

5.3.4 RMetrics: cours Intraday et journaliers indices, actions, et devises

La librairie fBasics propose les jeux de données suivants:
  1. audusd.csv Reuters Tick-by-Tick AUDUSD rates 1997-10,
  2. usdthb.csv Reuters Tick-by-Tick USDTHB rates 1997,
  3. fdax9710.csv Minute-by-Minute DAX Futures Prices for 1997-10,
  4. fdax97m.csv Minutely Time and Sales DAX Futures for 1997,
  5. bmwres.csv Daily log Returns of German BMW Stock Proces,
  6. nyseres.csv Daily log Returns of the NYSE Composite Index.
Dans le package fExtremes:
5.3.5 Données macro du package tseries
Les données NelPlo: 14 macroeconomic time series: cpi, ip, gnp.nom, vel, emp, int.rate, nom.wages, gnp.def, money.stock, gnp.real, stock.prices, gnp.capita, real.wages, and unemp and the joint series NelPlo. Details The series are of various lengths but all end in 1988. The data set contains the following series: consumer price index, industrial production, nominal GNP, velocity, employment, interest rate, nominal wages, GNP deflator, money stock, real GNP, stock prices (S&P500), GNP per capita, real wages, unemployment.

5.4 Données supplémentaires

5.4.1 Téléchargement des données YAHOO
On pourra utiliser la fonction get.hist.quote de tseries

Exemple: téléchargement du CAC40 sur YAHOO et graphique barchart
#Plot OHLC bar chart for the last
x=get.hist.quote("^FCHI")
# afficher les 10 derniers jours
x10=window(x,start=end(x)[1]-10)
plotOHLC(x10,ylab="price",main="CAC40")






Voir également RMetrics/fBasics, les fonctions yahooImport pour la récupération des cours à partir de YAHOO, ainsi que economagicImport pour les données macro-économiques.

Quelques données pour le marché Francais ont été préparées dans un format R: télécharger http://www.yats.com/downloads/yahoo/cac40Stocks.txt.gz.RData dans votre espace de travail, puis utiliser la commande
cac40Stocks=load("cac40Stocks.txt.gz.RData")

5.4.2 Hedge Funds
CSFB Tremont: http://www.hedgeindex.com/ publie des indices de rendements des Hedge Funds. Un fichier au format CSV a été préparé http://www.yats.com/downloads/CSFBTremont.csv, contenant les rendements mensuel depuis 1993 (soit 120 points par indice). Le fichier contient une l'en-tête:
Date, HedgeFundIndex, ConvertibleArbitrage, DedShortBias, EmergingMarkets, EquityMktNtrl, EventDriven, Distressed, HedgedMultiStrategy, RiskArbitrage, FixedIncArb, GlobalMacro, LongShort, ManagedFutures, MultiStrategy suivi par les lignes correspondantes pour la date et les rendements. La commande R suivante
hf=read.table("CSFBTremont.csv",header=T,sep=",") permet de charger le fichier dans une data.frame. Voir support de cours pour des exemples d'utilisation.



6 References
[1]
ARTZNER, P. & DELBAEN, F. & EBER, J.-M. & HEATH, D. ''Coherent Measures of Risk'' , 1998. ...

[2]
BOUCHAUD, J. P & POTTERS, M. ''Theory of Financial Risks'' . Cambridge University Press, 2000.

[3]
CHAMBERS, J. M. ''Programming with Data'' . Springer, New York, 1998. ISBN 0-387-98503-4.

[4]
CONT, R. ''Empirical properties of asset returns - stylized facts and statistical issues'' . QUANTITATIVE FINANCE, 2000. ...

[5]
DALGAARD, P. ''Introductory Statistics with R'' . Springer, 2002. ISBN 0-387-95475-9.

[6]
GOURIEROUX, C. & SCAILLET, O. & SZAFARZ, A. ''Econométrie de la finance'' . Economica, 1997.

[7]
HERLEMONT, D. ''Value at Risk Studies'' , 2004. ...

[8]
LINSMEIER, T & PEARSON, N. D. ''Risk Measurement: An Introduction to Value at Risk'' , Financial Analysts Journal, March 2000. ...

[9]
RISKMETRICS GROUP. ''RiskMetrics Technical Document'' , December 1996. ...

[10]
RISKMETRICS GROUP. ''Risk Management - A Practical Guide'' , 1999. ...

[11]
RISKMETRICS GROUP. ''Return to RiskMetrics: The Evolution of a Standard'' , 2001. ...

[12]
ROCKAFELLAR, R. T & URYASEV, S. ''Optimization of Conditional Value-at-Risk'' , 1999. ...

[13]
URYASEV, S. ''Conditional Value-at-Risk: Optimization Algorithms and Applications'' .

[14]
VENABLES, W. N & RIPLEY, B. D. ''Modern Applied Statistics with S. Fourth Edition'' . Springer, 2002. ISBN 0-387-95457-0.

[15]
WEST, G. ''Note on Coherent Risk Measures'' . ...

[16]
ZIVOT, E. & WANG, J. & ROBBINS, C. R. ''Modeling Financial Time Series With S-Plus'' . Springer Verlag, 2004.

1
En outre, c'est une mesure cohérente du risque et l'optimisation de portefeuille sous contrainte de CVaR se résout facilement par des méthodes de programmation linéaire (cf [12], [13]), ce qui n'est pas le cas de la VaR (en l'absence de propriété de convexité).



Daniel HERLEMONT, mailto:dherlemont@yats.com, mailto:daniel.herlemont@devinci.fr,