Curtosi gigantesca?


10

Sto facendo alcune statistiche descrittive dei rendimenti giornalieri degli indici azionari. Vale a dire se e P 2 sono i livelli dell'indice rispettivamente il giorno 1 e il giorno 2, quindi l o g e ( P 2P1P2è il ritorno che sto usando (completamente standard in letteratura).loge(P2P1)

Quindi la curtosi è enorme in alcuni di questi. Sto osservando circa 15 anni di dati giornalieri (quindi circa osservazioni di serie storiche)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

La mia domanda è: c'è qualche problema?

Voglio fare un'analisi approfondita delle serie storiche su questi dati: analisi di regressione quantistica e OLS e anche Causality di Granger.

Sia la mia risposta (dipendente) sia il mio predittore (regressore) avranno questa proprietà di gigantesca curtosi. Quindi avrò questi processi di ritorno su entrambi i lati dell'equazione di regressione. Se la non normalità si riversa nei disturbi che renderanno solo i miei errori standard varianza elevata, giusto?

(Forse ho bisogno di un robusto bootstrap per l'asimmetria?)


3
1) Potresti voler spostare questo sul sito quant.stackexchange.com. 2) Cosa intendi per problema? C'è un'intera letteratura sull'impatto dei valori anomali sui momenti. Spesso può essere più un'arte che una scienza.
Giovanni,

2
"C'è qualche problema?" è troppo vago. Cosa vuoi fare con questi dati? Le tue enormi curtosi sono associate a un'enorme inclinazione a sinistra. Poiché log (p2 / p1) = log p2 - log p1, un'enorme inclinazione a sinistra indica che ci sono state alcune volte in cui questa era molto bassa, cioè p1 molto più alta di p2, rispetto al solito caso. Potrebbe essere una società in bancarotta o qualcosa del genere.
Peter Flom

Mi dispiace per questo - ho modificato il mio PO.

1
i ritorni di registro sono generalmente inclinati e dalla coda pesante. Per questo motivo è preferibile considerare distribuzioni flessibili in grado di acquisire questo comportamento. Vedi per esempio 1 e 2 .

Dovresti dare un'occhiata alle misure di kutosi basate sui momenti L
kjetil b halvorsen,

Risposte:


2

Dai un'occhiata alle distribuzioni Lambert W x F della coda pesante o alle distribuzioni inclinate di Lambert W x F (dichiarazione di non responsabilità: sono l'autore). In R sono implementati nel pacchetto LambertW .

Articoli correlati:

yX

Ecco un esempio delle stime di Lambert W x Gaussian applicate ai rendimenti dei fondi azionari.

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

Fondi azionari del grafico delle serie storiche

Le metriche di riepilogo dei resi sono simili (non così estreme) come nel post di 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 maggior parte delle serie mostra caratteristiche chiaramente non normali (forte asimmetria e / o grande curtosi). Let's Gaussianize ogni serie usando una distribuzione di Lambert W x Gaussian dalla coda pesante (= Tukey's h) usando un metodo di stimatore dei momenti ( IGMM).

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

plot(ts(ret.gauss))

grafico di serie storiche dei ritorni gaussianizzati

I grafici delle serie temporali mostrano molte meno code e anche variazioni più stabili nel tempo (non costante però). Il calcolo di nuovo delle metriche sulle serie temporali gaussianizzate produce:

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

Regressione bivariata semplice

rEASTEU,trINDIA,t

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

scatterplot INDIA ed EASTEU

Lo scatterplot sinistro della serie originale mostra che i forti outlier non si sono verificati negli stessi giorni, ma in tempi diversi in India ed Europa; diverso da quello non è chiaro se il cloud di dati nel centro non supporta alcuna correlazione o dipendenza negativa / positiva. Poiché i valori anomali influenzano fortemente le stime di varianza e correlazione, vale la pena esaminare la dipendenza rimuovendo le code pesanti (diagramma a dispersione a destra). Qui i modelli sono molto più chiari e diventa evidente la relazione positiva tra India e mercato dell'Europa orientale.

# 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à di Granger

VAR(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

Tuttavia, per i dati gaussianizzati la risposta è diversa! Qui il test può non rifiutare H0 che "l'India non non Granger-causa EASTEU", ma ancora rifiuta che "non si EASTEU Granger-causa INDIA". Quindi i dati gaussianizzati supportano l'ipotesi che i mercati europei guidino i mercati in India il giorno seguente.

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

VAR(5)


1

È necessario un modello di distribuzione delle probabilità che si adatti meglio ai dati. A volte, non ci sono momenti definiti. Una di queste distribuzioni è la distribuzione di Cauchy. Sebbene la distribuzione di Cauchy abbia una mediana come valore atteso, non esiste un valore medio stabile e nessun momento superiore stabile. Ciò significa che quando si raccolgono dati, vengono visualizzate le misurazioni effettive che sembrano valori anomali, ma sono misurazioni effettive. Ad esempio, se uno ha due distribuzioni normali F e G, con zero medio e uno divide F / G, il risultato non avrà un primo momento ed è una distribuzione di Cauchy. Quindi raccogliamo felicemente i dati, e sembra OK 5,3,9,6,2,4 e calcoliamo una media che sembra stabile, quindi all'improvviso otteniamo un valore -32739876 e il nostro valore medio diventa insignificante, ma nota, la mediana è 4, stabile. Tale è con le distribuzioni dalla coda lunga.

Modifica: potresti provare la distribuzione t di Student con 2 gradi di libertà. Quella distribuzione ha code più lunghe rispetto alla distribuzione normale, l'asimmetria e la curtosi sono instabili ( Sic , non esistono), ma la media e la varianza sono definite, cioè sono stabili.

Prossima modifica: una possibilità potrebbe essere quella di utilizzare la regressione di Theil. Ad ogni modo, è un pensiero, perché Theil funzionerà bene, indipendentemente dall'aspetto delle code. Si può fare MLR (regressione lineare multipla usando pendenze mediane). Non ho mai fatto Theil per il montaggio dei dati dell'istogramma. Ma ho fatto Theil con una variante di coltello a serramanico per stabilire intervalli di confidenza. Il vantaggio di farlo è che a Theil non importa quali siano le forme di distribuzione e, in genere, le risposte sono meno distorte rispetto a OLS perché in genere OLS viene utilizzato in caso di varianza problematica dell'asse indipendente. Non che Theil sia totalmente privo di difetti, è una pendenza mediana. Le risposte hanno anche un significato diverso, trova un migliore accordo tra le variabili dipendenti e indipendenti in cui OLS trova il minimo predittore di errore della variabile dipendente,


2
Belle informazioni, grazie. Conosci alcune risorse (abbastanza compatte) da leggere più lontano? Ho un problema completamente diverso con la coda lunga, ma penso che i miei dati siano solo una distribuzione mista di diversi scenari.
flaschenpost,

Uso Mathematica e non è difficile adattare le distribuzioni così come definire le distribuzioni a livello di pezzo in quella lingua. Ad esempio, guarda questo . In generale, le variabili casuali si aggiungono per convoluzione, ma in pratica la convoluzione delle funzioni di densità è una sfida. Alcune persone definiscono semplicemente le funzioni di densità per le variabili mescolate, ad esempio aggiungendo una coda esponenziale leggera a una distribuzione gamma più pesante censurata dopo un valore massimo per modellare la frequenza del terremoto. @flaschenpost
Carl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.