Retornos sobrepostos
Quando você agrega séries somando os log-retornos diários em intervalos maiores, analisa uma quantidade menor de observações. Para preservar a quantidade de dados, você pode calcular retornos sobrepostos com a função rollapplyr(); isso também cria correlações fortes entre as observações.
Há 5 dias de negociação na semana média do calendário. Ao calcular as somas móveis de 5 dias dos log-retornos de dados diários de índice, você obtém retornos semanais sobrepostos aproximados, encerrando em cada semana do calendário. Da mesma forma, calcular somas móveis de 21 dias fornece retornos mensais sobrepostos aproximados, e calcular somas móveis de 63 dias fornece retornos trimestrais sobrepostos aproximados.
Vamos ver um exemplo com os dados de retorno diário do Dow Jones em djx. Como 5 valores são usados para calcular cada soma móvel, os primeiros 4 valores do resultado são NA. Neste caso, vamos usar indexação para removê-los:
> 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)]
Neste exercício, você vai calcular somas móveis de diferentes intervalos a partir de djx, que já está carregado no seu ambiente. Em seguida, vai calcular a assimetria (skewness) e a curtose dos dados resultantes e aplicar o teste de Jarque-Bera, como nos exercícios anteriores. Os retornos sobrepostos parecem mais normais?
Este exercício faz parte do curso
Gerenciamento de Risco Quantitativo em R
Instruções do exercício
- Calcule uma soma móvel de 21 dias dos log-retornos em
djx, remova os primeiros 20 valores e atribua adjx21. - Calcule uma soma móvel de 63 dias dos log-retornos em
djx, remova os primeiros 62 valores e atribua adjx63 - Use
merge()eall = FALSEpara unirdjx,djx21edjx63nessa ordem, depois atribua adjx2. Faça o gráfico complot.zoo(). - Use
apply()e as funções adequadas para calcular a assimetria (skewness) e a curtose de cada uma das séries emdjx2. - Use
apply()e a função adequada para realizar o teste de Jarque-Bera em cada uma das séries emdjx2.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
___(___)