Kurtosis gigantesque?

10

Je fais des statistiques descriptives des rendements quotidiens des indices boursiers. Autrement dit, si et sont les niveaux de l'indice au jour 1 et au jour 2, respectivement, alors est le retour que j'utilise (tout à fait standard dans la littérature).P 2 l o g e ( P 2P1P2loge(P2P1)

Donc, le kurtosis est énorme dans certains d'entre eux. Je regarde environ 15 ans de données quotidiennes (donc environ observations de séries chronologiques)26015

                      means     sds     mins    maxs     skews     kurts
ARGENTINA          -0.00031 0.00965 -0.33647 0.13976 -15.17454 499.20532
AUSTRIA             0.00003 0.00640 -0.03845 0.04621   0.19614   2.36104
CZECH.REPUBLIC      0.00008 0.00800 -0.08289 0.05236  -0.16920   5.73205
FINLAND             0.00005 0.00639 -0.03845 0.04622   0.19038   2.37008
HUNGARY            -0.00019 0.00880 -0.06301 0.05208  -0.10580   4.20463
IRELAND             0.00003 0.00641 -0.03842 0.04621   0.18937   2.35043
ROMANIA            -0.00041 0.00789 -0.14877 0.09353  -1.73314  44.87401
SWEDEN              0.00004 0.00766 -0.03552 0.05537   0.22299   3.52373
UNITED.KINGDOM      0.00001 0.00587 -0.03918 0.04473  -0.03052   4.23236
                   -0.00007 0.00745 -0.09124 0.06405  -1.82381  63.20596
AUSTRALIA           0.00009 0.00861 -0.08831 0.06702  -0.74937  11.80784
CHINA              -0.00002 0.00072 -0.40623 0.02031   6.26896 175.49667
HONG.KONG           0.00000 0.00031 -0.00237 0.00627   2.73415  56.18331
INDIA              -0.00011 0.00336 -0.03613 0.03063  -0.22301  10.12893
INDONESIA          -0.00031 0.01672 -0.24295 0.19268  -2.09577  54.57710
JAPAN               0.00008 0.00709 -0.03563 0.06591   0.57126   5.16182
MALAYSIA           -0.00003 0.00861 -0.35694 0.13379 -16.48773 809.07665

Ma question est: y a-t-il un problème?

Je veux faire une analyse approfondie des séries chronologiques sur ces données - analyse de régression OLS et quantile, et aussi causalité de Granger.

Ma réponse (dépendante) et mon prédicteur (régresseur) auront tous deux cette propriété de kurtosis gigantesque. Je vais donc avoir ces processus de retour de chaque côté de l'équation de régression. Si la non-normalité déborde sur les perturbations, cela ne fera que rendre mes erreurs standard très variées, non?

(Peut-être que j'ai besoin d'un bootstrap robuste d'asymétrie?)


la source
3
1) Vous souhaiterez peut-être le déplacer vers le site quant.stackexchange.com. 2) Qu'entendez-vous par problème? Il existe toute une littérature sur l'impact des valeurs aberrantes sur les moments. Il peut souvent s'agir plus d'un art que d'une science.
John
2
"Y a-t-il un problème?" est trop vague. Que voulez-vous faire avec ces données? Vos énormes kurtoses sont associés à un énorme biais gauche. Étant donné que log (p2 / p1) = log p2 - log p1, un énorme décalage vers la gauche indique qu'il y a eu quelques fois où cela était très faible, c'est-à-dire p1 beaucoup plus élevé que p2, par rapport au cas habituel. Cela pourrait être une entreprise en faillite ou quelque chose comme ça.
Peter Flom - Réintègre Monica
Désolé, j'ai modifié mon OP.
1
les retours de grumes sont généralement asymétriques et à queue lourde. Pour ces raisons, il est préférable d'envisager des distributions flexibles qui peuvent capturer ce comportement. Voir par exemple 1 et 2 .
Vous devriez jeter un œil aux mesures de la kutose basées sur les moments L
kjetil b halvorsen

Réponses:

2

Jetez un coup d'œil aux distributions Lambert W x F à queue lourde ou aux distributions Lambert W x F asymétriques (avis de non-responsabilité: je suis l'auteur). Dans R, ils sont implémentés dans le package LambertW .

Articles Similaires:

yX

Voici un exemple d'estimations gaussiennes Lambert W x appliquées aux rendements des fonds d'actions.

library(fEcofin)
ret <- ts(equityFunds[, -1] * 100)
plot(ret)

Fonds d'actions de parcelles chronologiques

Les mesures récapitulatives des retours sont similaires (pas aussi extrêmes) que dans la publication d'OP.

data_metrics <- function(x) {
  c(mean = mean(x), sd = sd(x), min = min(x), max = max(x), 
    skewness = skewness(x), kurtosis = kurtosis(x))
}
ret.metrics <- t(apply(ret, 2, data_metrics))
ret.metrics

##          mean    sd    min   max skewness kurtosis
## EASTEU 0.1300 1.538 -18.42 12.38   -1.855    28.95
## LATAM  0.1206 1.468  -6.06  5.66   -0.434     4.21
## CHINA  0.0864 0.911  -4.71  4.27   -0.322     5.42
## INDIA  0.1515 1.502 -12.72 14.05   -0.505    15.22
## ENERGY 0.0997 1.187  -5.00  5.02   -0.271     4.48
## MINING 0.1315 1.394  -7.72  5.69   -0.692     5.64
## GOLD   0.1098 1.855 -10.14  6.99   -0.350     5.11
## WATER  0.0628 0.748  -5.07  3.72   -0.405     6.08

La plupart des séries présentent des caractéristiques clairement non normales (forte asymétrie et / ou kurtosis important). Faisons gaussianiser chaque série en utilisant une distribution gaussienne Lambert W x à queue lourde (= h de Tukey) en utilisant une méthode d'estimateur de moments ( IGMM).

library(LambertW)
ret.gauss <- Gaussianize(ret, type = "h", method = "IGMM")
colnames(ret.gauss) <- gsub(".X", "", colnames(ret.gauss))

plot(ts(ret.gauss))

tracé chronologique des rendements gaussianisés

Les graphiques des séries chronologiques montrent beaucoup moins de queues et aussi une variation plus stable dans le temps (pas constante cependant). Le nouveau calcul des métriques sur la série chronologique gaussianisée donne:

ret.gauss.metrics <- t(apply(ret.gauss, 2, data_metrics))
ret.gauss.metrics

##          mean    sd   min  max skewness kurtosis
## EASTEU 0.1663 0.962 -3.50 3.46   -0.193        3
## LATAM  0.1371 1.279 -3.91 3.93   -0.253        3
## CHINA  0.0933 0.734 -2.32 2.36   -0.102        3
## INDIA  0.1819 1.002 -3.35 3.78   -0.193        3
## ENERGY 0.1088 1.006 -3.03 3.18   -0.144        3
## MINING 0.1610 1.109 -3.55 3.34   -0.298        3
## GOLD   0.1241 1.537 -5.15 4.48   -0.123        3
## WATER  0.0704 0.607 -2.17 2.02   -0.157        3

IGMM3Gaussianize()scale()

Régression bivariée simple

rEUNESTEU,trjeNjeUNE,t

layout(matrix(1:2, ncol = 2, byrow = TRUE))
plot(ret[, "INDIA"], ret[, "EASTEU"])
grid()
plot(ret.gauss[, "INDIA"], ret.gauss[, "EASTEU"])
grid()

nuage de points INDE et EASTEU

Le diagramme de dispersion de gauche de la série originale montre que les valeurs aberrantes fortes ne se sont pas produites aux mêmes jours, mais à des moments différents en Inde et en Europe; à part cela, il n'est pas clair si le nuage de données au centre ne prend en charge aucune corrélation ou dépendance négative / positive. Étant donné que les valeurs aberrantes affectent fortement les estimations de variance et de corrélation, il vaut la peine d'examiner la dépendance avec les queues lourdes supprimées (nuage de points de droite). Ici, les tendances sont beaucoup plus claires et la relation positive entre l'Inde et le marché de l'Europe de l'Est devient apparente.

# try these models on your own
mod <- lm(EASTEU ~ INDIA * CHINA, data = ret)
mod.robust <- rlm(EASTEU ~ INDIA, data = ret)
mod.gauss <- lm(EASTEU ~ INDIA, data = ret.gauss)

summary(mod)
summary(mod.robust)
summary(mod.gauss)

Causalité de Granger

VUNER(5)p=5

library(vars)  
mod.vars <- vars::VAR(ret[, c("EASTEU", "INDIA")], p = 5)
causality(mod.vars, "INDIA")$Granger


## 
##  Granger causality H0: INDIA do not Granger-cause EASTEU
## 
## data:  VAR object mod.vars
## F-Test = 3, df1 = 5, df2 = 3000, p-value = 0.02

causality(mod.vars, "EASTEU")$Granger
## 
##  Granger causality H0: EASTEU do not Granger-cause INDIA
## 
## data:  VAR object mod.vars
## F-Test = 4, df1 = 5, df2 = 3000, p-value = 0.003

Cependant, pour les données gaussianisées, la réponse est différente! Ici, le test ne peut pas rejeter H0 que "L'INDE ne cause pas Granger EASTEU", mais rejette toujours que "EASTEU ne cause pas Granger INDIA". Les données gaussianisées soutiennent donc l'hypothèse selon laquelle les marchés européens stimulent les marchés indiens le lendemain.

mod.vars.gauss <- vars::VAR(ret.gauss[, c("EASTEU", "INDIA")], p = 5)
causality(mod.vars.gauss, "INDIA")$Granger

## 
##  Granger causality H0: INDIA do not Granger-cause EASTEU
## 
## data:  VAR object mod.vars.gauss
## F-Test = 0.8, df1 = 5, df2 = 3000, p-value = 0.5

causality(mod.vars.gauss, "EASTEU")$Granger

## 
##  Granger causality H0: EASTEU do not Granger-cause INDIA
## 
## data:  VAR object mod.vars.gauss
## F-Test = 2, df1 = 5, df2 = 3000, p-value = 0.06

VUNER(5)

Georg M. Goerg
la source
1

Ce qu'il faut, c'est un modèle de distribution de probabilité qui corresponde mieux aux données. Parfois, il n'y a pas de moments définis. Une telle distribution est la distribution de Cauchy. Bien que la distribution de Cauchy ait une médiane comme valeur attendue, il n'y a pas de valeur moyenne stable ni de moments supérieurs stables. Cela signifie que lorsque l'on recueille des données, des mesures réelles apparaissent qui ressemblent à des valeurs aberrantes, mais sont des mesures réelles. Par exemple, si l'on a deux distributions normales F et G, avec zéro moyen, et qu'on divise F / G, le résultat n'aura pas de premier instant et sera une distribution de Cauchy. Nous collectons donc volontiers des données, cela ressemble à 5,3,9,6,2,4 et nous calculons une moyenne qui semble stable, puis, tout à coup, nous obtenons une valeur de -32739876 et notre valeur moyenne perd tout son sens, mais notez que la médiane est 4, stable. Il en est ainsi des distributions à longue queue.

Edit: Vous pouvez essayer la distribution t de Student avec 2 degrés de liberté. Cette distribution a des queues plus longues que la distribution normale, l'asymétrie et le kurtosis sont instables ( Sic , n'existent pas), mais la moyenne et la variance sont définies, c'est-à-dire sont stables.

Prochaine édition: Une possibilité pourrait être d'utiliser la régression de Theil. Quoi qu'il en soit, c'est une pensée, car Theil fonctionnera bien, peu importe à quoi ressemblent les queues. On peut faire le MLR (régression linéaire multiple en utilisant des pentes médianes). Je n'ai jamais fait Theil pour l'ajustement des données d'histogramme. Mais, j'ai fait Theil avec une variante jackknife pour établir des intervalles de confiance. L'avantage de faire cela est que Theil ne se soucie pas des formes de distribution et que les réponses sont généralement moins biaisées qu'avec OLS car typiquement OLS est utilisé quand il y a une variance d'axe indépendante problématique. Non pas que Theil soit totalement non surélevé, c'est la pente médiane. Les réponses ont également une signification différente, elles trouvent un meilleur accord entre les variables dépendantes et indépendantes où OLS trouve le moins prédicteur d'erreur de la variable dépendante,

Carl
la source
2
Belle info, merci. Connaissez-vous des ressources (assez compactes) à lire davantage? J'ai un problème complètement différent avec la longue queue, mais je pense que mes données ne sont qu'une distribution mixte de différents scénarios.
flaschenpost
J'utilise Mathematica, et l'ajustement des distributions ainsi que la définition des distributions par morceaux n'est pas difficile dans ce langage. Par exemple, regardez ceci . En général, les variables aléatoires s'ajoutent par convolution, mais dans la pratique, la convolution des fonctions de densité est difficile. Certaines personnes définissent simplement les fonctions de densité pour les variables mélangées, par exemple en ajoutant une queue exponentielle légère à une distribution gamma plus lourde censurée après une valeur maximale pour modéliser la fréquence des tremblements de terre. @flaschenpost
Carl