Погляньте на важкі хвости Lambert W x F або перекошені розподіли Lambert W x F, спробуйте (відмова: я автор). У R вони реалізовані в пакеті LambertW .
Схожі повідомлення:
Одна перевага перед розподілом Коші або студента-t з фіксованим ступенем свободи полягає в тому, що хвостові параметри можна оцінити за даними - так ви можете дозволити даним визначати, які моменти існують. Крім того, рамка Lambert W x F дозволяє трансформувати ваші дані та видаляти косості / важкі хвости. Itt Важливо відзначити , однак , що МНК не вимагає нормальності або . Однак для вашого EDA це, можливо, варто.XуХ
Ось приклад оцінок Ламберта Ш х Гаусса, застосованих до фондоозброєності.
library(fEcofin)
ret <- ts(equityFunds[, -1] * 100)
plot(ret)
Зведені показники повернень схожі (не настільки екстремальні), як у публікації ОП.
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
Більшість серій демонструють чітко ненормальні характеристики (сильне перекошеність та / або великий куртоз). Давайте Гауссіанізуємо кожну серію, використовуючи важкий хвостовий розподіл Ламберта W x Гаусса (= h Tukey's h), використовуючи методи оцінки моментів ( IGMM
).
library(LambertW)
ret.gauss <- Gaussianize(ret, type = "h", method = "IGMM")
colnames(ret.gauss) <- gsub(".X", "", colnames(ret.gauss))
plot(ts(ret.gauss))
Діаграми часового ряду показують набагато менше хвостів, а також більш стабільні зміни в часі (хоча не постійні). Знову обчислюючи показники за результатами гауссіанізованого часового ряду:
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
IGMM
3Gaussianize()
scale()
Проста двоваріантна регресія
rЕA SТЕU, тrЯNД яА , т
layout(matrix(1:2, ncol = 2, byrow = TRUE))
plot(ret[, "INDIA"], ret[, "EASTEU"])
grid()
plot(ret.gauss[, "INDIA"], ret.gauss[, "EASTEU"])
grid()
Лівий розсіювач оригінальної серії свідчить про те, що сильні люди, що пережили, не відбувалися в ті самі дні, а в різний час в Індії та Європі; крім цього не зрозуміло, чи хмара даних у центрі не підтримує кореляції чи негативної / позитивної залежності. Оскільки люди, що втрачають чужий сильний вплив, оцінюють дисперсію та кореляцію, варто дивитись на залежність із видаленими важкими хвостами (правий розсіювач). Тут закономірності набагато чіткіші, і позитивний зв'язок між Індією та ринком Східної Європи стає очевидним.
# 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)
Причинність Грейнджера
VA R ( 5 )р = 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
Однак для даних Гауссіанізована відповідь різна! Тут тест може НЕ відкинути H0 , що «Індія зовсім НЕ Грейнжер EASTEU», але по- як і раніше відкидає , що «EASTEU НЕ Грейнжер INDIA». Тож гауссіанізовані дані підтверджують гіпотезу, що європейські ринки керують ринками Індії на наступний день.
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
VA R ( 5 )