Rentabilidades solapadas
Cuando agregas series sumando los log-rendimientos diarios para formar intervalos más largos, analizas una menor cantidad de observaciones. Para conservar la cantidad de datos, puedes calcular rentabilidades solapadas con la función rollapplyr(); esto también crea correlaciones fuertes entre observaciones.
Hay 5 días de mercado en la semana calendario promedio. Si calculas las sumas móviles de 5 días de los log-rendimientos de datos diarios de un índice, obtienes una aproximación de rentabilidades semanales solapadas que terminan en cada semana del calendario. De forma similar, calcular sumas móviles de 21 días da una aproximación de rentabilidades mensuales solapadas, y calcular sumas móviles de 63 días da una aproximación de rentabilidades trimestrales solapadas.
Veamos un ejemplo con los datos de rentabilidad diaria del Dow Jones en djx. Como se usan 5 valores para calcular cada suma móvil, los primeros 4 valores del resultado son NA. En este caso, usaremos indexación para eliminarlos:
> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
^DJI
2008-01-03 NA
2008-01-04 NA
2008-01-07 NA
2008-01-08 NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869
> djx5 <- djx5[-(1:4)]
En este ejercicio, calcularás sumas móviles de distintos intervalos a partir de djx, que ya está cargado en tu espacio de trabajo. Después, encontrarás la asimetría y la curtosis de los datos resultantes y realizarás la prueba de Jarque-Bera tal como hiciste en ejercicios anteriores. ¿Parecen más normales las rentabilidades solapadas?
Este ejercicio forma parte del curso
Gestión Cuantitativa del Riesgo en R
Instrucciones del ejercicio
- Calcula una suma móvil de 21 días de los log-rendimientos en
djx, elimina los primeros 20 valores y asígnala adjx21. - Calcula una suma móvil de 63 días de los log-rendimientos en
djx, elimina los primeros 62 valores y asígnala adjx63. - Usa
merge()yall = FALSEpara unirdjx,djx21ydjx63en ese orden, y asígnalo adjx2. Represéntalo conplot.zoo(). - Usa
apply()y las funciones adecuadas para calcular la asimetría y la curtosis de cada una de las series endjx2. - Usa
apply()y la función adecuada para realizar la prueba de Jarque-Bera en cada una de las series endjx2.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Calculate a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)