WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

A partir de quelles valeurs du skewness et du kurtosis, la Value-at-Risk de Cornish-Fisher est-elle préférable à  la VaR normale?

( Télécharger le fichier original )
par Mehdi DRISSI BOUTAYBI
Université de Bordeaux - Master Ingénierie des risques économiques et financiers 2016
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Mémoire: A PARTIR DE QUELLES VALEURS DU SKEWNESS ET DU KURTOSIS, LA VALUE-AT-RISK DE CORNISH-FISHER EST-ELLE PR'EF'ERABLE À LA VAR NORMALE?

MEHDI DRISSI BOUTAYBI
M1 MIMSE

Année universitaire 2015/2016

2

3

Introduction

La notion de Value-at-Risk (VaR) est apparue pour la première fois dans le secteur de l'assurance. A la fin des années 1980, la banque Bankers Trust fut l'une des premières institutions à utiliser cette notion sur les marchés financiers aux Etats-Unis, mais c'est principalement la banque JP Morgan qui dans les années 90 a popularisée ce concept notamment grâce à son système RiskMetrics (pour un historique complet de la notion de Value-at-Risk et de sa diffusion se reporter au livre de Dowd, 2005). La Value -at-Risk est ensuite devenue, en moins d'une dizaine d'années, une mesure de référence du risque sur les marchés financiers, consacrée notamment par la réglementation prudentielle définie dans le cadre des accords de Bâle II. De façon générale, la Value-at-Risk est définie comme la perte maximale potentielle qui ne devrait être atteinte qu'avec une probabilitédonnée sur un horizon temporel donné(Engle et Manganelli, 2001). La Value at Risk est donc la pire perte attendue sur un horizon de temps donnépour un niveau de confiance donné. Cette définition très simple constitue l'un des principaux attraits de la Value-at-Risk : il est en effet très facile de communiquer sur la VaR et de ainsi proposer une mesure homogène et générale (quelque soit la nature de l'actif, la composition du portefeuille etc.) de l'exposition au risque.

Le calcul de la VaR-normal est adaptée au rendement logarithmique qui suit une distribution normale, or en pratique, la loi de distribution des rendements logarithmique des produits financiers et des portefeuilles est rarement normale et possède des queues de distribution beaucoup plus épaisses que celles d'une loi normale. Les distributions leptocurtiques, la loi de Laplace et la loi cstable de Levy et d'autres lois étudiées dans ce rapport, sont généralement plus appropriées.

Ce rapport va se pencher sur uniquement l'étude de 2 VaR et plus précisément sur la problèmatique : A partir de quelles valeurs du skewness et du kurtosis,la Value-at-Risk de Cornish-Fisher est-elle préférabl e à la VaR normale?, par simulation Monte-Carlo sur plusieurs lois afin de trancher en faveur ou en défaveur du calcul de la Value-at-Risk de Cornish-Fisher ou de la VaR normale pour un skewness et un kurtosis donné.

4

5

Table des matières

Introduction 3

1 Définitions et illustration des notions 7

1.1 Moment d'ordre 3 : Asymétrie pertes/gains 7

1.1.1 Le coefficient d'asymétrie (skewness) 7

1.1.2 Test de D'Agostino 7

1.2 Moment d'ordre 4 : Queue de distribution épaisse 7

1.2.1 Le coefficient d'aplatissement 7

1.2.2 Le test d'anscombe 8

1.3 Le rendement logarithmique 8

1.4 La Value-at-Risk 9

1.4.1 La VaR-Normale 9

1.4.2 La VaR de Cornish-Fisher 10

1.5 Le Backtesting 10

1.5.1 Test de validation d'une prévision 10

1.5.2 Violations de la VaR 10

1.5.3 Comment tester ces 3 hypothèses? 14

2 La procédure mise en place 15

2.1 Explication de la procédure 15

2.2 Remarques importantes 15

3 Résultats des simulations Monte-Carlo 17

3.1 loi stable ou distribution de Lévy tronquée 17

3.2 loi hyperbolique 18

3.3 loi Normale Laplace packageNormalLaplace 20

3.4 loi Normale 21

3.5 Loi Laplace asymétrique 23

3.6 Loi d'extremum généralisée 25

3.7 Loi de Gumbel 27

3.8 Loi de Tukey-lambda généralisée 29

3.9 Loi Normale asymétrique 31

3.10 Generalized Error Distribution 34

3.11 Skew Generalized Error Distribution 35

3.12 loi de student 38

3.13 loi de student asymétrique 40

3.14 Generalized Hyperbolic Student-t 44

3.15 Standardized generalized hyperbolic Student-t Distribution 45

3.16 loi triangulaire 47

3.17 loi uniforme 48

3.18 loi logistique 50

Conclusion 53

6

7

Chapitre 1

Définitions et illustration des notions

1.1 Moment d'ordre 3 : Asymétrie pertes/gains

1.1.1 Le coefficient d'asymétrie (skewness)

Le coefficient d'asymétrie (skewness) : correspond à une mesure de l'asymétrie de la distribution d'une variable aléatoire réelle. On définit le coefficient d'asymétrie d'ordre 3 de la variable centrée réduite :

1 X S = 3 (x - m)3 (1.1)

1.1.2 Test de D'Agostino

Le test de D'Agostino est basésur les coefficients d'asymétrie et d'aplatissement. Lorsque ces deux indicateurs diff`erent simultanément de la valeur de référence 0, on conclut que la distribution empirique n'est pas compatible avec la loi normale.

Les hypoth`eses du test sont alors :

H0 : 'y1 = 0

Symétrie : La probabilitéest non significativement différente de 0 et donc la distribution est normale.

H1 : 'y1 =6 0

Asymétrie : La probabilitéest significativement différente de 0 et ici ça dépend du signe du skewness : /il y a une probabilitéplus importante d'avoir des pertes que d'avoir des gains si le skewness est négatif

/il y a une probabilitéplus importante d'avoir des gains que d'avoir des pertes si le skewness est positif.

1.2 Moment d'ordre 4 : Queue de distribution épaisse

1.2.1 Le coefficient d'aplatissement

Le kurtosis mesure l'aplatissement d'une série, c'est le moment d'ordre 4. S'il est supérieur à 3, la série a des queues plus épaisses que la normale aux extrémités, impliquant des valeurs anormales plus fréquentes. S'il est négatif, la distribution est relativement aplatie. A noter que, généralement, dans les logiciels et dans l'utilisation du Kurtosis, on consid`ere que K'=K-3

'y2 = E[(X - )4] (1.2)

ó

Le terme d'exc`es d'aplatissement, dérivéde kurtosis excess en anglais, utilisépour le kurtosis normalisépeut être source d'ambiguïté. En effet, un exc`es d'aplatissement positif correspond à une distribution pointue et un exc`es d'aplatissement négatif à une distribution aplatie.

8

1.2.2 Le test d'anscombe

Le test d'anscombe est un test pour mesurer l'aplatissement d'une distribution Les hypothèses du test sont alors :

H0 : ã2 = 3

ce qui veut dire que les donn'ees sont sym'etriques et suivent une loi normale

H1 : ã2 =6 3

la valeur de Kurtosis est soit sup'erieur à 3 (queue plus 'epaisse), soit inf'erieur à 3 (queue moins 'epaisse)

1.3 Le rendement logarithmique

La gestion des portefeuilles d'actifs s'appuie sur la notion de rendement ou de taux de rentabilit'e. Cette grandeur mesure, pendant un intervalle de temps donn'e, l'appr'eciation ou la d'epr'eciation relative de la valeur d'un actif financier ou d'un portefeuille d'actifs.

le rendement logarithmique, 'egalement appel'e rendement g'eom'etrique, entre les instants t et t-1 est d'efini par:

Pi(t)

Ri(t) = ln (1.3)
Pi(t - 1)

Exemple d'un rendement logarithmique sur une simulation de la loi normale

> n <- 3000

> rt <- rnorm(n,0.01/252,0.05)

> # convertir la simulation en time series

> x.Date <- as.Date("2003-02-01") + c(1:3000)

> plot(x.Date, rt, type='l', main='rendement logarithmique')

9

rendement logarithmique

2004 2006 2008 2010

rt

-0.15 -0.10 -0.05 0.00 0.05 0.10 0.15

x.Date

1.4 La Value-at-Risk

la Value-at-Risk est le fractile de la distribution de perte et profit associée à la détention d'un actif ou d'un portefeuille d'actifs sur une période donnée. La mesure de Value-at-Risk ne fait que refléter l'information contenue dans la queue gauche (associée aux pertes) de la distribution des rendements d'un actif. Si l'on considère un taux de couverture de c% (ou de façon équivalente un niveau de confiance de 1 - c% ), la Value-at-Risk correspond au fractile de niveau c% de la distribution de perte et profit valable sur la période de détention de l'actif:

V aR(c) = F -'(c) (1.4)

oùF(.) désigne la fonction de répartition associée à la distribution de perte et profit. De cette définition générale découlent plusieurs définitions techniques tout aussi simples.

1.4.1 La VaR-Normale

Sous l'hypothèse de normalitépour tous les actifs sous-jacents, les rendements de l'action ou du portefeuille sont eux-mêmes gaussiens et la VaR de leur distribution se calcule en fonction de la matrice de variance-covariance associée. Néanmoins cette approche est limitative puisqu'elle repose sur l'hypothèse de normalitérarement vérifiée en pratique.

L'usage d'une VaR gaussienne peut largement sous-estimer le risque, et le but de ce rapport est de voir empiriquement à partir de quelle valeur du skewness et du kurtosis, on peut utiliser ou ne pas utiliser la VaR normale comme outil de calcul de la perte maximale potentielle qui ne devrait être atteinte.

10

Par exemple si pour un skewness = 0.2 et un kurtosis normalisé= 0.4, on peut utiliser comme même la VaR -Normale ou pas.

1.4.2 La VaR de Cornish-Fisher

L'approche par la VaR Gaussienne peut être améliorée pour tenir compte du caractère non-normal de la loi sous-jacente en introduisant le skewness et le kurtosis. L'approximation de Cornish-Fisher permet de transformer le quantile, ou une réalisation, d'une loi normale en une réalisation d'une loi dont l'asymétrie et le kurtosis en excès ne sont pas nuls.

1.5 Le Backtesting

Le backtesting est un ensemble de procedures statistiques dont le but est de vérifier que les pertes réelles observées ex-post sont en adéquation avec pertes prévues. Cela implique de comparer systématique ment l'historique des prévisions de Value-at-Risk aux rendements observés du portefeuille (Jorion, 2007, page 139).

Pour des aspects réglementaires, les institutions financières sont réglementairement contraintes de mettre en oeuvre une validation de leurs modèles internes de VaR. Les réglementations prudentielles définies dans le cadre des accords de Bâle laissent la libertéaux institutions financières de développe r leur propre modèle interne d'évaluation des risques et de calcul de la Value at Risk (VaR). En contrepartie, les réglementations prudentielles imposent une évaluation de ces modèles de VaR par des procédures de Backtesting.

Dès lors que le backtesting doit permettre de déterminer la (ou les) méthodes les plus appropriées pour prévoir la VaR, il faut mettre en place 2 tests de validation de prévision.

1.5.1 Test de validation d'une prévision

Un test de validation d'une prévision est un test dont l'hypothèse nulle revient à postuler que la prévision est issue du processus générateur de données ou DGP des données.

La validitéde la prévision d'une grandeur économique est évaluée en comparant sa réalisation ex-post à la valeur prédite ex-ante.

Ainsi, l'évaluation de la VaR est généralement fondée sur des tests statistiques des deux principales hypothèses que le processus associéaux violations de la VaR anticipée doit satisfaire, à savoir l'hypothèse de couverture non conditionnelle et l'hypothèse d'indépendance.

1.5.2 Violations de la VaR

On appelle violation (ou hit, ou exception) une situation dans laquelle à la date t la perte observée excède la VaR anticipée. De plus, on appelle hit function, ou hit variable, la variable indicatrice It(c) associée à l'observation ex-post d'une violation de la VaR à c% à la date t.

It(c) = 1 si rt < V aRt|t_1(c) (1.5)

It(c) = 0 sinon. (1.6)

Exemple de simulation de 5000 valeurs de la loi skewlaplace et Backtesting sur les 1000 dernières valeurs

> library(PerformanceAnalytics)

> library(quantmod)

> library(rugarch)

> library(car)

> library(FinTS)

11

> library(GeneralizedHyperbolic)

> rt <-rskewlap(5000, mu = 0.0000321, alpha = 1/23, beta = 1/22)

> # convertir la simulation en time series (pour l'adapter au backtesting)

> x.Date <- as.Date("2003-02-01") + c(1:5000)

> ret <- zoo(rt, x.Date)

> # backtesting unconditional VaR models

> # normal VaR, HS and modified HS

> #

>

> # set up estimation window and testing window

> n.obs = length(ret)

> w.e = 4000

> w.t = n.obs - w.e

> alpha = 0.95

> # loop over testing sample, compute VaR and record hit rates > backTestVaR <- function(x, p = 0.95) {

+ normal.VaR = as.numeric(VaR(x, p=p, method="gaussian"))

+ modified.VaR = as.numeric(VaR(x, p=p, method="modified"))

+ ans = c(normal.VaR, modified.VaR)

+ names(ans) = c("Normal", "Modified")

+ return(ans)

+ }

> # rolling 1-step ahead estimates of VaR

> VaR.results = rollapply(as.zoo(ret), width=w.e,

+ FUN = backTestVaR, p=0.95, by.column = FALSE,

+ align = "right")

> VaR.results = lag(VaR.results, k=-1)

> chart.TimeSeries(merge(ret, VaR.results), legend.loc="topright",main="Backtesting")

12

Backtesting

2003-02-02 2006-02-01 2009-02-01 2012-02-01 2015-02-01

Value

-0.4 -0.2 0.0 0.2 0.4

ret Normal Modified

Les violations, sur les 1000 derniers rendements, de la VaR Normale et de la VaR Cornish-Fisher sont sur les 2 graphiques qui suivent

> par(mfrow=c(1,2))

> # Show Normal VaR violations

> normalVaR.violations = as.zoo(ret(index(VaR.results), ]) < VaR.results(, "Normal"]

> violation.dates.normal = index(normalVaR.violations(which(normalVaR.violations)])

> # plot violations

> plot(as.zoo(ret(index(VaR.results),]), col="blue", ylab="Return",main="Violations normal VaR")

> abline(h=0)

> lines(VaR.results(, "Normal"], col="black", lwd=2)

> lines(as.zoo(ret(violation.dates.normal,]), type="p", pch=16, col="red", lwd=2)

> # Show modified VaR violations

> modifiedVaR.violations = as.zoo(ret(index(VaR.results), ]) < VaR.results(, "Modified"]

> violation.dates.modified = index(modifiedVaR.violations(which(modifiedVaR.violations)])

> # plot violations

> plot(as.zoo(ret(index(VaR.results),]), col="blue", ylab="Return",main="Violations modified VaR")

> abline(h=0)

> lines(VaR.results(, "Modified"], col="black", lwd=2)

> lines(as.zoo(ret(violation.dates.modified,]), type="p", pch=16, col="red", lwd=2)

Violations normal VaR

Return

-0.2 -0.1 0.0 0.1 0.2 0.3

 

2014 2015 2016

Index

Violations modified VaR

Return

-0.2 -0.1 0.0 0.1 0.2 0.3

 

2014 2015 2016

Index

13

Une prévision de VaR est valide si et seulement si la séquence des violations satisfait les deux hypothèses suivantes :

/L'hypothèse de couverture non conditionnelle

/L'hypothèse d'indépendance

hypothèse de couverture non conditionnelle

L'hypothèse de couverture non conditionnelle est satisfaite lorsque la probabilitéque se réalise ex -post une perte en excès par rapport à la VaR anticipée ex-ante est précisément égale au taux de couverture c .

Pr[It(c) = 1] = E[It(c) = 1] = c (1.7)

Exemple

Pour une VaR à 1% utilisée comme mesure de référence sur 500 périodes, l'espérance du nombre de violations doit être égale à 5. Si le nombre de violations est significativement supérieur ou inférieur à 5 %, la mesure de VaR est non valide.

hypothèse d'indépendance

L'hypothèse d'indépendance des violations est satisfaite lorsque les violations de la VaR observées à deux dates différentes pour un même taux de couverture doivent être indépendamment distribuées. Formellement, la variable It(c) associée à la violation à la date t de la VaR pour un taux de couverture à c%, est indépendante de la variable It_k(c),Vk =6 0.

14

hypothèse de couverture conditionnelle

L'hypothèse de couverture conditionnelle est satisfaite lorsque la probabilitéconditionnelle à l'infor-mation disponible en t-1 se réalise ex-post une perte en excès par rapport à la VaR est préciséme nt égale au taux de couverture c :

Pr[It(c) = 1|I~t_1] = E[It(c)|1~t_1] = c (1.8)

I~t_1 désigne l'ensemble d'information utilisépour prévoir la VaR.

A noter que l'hypothèse de couverture conditionnelle implique l'hypothèse de couverture non conditionnelle et l'hypothèse d'indépendance.

1.5.3 Comment tester ces 3 hypothèses?

Test de couverture non conditionnelle (Test de Kupiec)

Pour un taux de couverture de la VaR à c%, le test de couverture non conditionnelle de Kupiec admet pour hypothèse nulle et pour hypothèse alternative

H0 : E(c) = 0

H1 : E(c) =6 0

It désigne la violation associée à la VaR à une date t. Sous H0,la statistique de ratio de vraisemblance associée vérifie

LRuc = -2ln[(1 - c)T_NpN] + 2ln[(1 - N/T)T_N(N)N] ~ ÷2(1) quand T -+ oc (1.9)

Avec

T : prévisions successives de la VaR N : le nombre de violations associées

N=

XT t=1

It(c)

Le rapport N/T définit la fréquence empirique des violations Test de couverture conditionnelle (Test de Christoffersen)

Christoffersen suppose que, sous l'hypothèse alternative de non efficience de la VaR, le processus des violations It(c) est modélisépar une chaîne de Markov.

ðt = Pr[It(c) = j|It_1(c) = i] (1.10)

Quel que soit l'état du système en t-1 d'observer à la date t une violation est égale au taux de couverture conditionnelle.

ðt = Pr[It(c) = 1] = c (1.11)

De plus, la probabilitéd'observer une violation à la date t est indépendante de l'état en t-1. les hypothèses d'efficience conditionnelle sont :

H0 : itt = c : Efficience de la VaR
H1 : irt =6 c : Non efficience de la VaR

15

Chapitre 2

La procédure mise en place

2.1 Explication de la procédure

D'abord, on simulation une loi, on fait le test d'Agostino et le test Anscombe pour connaître la significativitédu skewness et du kurtosis, ensuite on fait le backtesting par simulation Monte-Carlo de la même loi supposée être le rendement logarithmique d'une action ou d'un portefeuille, et on calcule les p.values du test de Kupiec et de Christoffersen pour la VaR normale et pour la VaR de Cornish-Fisher. Cette procédure est mise en place pour savoir pour quelle valeur du skewness et du kurtosis la VaR Cornish-Fisher est préférable à la VaR Normale.

2.2 Remarques importantes

>La qualitéde l'analyse économétrique dépend en tout état de cause de la fiabilitédes statistiques de tests employées. Lorsqu'on souhaite faire de l'inférence, c'est-à-dire tester une hypothèse, il est nécessaire de calculer une statistique de test et d'en connaître la loi de probabilité: on peut alors calculer un seuil critique ou une P-value et accepter ou non l'hypothèse posée. Malheureusement, la distribution de proba-bilitéd'une statistique de test est la plupart du temps inconnue, à moins de faire des hypothèses fortes et difficilement vérifiables sur le modèle. En adaptant ce propos dans notre cas, le calcul de la VaR-normal est adaptée au rendement logarithmique qui suit une distribution normale, or en pratique, la loi de distribution des rendements logarithmique des produits financiers et des portefeuilles est rarement normale et possède des queues de distribution beaucoup plus épaisses que celles d'une loi normale. Les distributions leptocurtiques, la loi de Laplace et la loi stable de Levy et d'autres lois étudiées dans ce rapport, sont généralement plus appropriées. Néanmoins le bus de ce rapport est de vérifier empiriquement (sur des lois simulées adaptées à des données réelles) si pour un skewness proche de 0 ou/et un kurtosis proche de 3, le calcul de la VaR Normale peut être adapté. Par ailleurs, afin d'améliorer la fiabilitédes statistiques de test sur des données réelles, une méthodologie générale du bootstrap est à adopter dans toute sorte de modèle de régression pour connaître la distribution réelle des données.

>Lors des simulations de lois, il faut choisir des paramètres tel que, les valeurs doivent se situer entre -1 et 1 (i.e. entre -100% et 100%), étant donnéque la VaR se calcule sur des rendements logarithmiques. Si non la VaR ne se calcule pas.

>Le nombre de simulation pour chaque loi est de 15, il convient de choisir 99 simulations pour espérer avoir des résultats plus précis.

>Les taux de couverture sont de 5 % dans toute l'étude.

16

17

Chapitre 3

Résultats des simulations

Monte-Carlo

3.1 loi stable ou distribution de Lévy tronquée

> library(moments)

> library(stabledist)

> n=10000

> rt <- rstable(n, alpha = 2, beta = 0.999, gamma = 0.13341, delta = 0.19382, pm = 0)

> skewness(rt)

[1] -0.02227834 > kurtosis(rt)

[1] 3.09295

> ################ hypothese nulle: distribution normale > agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.022278, z = -0.910080, p-value = 0.3628 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.0929, z = 1.8524, p-value = 0.06396 alternative hypothesis: kurtosis is not equal to 3

Après plusieurs simulations du test d'agostino et anscombe, il s'est avéréque pour la loi stable a un skewness et un kurtosis non significativement différent de 0.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de Lévy

18

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0.9184

0.07021

2

0.1909

0.12844

3

0.3123

0.55440

4

0.4057

0.30447

5

0.3624

0.66033

6

0.6834

0.48611

7

0.2970

0.51189

8

0.1730

0.39257

9

0.7571

0.32511

10

0.7571

0.07371

11

0.8369

NaN

12

0.2267

0.47824

13

0.1415

0.20476

14

0.8379

0.13481

15

0.9182

0.39424

 

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.91841

0.07021

2

0.19094

0.12844

3

0.54193

0.69600

4

0.46761

0.35287

5

0.22668

0.46013

6

0.41751

0.46824

7

0.29699

0.51189

8

0.25049

0.51661

9

0.60507

0.33586

10

0.75712

0.07371

11

0.83792

NaN

12

0.22668

0.47824

13

0.05695

0.11533

14

0.91841

0.12284

15

0.26707

0.40697

On remarque que pour la loi de Lévy, toutes les pv sont supérieurs à 5%. La VaR de Cornish-Fisher n'est pas préférable à la VaR Normale, ce résultat était attendu puisque le test d'agostino et anscombe mentionne que la distribution est normale.

3.2 loi hyperbolique

> library(GeneralizedHyperbolic)

> library(moments)

> n=10000

> rt <- rhyperb(n, mu = 0, delta = 1/2, alpha = 14, beta = 0)

> skewness(rt)

[1] -0.01627843

> kurtosis(rt)

[1] 3.578481

> agostino.test(rt)

D?Agostino skewness test

data: rt

19

skew = -0.016278, z = -0.665020, p-value = 0.506 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.5785, z = 9.2930, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

Selon le test d'agostino, le skewness est non significativement différent de 0, et on ne rejete pas H0. Le kurtosis tant à lui est significativement différent de 0, il reste néanmoins proche de 3 (Kurtosis 3.3), il y a un leger excès de kurtosis positif.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi hyperbolique

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0.75712

0.94391

2

0.14152

0.33499

3

0.67959

0.50483

4

0.26707

0.47398

5

0.91841

0.91534

6

0.29699

0.09963

7

0.67959

0.33252

8

0.67959

0.10321

9

0.01339

0.04468

10

0.34874

0.64292

11

0.47741

0.73637

12

0.40568

0.32061

13

0.07270

0.04151

14

0.36244

0.02201

15

0.83691

0.08952

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.836909

0.97479

2

0.141519

0.33499

3

0.679586

0.50483

4

0.159616

0.36379

5

0.759335

0.90904

6

0.250495

0.09534

7

0.759335

0.49743

8

0.918153

0.08720

9

0.007726

0.02647

10

0.836909

0.90507

11

0.477411

0.73637

12

0.757116

0.64685

13

0.091773

0.02339

14

0.190942

0.04487

15

0.918153

0.08355

*

Toutes les pv du test de Kupiec sont supérieur à 5 %, par conséquent on ne peut rejeter l'hypothèse nulle, l'hypothèse de couverture non conditionnelle est vérifiée et l'espérance du processus de violation est égal au taux de couverture 5%. Concernant le test de Christoffersen, 2 pv pour VaR Normale ainsi que 3 pv pour la VaR Cornish-Fisher sont inférieurs à 5 %.

On ne peut dire que la VaR Cornish-Fisher est meilleure que la VaR-Normale pour un skewness de 0 et

20

pour un Kurtosis 3.3, ce que l'on peut dire, c'est que la VaR Normale convient pour un kurtosis de 3.3, la VaR Cornish-Fisher aussi.

3.3 loi Normale Laplace packageNormalLaplace

> library(NormalLaplace)

> library(moments)

> n=10000

> rt <- rnl(n, mu = 0.000453, sigma = 0.000035/3444, alpha = 10, beta = 12)

> mean(rt)

[1] 0.01542709

> var(rt)

[1] 0.01677235

> skewness(rt)

[1] 0.421324

> kurtosis(rt)

[1] 6.381957

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.42132, z = 16.53000, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 6.382, z = 28.162, p-value < 2.2e-16

alternative hypothesis: kurtosis is not equal to 3

L'hypothèse nulle est rejetée pour le test d'agostino et anscombe, le skewness et le kurtosis sont significativement différent de 0. Le skewness est de 0.5 et le kurtosis de 6.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi normale laplace

21

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0.296993

0.499261

2

0.014088

0.041143

3

0.405681

0.492647

4

0.757116

0.943910

5

0.019084

0.007927

6

0.605067

0.846001

7

0.610736

0.681461

8

0.040568

NaN

9

0.605067

0.035862

10

0.072702

0.189321

11

0.679586

0.902103

12

0.348744

0.132051

13

0.005252

0.008941

14

0.172955

0.035910

15

0.044104

0.130053

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.056361

0.1233113

2

0.541929

0.6232319

3

0.109007

0.2436086

4

0.174352

0.0571334

5

0.417509

0.3116928

6

0.234870

0.3633720

7

0.013394

0.0362720

8

0.053672

0.0060087

9

0.190942

0.0448705

10

0.226680

0.2915920

11

0.022522

0.0492789

12

0.058870

0.0004465

13

0.267071

0.4069690

14

0.159616

0.3642280

15

0.837921

0.8287308

*

20% des pv pour la VaR Normale sont rejetées par le test de Kupiec

33.33% des pv pour la VaR Normale sont rejetées par le test de Christofferen 13.33% des pv pour la VaR Cornish-Fisher sont rejetées par le test de Kupiec 33.33% des pv pour la VaR Cornish-Fisher sont rejetées par le test de Christofferen

La VaR Cornish-Fish ne semble pas être préférable à la VaR-Normale pour un skewness de 0.5 et le kurtosis de 6. Les 2 VaR semblent inadaptées.

3.4 loi Normale

> library(moments)

> n=10000

> rt <- rnorm(n,-0.044,.03) > mean(rt)

[1] -0.04355871 > var(rt)

[1] 0.0008975451 > skewness(rt)

22

[1] -0.03104728

> kurtosis(rt)

[1] 2.993166

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.031047, z = -1.268100, p-value = 0.2047 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 2.99320, z = -0.10344, p-value = 0.9176 alternative hypothesis: kurtosis is not equal to 3

L'hypothèse nulle n'est pas rejetée pour le test d'agostino et anscombe, le skewness et le kurtosis sont non significativement différent de 0.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi normale

23

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0.91815

0.99368

2

0.19094

0.24045

3

1.00000

0.59956

4

0.34874

0.53324

5

0.53422

0.62275

6

0.08905

0.06922

7

0.40568

0.65836

8

0.54193

0.62323

9

0.60507

0.84600

10

0.26707

0.17967

11

0.36244

0.66033

12

0.54193

0.62323

13

0.91841

0.99361

14

0.53422

0.22136

15

0.53422

0.62155

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.9182

0.99368

2

0.2267

0.28514

3

0.9184

0.57028

4

0.6051

0.84600

5

0.6051

0.63884

6

0.1090

0.07487

7

0.4057

0.65836

8

0.6107

0.68146

9

0.7571

0.94391

10

0.2267

0.15026

11

0.4175

0.71803

12

0.5419

0.62323

13

0.9184

0.99361

14

0.5342

0.22136

15

0.5342

0.62155

*

100% des pv sont supérieurs à 5%, par conséquent, les 2 VaR sont adaptés pour un skewness de 0 et un kurtosis de 3.

3.5 Loi Laplace asymétrique

> library(GeneralizedHyperbolic)

> library(moments)

> n=10000

> rt <-rskewlap(n, mu = 0.0000321, alpha = 1/23, beta = 1/22)

> skewness(rt)

[1] 0.1906212

> kurtosis(rt)

[1] 5.662869

> agostino.test(rt)

D?Agostino skewness test

data: rt

24

skew = 0.19062, z = 7.71900, p-value = 1.173e-14 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 5.6629, z = 25.1130, p-value < 2.2e-16

alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness 0.05 et le kurtosis 5.7.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi Laplace asymétrique

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0.26707

0.1645

0.08905

2

0.25049

0.4550

1.00000

3

0.68339

0.7239

0.15962

4

0.60507

0.1024

0.13241

5

0.75712

0.9439

0.54193

6

0.17295

0.3252

0.91815

7

0.91841

0.2627

0.26707

8

0.46761

0.1052

0.54193

9

0.09177

0.0336

0.25049

10

0.14152

0.3143

0.67959

11

0.53422

0.7918

0.91815

12

0.17295

0.2149

0.15962

13

0.05695

0.0158

0.91815

14

0.03376

0.0431

1.00000

15

0.83691

0.6386

0.22668

*

Modified :Test Christoffersen :cc.LRp

 

1

0.11024

2

0.61278

3

0.14739

4

0.08223

5

0.81875

6

0.87552

7

0.17967

8

0.03704

9

0.44996

10

0.64695

11

0.99368

12

0.22820

13

0.99368

14

1.00000

15

0.28514

*

Pour un skewness 0.05 et un kurtosis 5.7, la VaR de Cornish-Fisher semble être préférable àla VaR Normale, aucune pv du test de kupiec et du test de christoffersen n'est rejetée pour la VaR Cornish-Fisher, tandis que 2 pv du test de kupiec et 3 pv du test de christoffersen sont rejetées.

25

3.6 Loi d'extremum généralisée

1ère simulation

> library(evd)

> library(moments)

> n <- 10000

> ### The Generalized Extreme Value Distribution LIBRARY EVD

> rt <- rgev(n, loc=0, scale=0.05332, shape=0)

> skewness(rt)

[1] 1.083461

> kurtosis(rt)

[1] 5.017651

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 1.0835, z = 36.5310, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 5.0177, z = 21.6790, p-value < 2.2e-16

alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness 1 et le kurtosis 5.4

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi d'extremum généralisée

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0.75712

0.64685

0.9182

2

0.67959

NaN

0.5342

3

0.34874

0.25897

0.4057

4

0.40568

0.56902

0.4676

5

0.68339

0.73626

0.5419

6

0.46761

0.59921

0.4676

7

0.05695

0.06461

0.1146

8

0.91841

0.45119

0.8379

9

0.68339

0.73626

0.6107

10

0.75934

0.90904

0.7593

11

0.40568

0.30447

0.6051

12

0.83792

0.97488

0.8379

13

0.67959

0.87654

0.9182

14

0.75712

0.89645

0.8369

15

0.54193

0.38065

0.5419

26

*

Modified :Test Christoffersen :cc.LRp

1

0.6226

2

NaN

3

0.3045

4

0.5992

5

0.7981

6

0.5992

7

0.1391

8

0.4731

9

0.6815

10

0.9090

11

0.4543

12

0.9749

13

0.9022

14

0.9051

15

0.3806

*

Pour la loi d'extremum généralisée, on remarque que les 2 VaR conviennent. Donc pour un skewness de 1 et un kurtosis 5.4, on peut utiliser les 2 VaR.

2ème simulation

> library(evd)

> library(moments)

> n=10000

> ### The Generalized Extreme Value Distribution LIBRARY EVD

> rt <- rgev(n, loc=-0.02, scale=0.05332, shape=-0.74837)

> plot(rt, type = "l", col = "steelblue")

> skewness(rt)

[1] -1.292113

> kurtosis(rt)

[1] 5.423539

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -1.2921, z = -41.3680, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 5.4235, z = 23.9310, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness -1.3 et le kurtosis 5

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi d'extremum généralisée

27

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

1.237e-03

4.016e-03

0.75712

2

2.583e-07

1.096e-06

0.19094

3

5.802e-03

1.797e-02

0.17295

4

7.789e-09

4.819e-08

0.54193

5

1.041e-04

5.355e-04

0.83691

6

2.158e-05

1.082e-04

0.75934

7

2.583e-07

1.623e-06

0.41751

8

5.995e-08

4.114e-07

0.41751

9

1.310e-08

6.650e-08

0.05807

10

1.339e-02

3.403e-02

0.46761

11

2.583e-07

4.511e-07

0.61074

12

2.191e-04

9.319e-04

0.91815

13

8.880e-04

3.744e-03

0.53422

14

2.575e-06

1.480e-05

0.36244

15

1.021e-02

3.457e-02

0.11458

*

Modified :Test Christoffersen :cc.LRp

 

1

0.3139

2

0.1569

3

0.2282

4

0.8188

5

0.9748

6

0.7859

7

0.4791

8

0.5031

9

0.1520

10

0.7575

11

0.6815

12

0.8755

13

0.1044

14

0.6603

15

0.2818

*

100% des pv sont inféireurs à 5% pour la VaR Normale.

100% des pv sont supérieurs à 5% pour la VaR Cornish-Fisher.

Il est évident de dire ici que la VaR Cornish-Fisher est préférable à la VaR Normale pour un skewness ' -1.3 et un kurtosis 5.

3.7 Loi de Gumbel

> library(evd)

> library(moments)

> ### The Gumbel Distribution LIBRARY EVD

> n <- 10000

> rt <- rgumbel(n, loc=-0.082991, scale=0.091276)

> plot(rt, type = "l", col = "steelblue")

> skewness(rt)

[1] 1.124037

> kurtosis(rt)

[1] 5.434639

28

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 1.124, z = 37.518, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 5.4346, z = 23.9880, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness 1 et le kurtosis 5.8

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de Gumbel

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0

NaN

2

0

0

3

0

NaN

4

0

NaN

5

0

NaN

6

0

0

7

0

NaN

8

0

NaN

9

0

NaN

10

0

NaN

11

0

NaN

12

0

0

13

0

NaN

14

0

NaN

15

0

NaN

*

29

*

Modified :Test Kupiec :uc.LRp

1

0.417509

2

0.005802

3

0.267071

4

0.001711

5

0.022522

6

0.046361

7

0.072192

8

0.836909

9

0.296993

10

0.007726

11

0.004324

12

0.010212

13

0.000888

14

0.003198

15

0.159616

*

Modified :Test Christoffersen :cc.LRp

1

0.718028

2

0.017971

3

0.508089

4

0.007273

5

0.072274

6

0.137037

7

0.063233

8

0.651523

9

0.493041

10

0.006529

11

0.007438

12

0.034179

13

0.003991

14

0.012783

15

0.364228

Après 15*3 simulations, les pv du test kupiec et christoffersen ne se calculent pas. Par ailleurs, 60 % des pv du test de kupiec calculées pour la VaR Cornish-Fisher sont rejetées, et 33.33% des pv du test de christoffersen calculées pour la VaR Cornish-Fisher sont rejetées. On ne peut rien conclure ici car les pv des tests de la VaR Normale ne se sont pas calculées.

3.8 Loi de Tukey-lambda généralisée

> library(fBasics)

> library(moments)

> #Generalized Lambda Distribution LIBRARY (fbasics)

> n <- 10000

> rt <- rgld(n, lambda1 = 0, lambda2 = -0.8, lambda3 = -1/69, lambda4 = -1/30)

> skewness(rt)

[1] 0.9236164 attr(,"method")

[1] "moment"

> kurtosis(rt)

[1] 1.898747 attr(,"method")

[1] "excess"

> agostino.test(rt)

30

D?Agostino skewness test

data: rt

skew = 0.92375, z = 32.40900, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 4.8997, z = 20.9550, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness 1 et le kurtosis 6

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de Loi de Tukey-lambda généralisée

*

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

6.547510e-08

4.370387e-07

2

2.091949e-11

NaN

3

3.384015e-09

2.560091e-09

4

4.379830e-13

3.852696e-12

5

6.547510e-08

2.062368e-07

6

2.944218e-10

1.574282e-10

7

2.091949e-11

NaN

8

1.720477e-06

9.268196e-06

9

0.000000e+00

1.110223e-16

10

5.170142e-11

NaN

11

8.262835e-12

NaN

12

8.262835e-12

NaN

13

4.918795e-07

2.981064e-06

14

6.791123e-10

3.789496e-09

15

5.170142e-11

2.650425e-10

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

3.672559e-02

9.896820e-02

2

2.887022e-02

5.524777e-02

3

7.726448e-03

6.529376e-03

4

8.905140e-02

2.215205e-01

5

1.743483e-02

1.791251e-02

6

2.158440e-05

1.451963e-05

7

7.219151e-02

1.827770e-01

8

1.710569e-03

5.950159e-03

9

5.801801e-03

1.348042e-02

10

6.614618e-07

2.999923e-06

11

2.190524e-04

1.066412e-03

12

5.037637e-12

4.443534e-11

13

3.142661e-04

1.482267e-03

14

4.809164e-05

2.583019e-04

15

1.021176e-02

2.781197e-02

Pour skewness 1 et un kurtosis 6, les 2 VaR sont inadaptées.

31

3.9 Loi Normale asymétrique

1ère simulation

> library(fGarch)

> library(moments)

> n <- 10000

> rt <- rsnorm(n, mean = 0.02091, sd = 0.09833, xi = 1.5)

> skewness(rt)

[1] 0.5801937 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] 0.2751388 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.58028, z = 22.06600, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.2758, z = 5.0032, p-value = 5.637e-07 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness 0.5 et le kurtosis 3.2

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi Normale asymétrique

32

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

8.262835e-12

7.116585e-11

2

1.248048e-10

1.029020e-09

3

6.791123e-10

NaN

4

1.248048e-10

1.029020e-09

5

5.417888e-14

NaN

6

6.547510e-08

3.912503e-07

7

8.262835e-12

7.116585e-11

8

6.547510e-08

3.966081e-07

9

4.918795e-07

2.897467e-06

10

1.720477e-06

1.028365e-05

11

1.196265e-12

NaN

12

4.918795e-07

2.897467e-06

13

6.791123e-10

NaN

14

2.091949e-11

NaN

15

3.184120e-12

1.452183e-11

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.056950543

0.15975022

2

0.014087615

0.04910592

3

0.014087615

0.04059024

4

0.348744351

0.30760878

5

0.007391808

0.01298447

6

0.918153040

0.99232297

7

0.025536586

0.07300448

8

0.250494735

0.51622856

9

0.114579541

0.27114054

10

0.467613827

0.72693022

11

0.056950543

0.04809720

12

0.072701708

0.19443637

13

0.072701708

0.19076668

14

0.025536586

0.08239907

15

0.072701708

0.19076668

*

100% des pv pour la VaR Normale sont rejetées par le test de Kupiec 100% des pv pour la VaR Normale sont rejetées par le test de Christofferen

66.66% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Kupiec

73.33% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Christofferen

Pour un skewness 0.5 et un kurtosis 3.2, la VaR Cornish-Fisher est nettement préférable à la VaR Normale.

2ème simulation

> library(fGarch)

> library(moments)

> n <- 10000

> rt <- rsnorm(n, mean = -0.01/252, sd = 0.0598, xi = -1.302)

> skewness(rt)

[1] -0.3877527 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] 0.09773852 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.38781, z = -15.30300, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.0984, z = 1.9532, p-value = 0.05079

alternative hypothesis: kurtosis is not equal to 3

Les 2 pv des tests dagostino et anscombe sont rejetées, le skewness et kurtosis sont significativement différent de 0. Le skewness est de -0.04 et le kurtosis est 3.15

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

*

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0.0580750

 

0.032842

0.60507

0.0225215

0.042564

0.68339

0.0463606

0.108469

0.61074

0.0102118

0.034571

0.41751

0.0004476

0.001007

0.15962

0.0077264

0.028775

0.83691

0.9181530

0.993683

0.05695

0.4774108

0.563248

0.53422

0.0003143

0.001482

0.08905

0.0367256

0.109048

0.67959

0.0367256

0.097778

1.00000

0.0012371

0.005395

0.68339

0.0174348

0.047228

0.61074

0.1324133

0.311866

0.75712

0.0721915

0.183579

1.00000

Modified :Test Christoffersen :cc.LRp

0.3456 0.9040 0.5043 0.6714 0.2005 0.9748 0.1598 0.6227 0.2351 0.9021 0.5996 0.8889 0.6815 0.9439 1.0000

33

*

34

66.66% des pv pour la VaR Normale sont rejetées par le test de Kupiec 53.33% des pv pour la VaR Normale sont rejetées par le test de Christofferen 100% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Kupiec 100% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Christofferen

Pour un skewness est de -0.04 et un kurtosis est 3.15, la VaR Cornish-Fisher est préférable à la VaR Normale

3.10 Generalized Error Distribution

> # Generalized Error Distribution library(fGarch)

> rt <- rged(n, mean = 0.00436, sd = 0.12, nu = 1.6) > skewness(rt)

[1] 0.002715777 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] 0.7122138 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.0027162, z = 0.1109700, p-value = 0.9116 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.713, z = 10.919, p-value < 2.2e-16

alternative hypothesis: kurtosis is not equal to 3

La pv du test anscombe est inférieur à 5 %, par conséquent on rejete H0, le kurtosis est significativement différents de 0. Le test d'agostino conclut que le skewness est non significativement différent de 0. Le skewness 0 et le kurtosis 3.45

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la distribution des erreurs généralisées

3

4

6

8

9

*

2

5

7

1

10

11

12

13

14

15

Normal :Test Kupiec :uc.LRp

0.19094

0.31229

0.91815

0.41751

0.83691

0.68339

0.41751

0.11458

0.75712

0.26707

0.34874

0.31229

0.47741

0.83792

0.08905

Normal :Test Christoffersencc.LRp

0.04487

0.43503

0.87552

0.71803

0.97479

0.19725

0.67135

0.27114

0.32629

0.53885

0.58809

0.43503

0.73637

0.24159

0.23472

*

35

*

Modified :Test Kupiec :uc.LRp

1

0.26707

2

0.36244

3

0.91841

4

0.22668

5

0.75934

6

0.68339

7

0.26707

8

0.20920

9

0.75934

10

0.36244

11

0.34874

12

0.31229

13

0.41751

14

0.04636

15

0.03673

*

Modified :Test Christoffersen :cc.LRp

1

0.06744

2

0.45938

3

0.91534

4

0.46013

5

0.94461

6

0.19725

7

0.47398

8

0.40467

9

0.28571

10

0.66033

11

0.58809

12

0.43503

13

0.67135

14

0.09015

15

0.06647

Presque 100% des pv sont superieurs à 5%, par conséquent, les 2 VaR sont adaptées pour un skewness de 0 et un kurtosis de 3.5.

3.11 Skew Generalized Error Distribution

1ère simulation

36

> # Skew Generalized Error Distribution library(fGarch)

> library(fGarch)

> library(moments)

> n <- 10000

> rt <- rsged(n, mean = -0.002938, sd = 0.0394, nu = 2, xi = 0.9)

> skewness(rt)

[1] -0.1457625 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] 0.0618421 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.14578, z = -5.92490, p-value = 3.124e-09 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.0625, z = 1.2745, p-value = 0.2025

alternative hypothesis: kurtosis is not equal to 3

La pv du test d'agostino est inférieur à 5 %, par conséquent on rejete H0, le skewness est significativement différents de 0. Le test anscombe conclut que le kurtosis est non significativement différent de 0. Le skewness -0.16 et le kurtosis = 3

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la distribution des erreurs généralisées asymétriques

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0.13241

0.2763940

0.7593

2

0.75934

NaN

0.8369

3

0.02887

0.0907902

0.1090

4

0.67959

0.9021030

0.2505

5

0.31229

0.6000498

0.5342

6

0.13241

0.0822295

0.5419

7

0.01743

0.0588379

0.1324

8

0.01743

0.0571334

0.1090

9

0.01743

0.0479500

0.1909

10

1.00000

0.2915141

0.5342

11

0.01743

0.0003827

0.1324

12

0.83691

0.9747863

0.1730

13

0.02252

0.0640213

0.3123

14

0.01909

0.3546192

0.4774

15

0.41751

0.4791475

0.6796

37

*

 

Modified :Test Christoffersen :cc.LRp

1

0.9090

2

NaN

3

0.2661

4

0.5166

5

0.6227

6

0.3705

7

0.3119

8

0.2643

9

0.4195

10

0.3444

11

NaN

12

0.3926

13

0.5544

14

0.7364

15

0.6470

*

46.66% des pv pour la VaR Normale sont rejetées par le test de Kupiec 13.33% des pv pour la VaR Normale sont rejetées par le test de Christofferen 100% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Kupiec 100% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Christofferen

La VaR Cornish-Fisher semble être clairement préférable à la VaR Normale pour un skewness -0.16 et un kurtosis = 3

2ème simulation

> # Skew Generalized Error Distribution library(fGarch)

> library(fGarch)

> library(moments)

> n <- 10000

> rt <- rsged(n, mean = 0.003738, sd = 0.0394, nu = 2, xi = 2)

> skewness(rt)

[1] 0.7973526 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] 0.4471458 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.79747, z = 28.85500, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.4478, z = 7.5609, p-value = 4.003e-14 alternative hypothesis: kurtosis is not equal to 3

38

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejette H0, le skewness et le kurtosis sont significativement différents de 0. Le skewness 0.75 et le kurtosis 3.55

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la distribution des erreurs généralisées asymétriques

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0

0

4.410e-02

2

0

NaN

7.766e-04

3

0

NaN

1.302e-04

4

0

NaN

3.376e-02

5

0

NaN

9.866e-06

6

0

0

1.302e-04

7

0

NaN

9.177e-02

8

0

NaN

5.607e-06

9

0

NaN

7.392e-03

10

0

NaN

9.282e-07

11

0

NaN

7.392e-03

12

0

NaN

8.022e-05

13

0

NaN

3.276e-04

14

0

NaN

5.081e-04

15

0

NaN

6.548e-08

*

Modified :Test Christoffersen :cc.LRp

 

1

9.640e-02

2

2.092e-03

3

4.589e-04

4

9.498e-02

5

NaN

6

5.550e-04

7

2.336e-01

8

3.269e-05

9

2.740e-02

10

NaN

11

2.749e-02

12

4.192e-04

13

9.940e-04

14

1.439e-03

15

3.966e-07

*

Les pv pour la VaR Normale ne se calculent pas comme pour la loi Gumbel. Pour un skewness 0.75 et un kurtosis 3.55, les 2 VaR sont inadaptées.

3.12 loi de student

> library(fGarch)

> library(moments)

> n <- 10000

> rt <- rstd(n, mean = 0.0092, sd = 0.082, nu = 5)

> skewness(rt)

[1] 0.243294 attr(,"method") [1] "moment"

39

> kurtosis(rt)

[1] 4.139516 attr(,"method")

[1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.24333, z = 9.80010, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 7.1409, z = 30.7720, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0.

Le skewness 0.1 et le kurtosis 6.4.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student

40

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

1.000000e+00

0.9999993070

2

2.504947e-01

0.1793579156

3

4.676138e-01

0.3298292384

4

7.571159e-01

0.5386652562

5

4.410434e-02

NaN

6

7.270171e-02

0.0907666770

7

9.177323e-02

0.1580839485

8

2.547677e-03

0.0073797990

9

7.391808e-03

0.0217451061

10

6.107364e-01

0.6814610605

11

3.375989e-02

0.0161508478

12

2.504947e-01

0.0453391447

13

8.022049e-05

0.0004191948

14

4.676138e-01

0.7575316618

15

2.504947e-01

0.4497404128

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.610736438

0.854579824

2

0.837921301

0.715698826

3

0.417508931

0.503075896

4

0.001710569

0.002416166

5

0.534223440

0.104415492

6

0.141518610

0.334987140

7

0.759335345

0.509753085

8

0.010211763

0.034178557

9

0.025536586

0.048890659

10

0.017434833

0.032446909

11

0.296993220

0.107947774

12

0.362435425

0.248365514

13

0.054104342

0.121674339

14

0.918410198

0.863209472

15

0.250494735

0.449740413

*

93.33% des pv pour la VaR Normale sont rejetées par le test de Kupiec 33.33% des pv pour la VaR Normale sont rejetées par le test de Christofferen 26.66% des pv pour la VaR Cornish-Fisher sont rejetées par le test de Kupiec 26.66% des pv pour la VaR Cornish-Fisher sont rejetées par le test de Christofferen

La VaR Cornish-Fish semble être préférable à la VaR-Normale pour un skewness 0.1 et un kurtosis ' 6.4.

3.13 loi de student asymétrique

1ère simulation

> # Skew Generalized Error Distribution library(fGarch)

> library(fGarch)

> library(moments)

> n <- 10000

> rt <- rsstd(n, mean = -0.04, sd = 0.091, nu = 5, xi = 1.2)

> skewness(rt)

[1] 0.3285361 attr(,"method") [1] "moment"

41

> kurtosis(rt)

[1] 2.509977 attr(,"method")

[1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.32859, z = 13.08700, p-value < 2.2e-16 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 5.5111, z = 24.3750, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejete H0, le skewness et le kurtosis sont significativement différents de 0. Après plusieurs simulations les valeur du skewness et du kurtosis se montrent très volatiles. Néanmoins l'asymétrie est toujours positive et l'excès d'aplatisse-ment est toujours positif aussi. le skewness -0.7 et le kurtosis 8

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student asymétrique

42

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

9.866e-06

6.682e-06

2

3.682e-03

1.076e-02

3

2.554e-02

8.240e-02

4

1.302e-04

6.603e-04

5

9.866e-06

5.658e-05

6

2.906e-05

NaN

7

1.302e-04

4.507e-04

8

3.133e-06

1.852e-05

9

8.022e-05

3.408e-04

10

7.766e-04

NaN

11

8.022e-05

1.908e-04

12

1.027e-02

1.543e-02

13

1.707e-05

7.498e-05

14

1.720e-06

NaN

15

1.302e-04

4.507e-04

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

NA

NA

2

0.1339420

0.446812

3

0.0058018

0.009874

4

0.0003143

0.001058

5

0.4774108

0.771414

6

0.0463606

0.090152

7

0.0102118

0.003962

8

0.7571159

0.794707

9

0.0017106

0.007273

10

0.0077264

0.020730

11

0.5419292

0.502106

12

0.1596165

0.036005

13

0.3122905

0.554396

14

0.1909418

0.240453

15

0.0006328

0.052149

*

100% des pv pour la VaR Normale sont rejetées par le test de Kupiec 100% des pv pour la VaR Normale sont rejetées par le test de Christofferen

46.66% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Kupiec

53.33% des pv pour la VaR Cornish-Fisher ne sont pas rejetées par le test de Christofferen

La VaR Cornish-Fisher semble être clairement préférable à la VaR Normale pour un skewness -0.7

et un kurtosis 8. Néanmoins, elle n'est pas très fiable. Il faudrait faire une simulation d'un nombre
plus grande de 15.

2ème simulation

> library(moments)

> library(sn)

> n <- 10000

> # Skew-t Distribution library sn

> rt <- rst(n, xi=-0.098, omega=0.01, alpha=-0.0065, nu=Inf, dp=NULL)

> skewness(rt)

[1] -0.03463389 attr(,"method") [1] "moment"

> kurtosis(rt)

43

[1] -0.01726209 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.034639, z = -1.414800, p-value = 0.1571 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 2.98330, z = -0.30672, p-value = 0.7591 alternative hypothesis: kurtosis is not equal to 3

Les pv du test d'agostino et anscombe sont supérieurs à 5%, par conséquent on ne rejete pas H0, le skewness et le kurtosis sont non significativement différents de 0, la distribution semble être normale, cela doit être dans le choix des paramètres.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student asymétrique

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0.056951

0.04810

0.056951

2

0.348744

0.54048

0.250495

3

0.172955

0.35911

0.141519

4

0.007726

0.01055

0.004324

5

0.467614

0.72693

0.467614

6

0.541929

0.37048

0.610736

7

0.679586

0.90210

0.605067

8

0.312291

0.43503

0.417509

9

0.918410

0.99361

0.837921

10

0.918410

0.99361

0.683389

11

0.109007

0.21075

0.267071

12

0.837921

0.71570

0.918410

13

0.683389

0.90400

0.683389

14

0.141519

0.20476

0.141519

15

0.759335

0.49743

0.759335

44

*

Modified :Test Christoffersen :cc.LRp

1

0.048097

2

0.278717

3

0.314251

4

0.007194

5

0.726930

6

0.413574

7

0.850806

8

0.479147

9

0.974881

10

0.904005

11

0.473979

12

0.697976

13

0.904005

14

0.204763

15

0.497434

*

Presque 100% des pv sont supérieurs à 5%, par conséquent, les 2 VaR sont adaptés pour un skewness de 0 et un kurtosis de 3. Ce résultat était attendu.

3.14 Generalized Hyperbolic Student-t

> library(fBasics)

> library(moments)

> n <- 10000

> rt <- rght(n, beta = 0.1, delta = 0.504, mu = 0.0076, nu = 11)

> skewness(rt)

[1] 0.01745094 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] -0.05402677 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.017454, z = 0.713020, p-value = 0.4758 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 2.9466, z = -1.0853, p-value = 0.2778 alternative hypothesis: kurtosis is not equal to 3

L'hypothèse nulle n'est pas rejetée pour le test d'agostino et anscombe, le skewness et le kurtosis sont non significativement différent de 0.

45

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0.3487444

0.64292200

2

0.1145795

0.07191356

3

0.2504947

0.27217585

4

0.7593353

0.94461092

5

0.1415186

0.27052999

6

0.7593353

0.28571113

7

0.4676138

0.72693022

8

0.7593353

0.05628358

9

0.9184102

0.91533825

10

0.4676138

0.75753166

11

0.6107364

0.85457982

12

0.8379213

0.82873076

13

1.0000000

0.88803205

14

0.5419292

0.31292988

15

0.1596165

0.36422798

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.3487444

0.64292200

2

0.1145795

0.07191356

3

0.2504947

0.27217585

4

0.7593353

0.94461092

5

0.4056815

0.65835751

6

0.8379213

0.26996670

7

0.4676138

0.72693022

8

0.7593353

0.05628358

9

1.0000000

0.90103028

10

0.4676138

0.75753166

11

0.9184102

0.99361263

12

0.5419292

0.81875175

13

0.8379213

0.82873076

14

0.4175089

0.31169276

15

0.3624354

0.66032820

*

100% des pv sont supérieurs à 5%, par conséquent, les 2 VaR sont adaptés pour un skewness de 0 et un kurtosis de 3.

3.15 Standardized generalized hyperbolic Student-t Distribution

> library(fBasics)

> library(moments)

> n <- 10000

> rt <- rsght(n, beta = 0.1, delta = 1, mu = 0, nu = 10)

> skewness(rt)

[1] -0.01717149 attr(,"method") [1] "moment"

> kurtosis(rt)

46

[1] 0.03917319 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.017174, z = -0.701600, p-value = 0.4829 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 3.03980, z = 0.83379, p-value = 0.4044 alternative hypothesis: kurtosis is not equal to 3

L'hypothèse nulle n'est pas rejetée pour le test d'agostino et anscombe, le skewness et le kurtosis sont non significativement différent de 0.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

1

0.03376

NaN

2

0.53422

0.79176

3

0.75712

0.90345

4

0.68339

0.50015

5

1.00000

0.88803

6

0.47741

0.66975

7

0.60507

0.84600

8

0.67959

0.87654

9

0.75712

0.79471

10

0.05695

0.01238

11

0.31229

0.43503

12

0.67959

0.33252

13

0.75712

0.32629

14

0.83792

0.91801

15

0.91841

0.45119

*

Modified :Test Kupiec :uc.LRp

Modified :Test Christoffersen :cc.LRp

1

0.03376

NaN

2

0.60507

0.85081

3

0.67959

0.88248

4

0.68339

0.50015

5

0.54193

0.69600

6

0.47741

0.66975

7

0.29699

0.58031

8

0.60507

0.84600

9

0.75712

0.79471

10

0.05695

0.01238

11

0.41751

0.47915

12

0.53422

0.10442

13

0.67959

0.50483

14

0.83792

0.91801

15

1.00000

0.42460

47

*

Presque 100% des pv sont supérieurs à 5%, par conséquent, les 2 VaR sont adaptés pour un skewness de 0 et un kurtosis de 3.

3.16 loi triangulaire

> library(moments)

> library(triangle)

> n <- 10000

> rt <- rtriangle(n, -0.36, 0.42, 0)

> skewness(rt)

[1] 0.06179604 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] -0.6035392 attr(,"method") [1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = 0.061805, z = 2.522700, p-value = 0.01165 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 2.3969, z = -18.1040, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

La loi triangulaire a un coefficient d'aplatissement inférieur à celui de la loi normale, chose qui est très rare, voir impossible pour les distribution des actifs financiers. la loi triangulaire possède un skewness de 0.05 un kurtosis de 2.4, soit 0.8 de moins celui d'une loi normale.

Par ailleurs, la somme de 2 variables aléatoires qui suivent une loi uniforme sur un même intervalle est une distribution triangulaire.

Cette loi est étudiée dans ce rapport surtout le but de répondre à la question posée.

Les pv du test d'agostino et anscombe sont inférieurs à 5%, par conséquent on rejette H0, le skewness et le kurtosis sont significativement différents de 0.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student asymétrique

48

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0.5342

0.7918

0.6051

2

0.6834

0.7239

0.6834

3

0.3624

0.1777

0.3624

4

0.6834

0.2984

0.6107

5

0.6051

0.3359

0.6796

6

0.2505

0.5166

0.1730

7

0.2970

0.4930

0.4676

8

0.4293

0.4738

0.4341

9

0.4754

0.2847

0.8475

10

0.5952

0.4857

0.2114

11

0.2391

0.2834

0.5438

12

0.0918

0.0841

0.1138

13

0.1934

0.3129

0.4351

14

0.5493

0.4732

0.5421

15

0.3443

0.3482

0.4355

*

Modified :Test Christoffersen :cc.LRp

 

1

0.6838

2

0.7239

3

0.1777

4

0.3076

5

0.3325

6

0.3591

7

0.5992

8

0.5847

9

0.2721

10

0.4312

11

0.3743

12

0.2871

13

0.0926

14

0.2473

15

0.6417

*

100% des pv pour la VaR Normale et pour la VaR Cornish-Fisher ne sont pas rejetées. Donc pour un skewness de 0.05 et un kurtosis de 2.4, les 2 VaR sont adaptées.

3.17 loi uniforme

> library(moments)

> n <- 10000

> rt <- runif(n, -0.5393, 0.4323) > skewness(rt)

[1] -0.005763026 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] -1.215015 attr(,"method") [1] "excess"

> agostino.test(rt)

49

D?Agostino skewness test

data: rt

skew = -0.0057639, z = -0.2354800, p-value = 0.8138 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 1.7853, z = -100.0100, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

La loi uniforme comme pour la loi triangulaire a un coefficient d'aplatissement inférieur à celui de la loi normale. La loi uniforme possède un skewness de 0 un kurtosis de 1.8, soit 1.2 de moins celui d'une loi normale.

Cette loi est étudiée dans ce rapport surtout le but de répondre à la question posée.

La pv du test anscombe sont inférieurs à 5%, par conséquent on rejete H0, le kurtosis sont significativement différents de 0, par contre, le skewness est non significativement différent de 0.

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student asymétrique

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

3.133e-06

5.500e-06

8.263e-12

2

5.995e-15

NaN

0.000e+00

3

1.532e-09

1.184e-08

1.821e-14

4

1.707e-05

9.603e-05

3.384e-09

5

3.217e-08

1.937e-07

4.380e-13

6

4.866e-05

NaN

1.248e-10

7

3.217e-08

1.937e-07

5.995e-15

8

8.263e-12

3.933e-11

0.000e+00

9

4.919e-07

2.981e-06

4.380e-13

10

6.548e-08

NaN

3.184e-12

11

1.561e-13

NaN

0.000e+00

12

1.532e-09

1.038e-09

5.995e-15

13

4.919e-07

NaN

6.791e-10

14

1.307e-07

4.302e-07

4.380e-13

15

6.548e-08

NaN

1.561e-13

*

Modified :Test Christoffersen :cc.LRp

 

1

3.933e-11

2

NaN

3

1.602e-13

4

1.965e-08

5

NaN

6

NaN

7

NaN

8

NaN

9

NaN

10

NaN

11

NaN

12

1.932e-14

13

NaN

14

1.812e-12

15

NaN

50

*

100% des pv pour la VaR Normale et pour la VaR Cornish-Fisher sont rejetées. Pour un skewness de 0 et un kurtosis de 1.8, les 2 VaR sont inadaptées.

3.18 loi logistique

> library(moments)

> n <- 10000

> #### loi logistique kurtosis 4.2 et skew= -0.05

> rt <- rlogis(n, location = 0, scale = 0.004)

> skewness(rt)

[1] -0.01097887 attr(,"method") [1] "moment"

> kurtosis(rt)

[1] 1.262973 attr(,"method")

[1] "excess"

> agostino.test(rt)

D?Agostino skewness test

data: rt

skew = -0.010981, z = -0.448600, p-value = 0.6537 alternative hypothesis: data have a skewness

> anscombe.test(rt)

Anscombe-Glynn kurtosis test

data: rt

kurt = 4.2638, z = 16.3390, p-value < 2.2e-16 alternative hypothesis: kurtosis is not equal to 3

La pv du test d'agostino est supérieur à 5%, par conséquent on ne rejete pas H0.

La pv du test anscombe est inférieur à % donc on rejete H0. le kurtosis est significativement différent de 0.

Le skewness est de -0.05 et le kurtosis est de 4.2

Backtesting sur la VaR Normale et la VaR Cornish-Fisher par simulation Monte-Carlo sur la loi de student asymétrique

51

*

Normal :Test Kupiec :uc.LRp

Normal :Test Christoffersencc.LRp

Modified :Test Kupiec :uc.LRp

1

0.60507

0.63884

1.00000

2

0.60507

0.33586

0.68339

3

0.14152

0.20476

0.60507

4

0.91815

0.90220

1.00000

5

0.41751

0.67135

0.47741

6

0.17295

0.21485

0.29699

7

0.75712

0.89645

0.83691

8

0.25049

0.51661

0.46761

9

0.25049

0.44996

0.29699

10

0.75934

0.49743

0.47741

11

0.01027

0.01543

0.05695

12

0.15962

0.22820

0.02887

13

0.68339

0.90400

0.22668

14

0.67959

0.87654

0.91815

15

0.53422

0.78614

0.83792

*

Modified :Test Christoffersen :cc.LRp

 

1

0.59956

2

0.45627

3

0.85081

4

0.88803

5

0.73637

6

0.36912

7

0.97479

8

0.75753

9

0.51804

10

0.32801

11

0.04810

12

0.07719

13

0.41234

14

0.90220

15

0.90977

*

Presque 100% des pv sont supérieurs à 5%, par conséquent, les 2 VaR sont adaptés pour un skewness de 0 et un kurtosis de 4.2.

52

53

Conclusion

D'après toutes les simulations qui ont étéréalisées, il s'est avéréque : >Pour un skewness non significativement différent de 0 (i.e. = 0), et un kurtosis compris entre [3 : 4.2], la VaR Normale est adaptée.

Ce résultat a étédémontrédans toutes les simulations de lois qui respectent ces critères. Par ailleurs, dès que le skewness est différent de 0, la VaR Normale devient très sensible et semble inadaptée dans les simulations Monte-Carlo.

>La loi d'extremum généralisée semble échapée à cette règle, la 1 ère simulation de cette loi est sans doute biaisée. Il aurait fallu faire une simulation d'un nombre assez grand (>15) ou essayer de trouver d'autres alternatives.

>Pour un skewness 0.05 et un kurtosis 5.7, la VaR de Cornish-Fisher est préférable à la VaR Normale.

>Pour un skewness -1.3 et un kurtosis 5, la VaR de Cornish-Fisher est préférable à la VaR
Normale.

>Pour un skewness 0.5 et un kurtosis 3.2, la VaR de Cornish-Fisher est préférable à la VaR Normale.

>Pour un skewness -0.16 et un kurtosis 3, la VaR de Cornish-Fisher est préférable à la VaR Normale.

>Pour un skewness 0.1 et un kurtosis 6.4, la VaR de Cornish-Fisher est préférable à la VaR Normale.

>Pour un skewness -0.04 et un kurtosis 3.14, la VaR de Cornish-Fisher est préférable à la VaR Normale.

>Etant donnéque c'est des simulations Monte-Carlo, il aurait étémieux de faire 99 simulations mais celàprendrait beaucoup de temps et il faudrait des machines très performantes pour mettre celàen oeuvre.

54

55

Bibliographie

[1] Hurlin C. et Tokpavi S. (2008), Une Evaluation des Procédures de Backtesting : Tout va pour le Mieux dans le Meilleur des Mondes», Finance, vol 29.

[2] Méthodes de Monte-Carlo avec R, Livre de Christian Robert et George Casella

[3] www.cairn.info/revue-economique-2007-3-page-599.htm

[4] Les méthodes du bootstrap dans les modèles de régression, Emmanuel Flachaire

[5] Approximation de Cornish-Fisher, wikipedia

[6] www.ressources-actuarielles.net/

[7] Christophe Hurlin, Site Value-at-Risk

for(k in 1:N) {

ANNEXE

Code R

# load libraries library(PerformanceAnalytics) library(quantmod) library(rugarch) library(car)

library(FinTS)

library(GeneralizedHyperbolic) library(sn)

library(evd)

library(fGarch) library(triangle) library(fBasics) library(moments)

n<-10000 #nombre d'observation N<- 2 #nombre de simulation

rt <- rnorm(n,0.01/252,0.05)

plot(rt, type = "l", col = "steelblue")

skewness(rt)

kurtosis(rt)

agostino.test(rt) anscombe.test(rt)

#Matrice de simulation Monte-Carlo

sortie<- data.frame(matrix(rep(0,4*N),N,4))

colnames(sortie) = c("Normal:Test Kupiec:uc.LRp","Normal:Test Christoffersencc.LRp", "Modified:Test Kupiec:uc.LRp", "Modified:Test Christoffersen:cc.LRp")

########################################################################################

#### Entrer la loi ####

########################################################################################

rt <-rskewlap(n, mu = 0.0000321, alpha = 1/23, beta = 1/22) options(digits=4)

# convertir la simulation en time series (pour l'adapter au backtesting) x.Date <- as.Date("2003-02-01") + c(1:10000)

ret <- zoo(rt, x.Date)

# backtesting unconditional VaR models # normal VaR, HS and modified HS #

# set up estimation window and testing window

n.obs = length(ret)

w.e = 8000

w.t = n.obs - w.e

alpha = 0.95

# loop over testing sample, compute VaR and record hit rates backTestVaR <- function(x, p = 0.95) {

normal.VaR = as.numeric(VaR(x, p=0.95, method="gaussian")) modified.VaR = as.numeric(VaR(x, p=0.95, method="modified")) ans = c(normal.VaR, modified.VaR)

names(ans) = c("Normal", "Modified")

return(ans)

}

# rolling 1-step ahead estimates of VaR

VaR.results = rollapply(as.zoo(ret), width=w.e,

FUN = backTestVaR, p=0.95, by.column = FALSE,

align = "right")

VaR.results = lag(VaR.results, k=-1)

chart.TimeSeries(merge(ret, VaR.results), legend.loc="topright")

violations.mat = matrix(0, 2, 5)

rownames(violations.mat) = c("Normal", "Modified")

colnames(violations.mat) = c("En1", "n1", "1-alpha", "Percent", "VR")

violations.mat[, "En1"] = (1-alpha)*w.t violations.mat[, "1-alpha"] = 1 - alpha

# Show Normal VaR violations

normalVaR.violations = as.zoo(ret[index(VaR.results), ]) < VaR.results[, "Normal"] violation.dates.normal = index(normalVaR.violations[which(normalVaR.violations)])

# plot violations

plot(as.zoo(ret[index(VaR.results),]), col="blue", ylab="Return",main="Violations normal VaR")

} sortie

abline(h=0)

lines(VaR.results[, "Normal"], col="black", lwd=2)

lines(as.zoo(ret[violation.dates.normal,]), type="p", pch=16, col="red", lwd=2)

for(i in colnames(VaR.results)) {

VaR.violations = as.zoo(ret[index(VaR.results), ]) < VaR.results[, i] violations.mat[i, "n1"] = sum(VaR.violations)

violations.mat[i, "Percent"] = sum(VaR.violations)/w.t

violations.mat[i, "VR"] = violations.mat[i, "n1"]/violations.mat[i, "En1"]

}

violations.mat

VaR.test1 = VaRTest(1-alpha,

actual=coredata(ret[index(VaR.results),]), VaR=coredata(VaR.results[,"Normal"])) names(VaR.test1)

# LR test for correct number of exceedances VaR.test1[1:7]

# LR tests for independence of exceedances VaR.test1[8:12]

# Show modified VaR violations

modifiedVaR.violations = as.zoo(ret[index(VaR.results), ]) < VaR.results[, "Modified"] violation.dates.modified = index(modifiedVaR.violations[which(modifiedVaR.violations)])

# plot violations

plot(as.zoo(ret[index(VaR.results),]), col="blue", ylab="Return",main="Violations modified VaR")

abline(h=0)

lines(VaR.results[, "Modified"], col="black", lwd=2)

lines(as.zoo(ret[violation.dates.modified,]), type="p", pch=16, col="red", lwd=2)

VaR.test2 = VaRTest(1-alpha,

actual=coredata(ret[index(VaR.results),]), VaR=coredata(VaR.results[,"Modified"])) names(VaR.test2)

# LR test for correct number of exceedances for modified VaR

VaR.test2[1:7]

# LR tests for independence of exceedances for modified VaR VaR.test2[8:12]

sortie[k,1]=VaR.test1[6] sortie[k,2]=VaR.test1[11] sortie[k,3]=VaR.test2[6] sortie[k,4]=VaR.test2[11]






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rĂªvent de jour ont conscience de bien des choses qui échappent à ceux qui rĂªvent de nuit"   Edgar Allan Poe