Nesse trabalho, iremos utilizar a metodologia Wavelet aplicado à séries temporais univariadas extraídas do site investing.com, sendo elas as ações da PETR4 e da ITSA4 do período de Jan/2012 à Nov/2018. Apesar dessa área (finanças) ser bastante jovem em relação à implementação da Wavelet, foi constatado que essa aplicação possui grande utilidade quanto à alguns fatores como por exemplo:
Foi-se utilizado o pacote “WaveletComp” que possui um fácil e intuitivo manuseio das funções Wavelets. Com ele, conseguimos gerar um mapa de calor, além da série reconstruída usando somente aqueles períodos cuja potência média foi encontrada significante durante todo o intervalo de tempo.
Utilizamos a série com período de 12, já que estamos trabalhando mensalmente. Ao todo, possuímos 83 observações, ou seja nosso banco de dados possui informação de 83 meses corridos de jan/2012 até Nov/2018. Além disso, utilizamos dt=1, que nos diz que cada observação reflete uma unidade de tempo (Cada observação reflete o valor de fechamento da ação do respectivo mês). Os limites de período são feitos em potência de 2 por conveniência. No nosso caso, utilizamos de 8(2³) à 64(2⁶)e depois de 16(2^4) à 128(2^7) à fim de compararmos. Somente períodos dentro desses intervalos serão detectados.Vale ressaltar que a região de períodos significativos dentro do triângulo branco foi encontrada usando 10 simulações.
fechpetrobras1 <- bd$Close ts.plot(fechpetrobras1)
fechpetrobras = periodic.series(start.period = 1,end.period = 12, length = 83)
my.data = data.frame(fechpetrobras = fechpetrobras1) my.w = analyze.wavelet(my.data, “fechpetrobras”, loess.span = 0, dt = 1, dj = 1/250, lowerPeriod = 8, upperPeriod = 64, make.pval = T, n.sim = 10)
reconstruct(my.w, plot.waves = F, lwd = c(1,2), legend.coords = “bottomleft”)
Para plotar o espectro de potência da Wavelet faremos:
wt.image(my.w, color.key = “quantile”, n.levels = 250, legend.params = list(lab = “wavelet power levels”, mar = 4.7))
Com isso, verificamos que a Transformada Wavelet pode ser usada para reproduzir a série original, usando apenas aqueles períodos cuja potência média foi encontrada significante durante o intervalo de tempo.
Abaixo, podemos ver o código da série original conjuntamente com a série reconstruída apenas com os períodos significantes.
reconstruct(my.w, plot.waves = F, lwd = c(1,2), legend.coords = “bottomleft”)
Utilizando o código mencionado acima com os limites de período de 8 à 64, obtemos o seguinte mapa de calor:
Mapa de calor da PETR4 com período de 8 à 64
A análise que podemos fazer sobre esse mapa de calor é que a maior parte dos coeficientes significantes encontram-se em J=6 (2⁶ = 64). Também podemos concluir que entre o intervalo de tempo (index) de 30 à 40 apresenta-se uma grande oscilação que pode ser vista no gráfico posterior.
Série original justaposta com a série reconstruída de 8 à 64
Se mudarmos os limites dos períodos para 16 à 128, obtemos os seguintes gráficos:
Mapa de calor da PETR4 com período de 16 à 128
Logo, facilmente conseguimos interpretar que para J=6 (2⁶ = 64) é a região em que os coeficientes possuem os maiores pesos. A região externa ao desenho de um cone é a área sujeita à efeitos de borda e, portanto, onde as estatísticas devem ser interpretadas com cautela.
Série original justaposta com a série reconstruída de 16 à 128
Agora iremos analisar a aplicação da Wavelet para a série ITSA4. Aplicaremos as mesmas ações que foram aplicadas à série PETR4. Primeiramente, iremos analisar o mapa de calor com os limites dos períodos de 8 à 64.
Mapa de calor da ITSA4 com período de 8 à 64
Mapa bastante parecido com o da PETR4, onde para J=6 (2⁶ = 64) é a região em que os coeficientes possuem os maiores pesos. Na faixa em que J=5 (2^5 = 32), os coeficientes não são tão significantes.Também podemos concluir que entre o intervalo de tempo (index) de 30 à 40 apresenta-se uma grande oscilação que pode ser vista no gráfico posterior.
Série original justaposta com a série reconstruída de 8 à 64
Se mudarmos os limites dos períodos para 16 à 128, obtemos os seguintes gráficos:
Mapa de calor da ITSA4 com período de 16 à 128
Podemos interpretar que para J=6 (2⁶ = 64) temos a região com os coeficientes possuindo os maiores pesos.
Série original justaposta com a série reconstruída de 16 à 128
Dessa vez, o ajuste não conseguiu pegar o pico no “index” 30.
Ao término desse estudo, percebe-se que o “mapa de calor” advindo da Wavelet é uma outra alternativa que podemos verificar os coeficientes que possuem os maiores pesos. Outro fato que foi bastante perceptível é que quando mudamos os limites dos períodos, a reconstrução da série não fica muito boa. De 8 á 64 foi o melhor cenário tanto para a PETR4 quanto para a ITSA4.