Identificando uma série temporal volátil
Neste exercício, você vai plotar os log-retornos do Dow Jones de 2008–2011 ao lado de dados normais independentes e identicamente distribuídos (iid) e dados iid com distribuição t de Student.
O objeto xts djx contém o índice Dow Jones, e os objetos npars e tpars trazem as estimativas de parâmetros obtidas ao ajustar uma distribuição normal e uma distribuição t a djx. Os três objetos já estão carregados no seu workspace.
Aqui, você vai gerar uma amostra normal a partir do modelo ajustado gerando dados normais padrão, escalando-os com o segundo componente npars[2] e deslocando-os com o primeiro componente npars[1]. Para a amostra t de Student, o procedimento é semelhante, mas note que, desta vez, o primeiro componente tpars[1] contém o parâmetro de graus de liberdade, e tpars[2] e tpars[3] contêm os parâmetros de localização e escala.
Depois de criar os gráficos, compare o comportamento dos retornos reais com o dos retornos iid, especialmente ao redor da crise financeira de 2008.
Este exercício faz parte do curso
Gerenciamento de Risco Quantitativo em R
Instruções do exercício
- Calcule o tamanho
ndedjx. - Gere uma amostra normal de tamanho
ncom parâmetros dados pornparse atribua os dados andata. - Gere uma amostra t de tamanho
ncom parâmetros dados portparse atribua os dados atdata. - Converta
ndataetdataem objetosxtschamadosndataxetdatax, com as mesmas datas dedjx. - Una as séries temporais
djx,ndataxetdataxem um único objeto chamadoalldatae faça o gráfico complot.zoo()usandotype = "h".
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Compute the length n of djx
n <- ___
# Generate a normal sample of size n with parameters given by npars
ndata <- rnorm(___)*npars[2] + npars[1]
# Generate a t-distributed sample of size n with paramaters given by tpars
___ <- rt(___, df = ___)*tpars[3] + tpars[2]
# Make ndata and tdata into xts objects
ndatax <- xts(___, time(djx))
tdatax <- xts(___, time(djx))
# Merge djx, ndatax, and tdatax and plot
alldata <- ___
plot.zoo(___, ___, ylim = range(alldata))