10 votos

¿Curtosis gigantesca?

Estoy haciendo algunas estadísticas descriptivas de los rendimientos diarios de los índices bursátiles. Es decir, si $P_1$ y $P_2$ son los niveles del índice el día 1 y el día 2, respectivamente, entonces $log_e (\frac{P_2}{P_1})$ es el retorno que estoy utilizando (completamente estándar en la literatura).

Así que la curtosis es enorme en algunos de estos. Estoy mirando a unos 15 años de datos diarios (por lo que alrededor de $260 * 15$ observaciones de series temporales)

                      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

Mi pregunta es: ¿Hay algún problema?

Quiero hacer un amplio análisis de series temporales sobre estos datos: análisis de regresión OLS y Quantile, y también de causalidad de Granger.

Tanto mi respuesta (dependiente) como mi predictor (regresor) tendrán esta propiedad de curtosis gigantesca. Así que voy a tener estos procesos de retorno en ambos lados de la ecuación de regresión. Si la no normalidad se extiende a las perturbaciones que sólo hará que mis errores estándar de alta varianza derecho?

(¿Quizás necesite un bootstrap robusto a la asimetría?)

2voto

georgiana Puntos 6

Echa un vistazo a cola pesada Lambert W x F o Lambert sesgado W x F distribuciones un intento (descargo de responsabilidad: soy el autor). En R se implementan en el LambertW paquete.

Puestos relacionados:

Una ventaja sobre la distribución Cauchy o student-t con grados de libertad fijos es que los parámetros de la cola se pueden estimar a partir de los datos, por lo que se puede dejar que los datos decidan qué momentos existen. Además, el marco Lambert W x F permite transformar los datos y eliminar la asimetría y las colas pesadas. Sin embargo, es importante tener en cuenta que OLS no requiere la normalidad de $y$ o $X$ . Sin embargo, para su EDA podría valer la pena.

He aquí un ejemplo de las estimaciones Lambert W x Gaussian aplicadas a los rendimientos de los fondos de renta variable.

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

Time series plot equity funds

Las métricas resumidas de los rendimientos son similares (no tan extremas) como en el post de 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 mayoría de las series muestran características claramente no normales (fuerte asimetría y/o gran curtosis). Vamos a gaussianizar cada serie utilizando una distribución de cola pesada Lambert W x Gaussiana (= h de Tukey) utilizando un estimador de métodos de momentos estimador ( IGMM ).

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

plot(ts(ret.gauss))

time series plot of Gaussianized returns

Los gráficos de las series temporales muestran muchas menos colas y también una variación más estable en el tiempo (aunque no constante). El cálculo de las métricas de nuevo en la serie temporal gaussianizada da como resultado:

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

Le site IGMM El algoritmo consiguió exactamente lo que se proponía: transformar los datos para que la curtosis fuera igual a $3$ . Curiosamente, todas las series temporales tienen ahora una asimetría negativa, lo que coincide con la mayor parte de la literatura sobre series temporales financieras. Es importante señalar aquí que Gaussianize() opera sólo marginalmente, no conjuntamente (análogamente a scale() ).

Regresión bivariada simple

Para considerar el efecto de la gaussianización en OLS, considere la predicción de la rentabilidad de "EASTEU" a partir de la rentabilidad de "INDIA" y viceversa. Aunque estemos considerando los rendimientos del mismo día entre $r_{EASTEU, t}$ en $r_{INDIA,t}$ (sin variables retardadas), sigue siendo valioso para una predicción bursátil dada la diferencia horaria de más de 6 horas entre la India y Europa.

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

scatterplot INDIA and EASTEU

El gráfico de dispersión de la izquierda de la serie original muestra que los valores atípicos fuertes no se produjeron en los mismos días, sino en momentos diferentes en la India y en Europa; aparte de eso, no está claro si la nube de datos del centro admite la no correlación o la dependencia negativa/positiva. Dado que los valores atípicos afectan en gran medida a las estimaciones de la varianza y la correlación, merece la pena observar la dependencia con las colas pesadas eliminadas (gráfico de dispersión de la derecha). Aquí los patrones son mucho más claros y la relación positiva entre la India y el mercado de Europa del Este se hace evidente.

# 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)

Causalidad de Granger

Una prueba de causalidad de Granger basada en un $VAR(5)$ modelo (yo utilizo $p = 5$ para captar el efecto semanal de las operaciones diarias) para "EASTEU" e "INDIA" rechaza la "no causalidad de Granger" para cualquier dirección.

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

Sin embargo, para los datos gaussianizados la respuesta es diferente. Aquí la prueba puede no rechazar H0 que "INDIA hace no Granger-cause EASTEU", pero sigue rechazando que "EASTEU no Granger-cause INDIA". Así pues, los datos gaussianizados apoyan la hipótesis de que los mercados europeos impulsan los mercados de la India al día siguiente.

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

Tenga en cuenta que no me queda claro cuál es el a la derecha respuesta (si es que la hay), pero es una observación interesante. No hace falta decir que toda esta prueba de causalidad está supeditada a la $VAR(5)$ siendo el modelo correcto - lo que probablemente no es; pero creo que sirve bien para ilustrar.

1voto

Hoogendijk Puntos 45

Lo que se necesita es un modelo de distribución de probabilidad que se ajuste mejor a los datos. A veces, no hay momentos definidos. Una de estas distribuciones es la de Cauchy. Aunque la distribución de Cauchy tiene una mediana como valor esperado, no hay un valor medio estable ni momentos superiores estables. Esto significa que, cuando se recogen datos, aparecen medidas reales que parecen valores atípicos, pero que son medidas reales. Por ejemplo, si tenemos dos distribuciones normales F y G, con media cero, y dividimos F/G, el resultado no tendrá primer momento y será una distribución de Cauchy. Así que recogemos alegremente los datos, y parece que están bien como 5,3,9,6,2,4 y calculamos una media que parece estable, entonces, de repente obtenemos un valor de -32739876 y nuestro valor medio se convierte en un sin sentido, pero nota, la mediana es 4, estable. Así es con las distribuciones de cola larga. Encuentra una distribución de cola larga más correcta para tus datos, y utiliza las medidas estadísticas que implica esa distribución, y tu problema desaparecerá.

Edición: Puede probar la distribución t de Student con 2 grados de libertad. Esa distribución tiene colas más largas que la distribución normal, la asimetría y la curtosis son inestables ( Sic no existen), pero la media y la varianza están definidas, es decir, son estables.

Siguiente edición: Una posibilidad podría ser utilizar la regresión de Theil. De todos modos, es una idea, porque Theil funcionará bien sin importar cómo sean las colas. Theil se puede hacer MLR (regresión lineal múltiple utilizando las pendientes de la mediana). Nunca he hecho Theil para el ajuste de datos de histogramas. Pero, he hecho Theil con una variante jackknife para establecer intervalos de confianza. La ventaja de hacer eso es que Theil no se preocupa de las formas de distribución, y, las respuestas son generalmente menos sesgadas que con OLS porque típicamente OLS se utiliza cuando hay una varianza de eje independiente problemática. No es que Theil no tenga ningún sesgo, es la mediana de la pendiente. Las respuestas tienen un significado diferente también, encuentra una mejor concordancia entre las variables dependientes e independientes donde OLS encuentra el predictor de menor error de la variable dependiente, lo cual no siempre es la pregunta a la que queremos una respuesta.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X