En la siguiente entrada se utiliza la base de datos tipo wide de nombre EuStockMarkets, disponible en R, la misma cuenta con los índices asociados a los siguientes activos financieros (solo se presenta como obtener los datos sin profundizar sobre la forma de interpretación de los mismos):
> head(EuStockMarkets)
DAX SMI CAC
FTSE
[1,] 1628.75 1678.1 1772.8 2443.6
[2,] 1613.63 1688.5 1750.5 2460.2
[3,] 1606.51 1678.6 1718.0 2448.2
[4,] 1621.04 1684.1 1708.1 2470.4
[5,] 1618.16 1686.6 1723.1 2484.7
[6,] 1610.61 1671.6 1714.3 2466.8
Mediante el tidyverse se puede obtener una representación de la evolución de los índices financieros contenidos, verificándose claramente que estos no corresponden a series estacionarias. Al menos en media se verifica que esta cambia en el tiempo. Por lo que, no podemos obtener estadísticos descriptivos sobre estos índices.
library(tidyverse)
data.frame(EuStockMarkets) %>%
mutate(date =
time(EuStockMarkets)) %>%
gather(id,
value, -date) %>%
ggplot(aes(x =
date, y = value)) +
geom_line(aes(color = id), size = 1)+
theme_minimal()
EuStockMarkets %>%
data.frame()
%>%
gather(id,
value) %>%
group_by(id)
%>%
mutate(tc_relativa = ((value/dplyr::lag(value,1))-1)*100)
# A tibble: 7,440 x 3
# Groups: id
[4]
id value tc_relativa
<chr>
<dbl> <dbl>
1 DAX 1629.
NA
2 DAX 1614.
-0.928
3 DAX 1607.
-0.441
4 DAX 1621.
0.904
5 DAX 1618.
-0.178
6 DAX 1611.
-0.467
7 DAX 1631.
1.25
8 DAX 1640.
0.578
9 DAX 1635.
-0.287
10 DAX
1646. 0.637
# ... with 7,430 more rows
Ahora, para
cada variable se realiza un summarise
donde se contiene la media
y varianza,
indicadores claves en la gestión de cartera financiera. Ahora, es importante
tener presente que la diferencia en media entre los diferentes índices no
permite comparar el error estándar, por tanto, se utiliza el coeficiente de variación
como medida de volatilidad normalizada, que permite comparar nivel de
volatilidad entre series. La librería moment
se utiliza para obtener la asimetría y
la curtosis
de las series,
indicadores clave de la distribución de carteras, al brinda información principalmente
sobre la forma que puede asumir la cola de la distribución de la forma de
retornos, indicador usado para obtener indicadores como el Valor en Riesgo (VaR).
Note además que en el siguiente ejemplo se agrega el p-valor asociado a tres test estadísticos: i) Jaque-Bera; ii) L-Jiung test de autocorrelación sobre los retornos; y, iii) L-Jiung test de autocorrelación sobre los retornos al cuadrado, como forma de estudiar normalidad, y persistencia en media y volatilidad respectivamente.
library(moments)
EuStockMarkets %>%
data.frame()
%>%
gather(id,
value) %>%
group_by(id)
%>%
mutate(tc_relativa = ((value/dplyr::lag(value,1))-1)*100) %>%
summarise(media = mean(tc_relativa,na.rm = T),
mediana = median(tc_relativa,na.rm = T),
Max
= max(tc_relativa,na.rm = T),
Min
= min(tc_relativa,na.rm = T),
Error = sd(tc_relativa,na.rm = T),
coef_var = Error/media,
Curtosis = kurtosis(tc_relativa,na.rm = T),
Simetria = skewness(tc_relativa,na.rm = T),
JB_test = jarque.test(tc_relativa[-1])$p.value,
Ljiung = Box.test(tc_relativa, lag = 1, type =
"Ljung")$p.value,
Ljiung2 = Box.test(tc_relativa^2, lag = 1, type = "Ljung")$p.value)