Calcule as FAC e FACP (5 primeiros valores) para os processos estacionários a seguir:
As funções de Autocorrelação e Autocorrelação Parcial foi utilizado a
função do R, ARMAacf. Segue a resolução.
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| FAC | -0.4 | 0.00 | 0.00 | 0.00 | 0.00 |
| FACP | -0.4 | -0.19 | -0.09 | -0.05 | -0.02 |
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| FAC | 0.9 | 0.81 | 0.73 | 0.66 | 0.59 |
| FACP | 0.9 | 0.00 | 0.00 | 0.00 | 0.00 |
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| FAC | 0.63 | 0.57 | 0.51 | 0.46 | 0.41 |
| FACP | 0.63 | 0.28 | 0.14 | 0.07 | 0.03 |
Obtenha as Séries do IPCA (IBGE - Instituto Brasileiro de Geografia e Estatística), Saldo de Crédito Total (BCB - Banco Central do Brasil), Retornos do Ibovespa e o preço de um ativo presente na B3 à sua escolha. (Todas mensais, de 01/2015 a 12/2022). Então, para cada série: Fontes utilizadas:
Fonte IBGE: ibge.gov.br/
Fonte BCB: bcb.gov.br/
Fonte IBOVESPA: br.financas.yahoo.com/quote/%5EBVSP
Fonte AAPL: br.financas.yahoo.com/quote/AAPL
require(forecast)
require(ggplot2)
require(tseries)
require(quantmod)
require(fBasics)
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0802 | -0.1701 | -0.1517 | -0.0880 | -0.0396 | 0.1479 | 0.0702 | -0.1888 | -0.1693 | -0.0436 |
| FACP | 0.0802 | -0.1777 | -0.1262 | -0.1005 | -0.0792 | 0.1104 | 0.0099 | -0.1870 | -0.1233 | -0.0723 |
| Q | 0.6303 | 3.4975 | 5.8039 | 6.5875 | 6.7478 | 9.0114 | 9.5270 | 13.3013 | 16.3713 | 16.5772 |
| p-valor* | 0.4272 | 0.1740 | 0.1216 | 0.1594 | 0.2401 | 0.1729 | 0.2170 | 0.1019 | 0.0595 | 0.0843 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(0,0,0) with non-zero mean
##
## Coefficients:
## mean
## 0.0114
## s.e. 0.0069
##
## sigma^2 = 0.004634: log likelihood = 120.99
## AIC=-237.98 AICc=-237.85 BIC=-232.87
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(0,0))
##
## Call:
## arma(x = Dados, order = order <- c(0, 0))
##
## Coefficient(s):
## intercept
## 0.0114
Apartir das estimativas, podemos definir o seguinte modelo, RB $ RB(0 , ^2)$ tal que,
\[Y_t = (0,0114) + \varepsilon_t\]
onde Retorno Ibovespa segue o modelo do tipo ruído branco com \(\hat\beta_0 = 0,0114\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0802 | -0.1701 | -0.1517 | -0.0880 | -0.0396 | 0.1479 | 0.0702 | -0.1888 | -0.1693 | -0.0436 |
| FACP | 0.0802 | -0.1777 | -0.1262 | -0.1005 | -0.0792 | 0.1104 | 0.0099 | -0.1870 | -0.1233 | -0.0723 |
| Ljung–Box | 0.6303 | 3.4975 | 5.8039 | 6.5875 | 6.7478 | 9.0114 | 9.5270 | 13.3013 | 16.3713 | 16.5772 |
| p-valor | 0.4272 | 0.1740 | 0.1216 | 0.1594 | 0.2401 | 0.1729 | 0.2170 | 0.1019 | 0.0595 | 0.0843 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| Dados | |
|---|---|
| n | 95.0000 |
| nulo | 0.0000 |
| mínimo | -0.2990 |
| máximo | 0.1697 |
| 1º Quantil | -0.0291 |
| 3º Quantil | 0.0611 |
| média | 0.0114 |
| mediana | 0.0070 |
| soma | 1.0830 |
| média estimada | 0.0070 |
| LI média | -0.0025 |
| LS media | 0.0253 |
| variância | 0.0046 |
| desvio padrão | 0.0681 |
| assimétria | -0.7917 |
| excesso de curtose | 3.1524 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 52.9331
## P VALUE:
## Asymptotic p Value: 3.204e-12
Logo com o p-valor < 0.0001, rejeitamos a hipotese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.61237, df = 1, p-value = 0.4339
Sendo assim não é possível rejeitar a hipotese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipotese nula é não correlação.
arch.test(arima(Dados, order = c(0,0,0)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 0.581 0.965
## [2,] 8 2.717 0.951
## [3,] 12 4.122 0.981
## [4,] 16 5.836 0.990
## [5,] 20 5.995 0.999
## [6,] 24 7.809 0.999
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 92.92 0.00e+00
## [2,] 8 41.71 5.90e-07
## [3,] 12 20.88 3.47e-02
## [4,] 16 13.52 5.62e-01
## [5,] 20 9.59 9.62e-01
## [6,] 24 6.18 1.00e+00
Seguindo em ordem baixas e superiores, não pode rejeitar a hipótese de
Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipotese nula é a lineariadade de série contra hipotese alternativa de não linearidade.
resettest(Dados ~ 1)
##
## RESET test
##
## data: Dados ~ 1
## RESET = 1.1795, df1 = 2, df2 = 92, p-value = 0.312
Com o p-value 0.8344, não rejeitamos a hipotese de linearidade.
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.5711 | 0.3621 | 0.2349 | 0.1023 | 0.0342 | 0.0842 | 0.1549 | 0.1909 | 0.1919 | 0.1495 |
| FACP | 0.5711 | 0.0533 | 0.0129 | -0.0725 | -0.0153 | 0.1199 | 0.1209 | 0.0633 | 0.0151 | -0.0255 |
| Q | 32.2986 | 45.4208 | 51.0022 | 52.0724 | 52.1936 | 52.9342 | 55.4712 | 59.3656 | 63.3484 | 65.7935 |
| p-valor* | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(1,0,0) with non-zero mean
##
## Coefficients:
## ar1 mean
## 0.5839 0.5008
## s.e. 0.0835 0.0858
##
## sigma^2 = 0.1283: log likelihood = -36.86
## AIC=79.73 AICc=79.99 BIC=87.42
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(1,0))
##
## Call:
## arma(x = Dados, order = order <- c(1, 0))
##
## Coefficient(s):
## ar1 intercept
## 0.5716 0.2021
Apartir das estimativas, podemos definir o seguinte modelo, AR(1) tal que,
\[AR(1): Y_t = (0,2021) + (0,5716) Y_{t-1} + \varepsilon_t\]
onde IPCA segue o modelo do tipo Autoregressivo com 1 defasagem, com \(\hat\phi = 0,5716\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.0471 | 0.0167 | 0.0727 | -0.0335 | -0.0980 | -0.0040 | 0.0765 | 0.0758 | 0.0842 | 0.0590 |
| FACP | -0.0471 | 0.0145 | 0.0744 | -0.0271 | -0.1043 | -0.0180 | 0.0863 | 0.1010 | 0.0866 | 0.0413 |
| Ljung–Box | 0.2194 | 0.2471 | 0.7823 | 0.8971 | 1.8908 | 1.8925 | 2.5115 | 3.1262 | 3.8929 | 4.2741 |
| p-valor | 0.6395 | 0.8838 | 0.8537 | 0.9250 | 0.8640 | 0.9293 | 0.9262 | 0.9262 | 0.9183 | 0.9341 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| Dados | |
|---|---|
| n | 96.0000 |
| nulo | 0.0000 |
| mínimo | -0.6800 |
| máximo | 1.6200 |
| 1º Quantil | 0.2200 |
| 3º Quantil | 0.7975 |
| média | 0.4882 |
| mediana | 0.4300 |
| soma | 46.8700 |
| média estimada | 0.0447 |
| LI média | 0.3996 |
| LS media | 0.5769 |
| variância | 0.1915 |
| desvio padrão | 0.4376 |
| assimétria | 0.1294 |
| excesso de curtose | -0.1401 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 0.3019
## P VALUE:
## Asymptotic p Value: 0.8599
Logo com o p-valor < 0.8599, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.21321, df = 1, p-value = 0.6443
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(1,0,0)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 2.91 0.573
## [2,] 8 4.73 0.786
## [3,] 12 6.48 0.890
## [4,] 16 8.26 0.941
## [5,] 20 14.19 0.821
## [6,] 24 16.28 0.878
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 44.974 9.37e-10
## [2,] 8 15.074 3.51e-02
## [3,] 12 8.437 6.74e-01
## [4,] 16 4.280 9.97e-01
## [5,] 20 1.538 1.00e+00
## [6,] 24 0.936 1.00e+00
Seguindo em ordem baixas e superiores, não pode rejeitar a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
resettest(Dados[1:95] ~ 1 + diff(Dados, k = -1))
##
## RESET test
##
## data: Dados[1:95] ~ 1 + diff(Dados, k = -1)
## RESET = 0.70091, df1 = 2, df2 = 91, p-value = 0.4988
Com o p-value 0.4988, não rejeitamos a hipótese de linearidade.
A partir da visualização da série podemos verificar que há indícios de não Estacionaridade dos dados. Diante da limitação do escopo do trabalho, sendo necessário um conhecimento do modelo com sazonalidade, irei me limitar a afirma que a Série é não estacionário porém, o retorno da série traz indícios de estacionariadade com presença de Sazonalidade a cada 6 dias.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.1219 | -0.0874 | 0.2309 | -0.0062 | -0.0652 | 0.3822 | -0.1250 | -0.2083 | 0.3663 | -0.1119 |
| FACP | -0.1219 | -0.1038 | 0.2119 | 0.0420 | -0.0272 | 0.3495 | -0.0704 | -0.1973 | 0.2401 | -0.1019 |
| Q | 1.4576 | 2.2142 | 7.5558 | 7.5596 | 7.9955 | 23.1215 | 24.7585 | 29.3536 | 43.7334 | 45.0907 |
| p-valor* | 0.2273 | 0.3305 | 0.0561 | 0.1091 | 0.1565 | 0.0008 | 0.0008 | 0.0003 | 0.0000 | 0.0000 |
A partir da visualização da série podemos verificar que há indícios de não Estacionaridade dos dados.
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0393 | -0.1527 | 0.0121 | 0.0112 | -0.0507 | 0.0043 | 0.1413 | 0.0857 | -0.0524 | -0.0051 |
| FACP | 0.0393 | -0.1545 | 0.0258 | -0.0146 | -0.0459 | 0.0085 | 0.1293 | 0.0798 | -0.0199 | 0.0174 |
| Q | 0.1511 | 2.4611 | 2.4758 | 2.4885 | 2.7516 | 2.7535 | 4.8438 | 5.6210 | 5.9148 | 5.9177 |
| p-valor* | 0.6975 | 0.2921 | 0.4797 | 0.6467 | 0.7382 | 0.8391 | 0.6790 | 0.6896 | 0.7484 | 0.8221 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(0,0,0) with non-zero mean
##
## Coefficients:
## mean
## 0.0204
## s.e. 0.0086
##
## sigma^2 = 0.007082: log likelihood = 100.83
## AIC=-197.67 AICc=-197.54 BIC=-192.56
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(0,0))
##
## Call:
## arma(x = Dados, order = order <- c(0, 0))
##
## Coefficient(s):
## intercept
## 0.0204
Apartir das estimativas, podemos definir o seguinte modelo, RB tal que,
\[RB: Y_t = (0,0204) + \varepsilon_t\]
onde Retorno AAPL segue o modelo do tipo Ruído Branco, com \(\hat\theta_0 = 0,0204\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0393 | -0.1527 | 0.0121 | 0.0112 | -0.0507 | 0.0043 | 0.1413 | 0.0857 | -0.0524 | -0.0051 |
| FACP | 0.0393 | -0.1545 | 0.0258 | -0.0146 | -0.0459 | 0.0085 | 0.1293 | 0.0798 | -0.0199 | 0.0174 |
| Ljung–Box | 0.1511 | 2.4611 | 2.4758 | 2.4885 | 2.7516 | 2.7535 | 4.8438 | 5.6210 | 5.9148 | 5.9177 |
| p-valor | 0.6975 | 0.2921 | 0.4797 | 0.6467 | 0.7382 | 0.8391 | 0.6790 | 0.6896 | 0.7484 | 0.8221 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| Dados | |
|---|---|
| n | 95.0000 |
| nulo | 0.0000 |
| mínimo | -0.1840 |
| máximo | 0.2144 |
| 1º Quantil | -0.0357 |
| 3º Quantil | 0.0796 |
| média | 0.0204 |
| mediana | 0.0181 |
| soma | 1.9374 |
| média estimada | 0.0086 |
| LI média | 0.0032 |
| LS media | 0.0375 |
| variância | 0.0071 |
| desvio padrão | 0.0842 |
| assimétria | -0.0337 |
| excesso de curtose | -0.6250 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 1.3237
## P VALUE:
## Asymptotic p Value: 0.5159
Logo com o p-valor < 0.5159, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.151, df = 1, p-value = 0.6976
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(0,0,0)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 7.43 0.115
## [2,] 8 10.13 0.256
## [3,] 12 15.23 0.229
## [4,] 16 17.72 0.341
## [5,] 20 18.96 0.524
## [6,] 24 23.73 0.477
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 5.9729 0.113
## [2,] 8 2.3359 0.939
## [3,] 12 1.1222 1.000
## [4,] 16 0.5726 1.000
## [5,] 20 0.2002 1.000
## [6,] 24 -0.0411 1.000
Seguindo em ordem baixas e superiores, não pode rejeitar a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
resettest(Dados ~ 1 )
##
## RESET test
##
## data: Dados ~ 1
## RESET = 0.52065, df1 = 2, df2 = 92, p-value = 0.5959
Com o p-value 0.5959, não rejeitamos a hipótese de linearidade.
Utilizando as séries disponibilizadas no arquivo “AP2.xlsx”, faça para cada uma das séries o que se pede:
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.0085 | -0.3003 | 0.0077 | -0.0391 | -0.0476 | -0.0485 | 0.0554 | -0.0018 | -0.0121 | 0.0081 |
| FACP | -0.0085 | -0.3004 | 0.0020 | -0.1420 | -0.0521 | -0.1191 | 0.0234 | -0.0695 | 0.0038 | -0.0345 |
| Q | 0.0732 | 90.5993 | 90.6591 | 92.1958 | 94.4755 | 96.8501 | 99.9456 | 99.9487 | 100.0956 | 100.1616 |
| p-valor* | 0.7867 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(2,0,2) with zero mean
##
## Coefficients:
## ar1 ar2 ma1 ma2
## 0.0391 0.2933 -0.0615 -0.6617
## s.e. 0.0694 0.0700 0.0554 0.0565
##
## sigma^2 = 0.9939: log likelihood = -1414.11
## AIC=2838.21 AICc=2838.27 BIC=2862.75
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(2,2))
##
## Call:
## arma(x = Dados, order = order <- c(2, 2))
##
## Coefficient(s):
## ar1 ar2 ma1 ma2 intercept
## 0.053325 0.294165 -0.075992 -0.663961 0.009304
Apartir das estimativas, podemos definir o seguinte modelo, ARMA(2,2) tal que, \[ARMA(2,2):Y_t = \phi_1Y_{t-1} + \phi_2 Y_{t-2} + \theta_1 \varepsilon_{t-1} + \theta_2 \varepsilon_{t-2} + \varepsilon_{t}\]
\[ARMA(2,2): Y_t = (0,00930) + (0,0533) Y_{t-1} + (0,2942) Y_{t-2} + (-0,0760)\varepsilon_{t-1} + (-0,6640)\varepsilon_{t-2} + \varepsilon_t\]
onde Serie A segue o modelo do tipo Autoregressivo de Media móvel com 1ª e 2ª defasagem, onde \(\hat\phi_1 = 0,0533\) , \(\hat\phi_2 = 0,2942\), \(\hat\theta_1 = -0,0760\) , \(\hat \theta_2 = -0,6640\) com intercepto igual \(\hat\theta_0 = 0,0092\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.0041 | -0.0109 | 0.0135 | 0.0354 | -0.0268 | -0.0179 | 0.0452 | -0.0031 | -0.0113 | -0.0056 |
| FACP | -0.0041 | -0.0109 | 0.0134 | 0.0354 | -0.0263 | -0.0175 | 0.0437 | -0.0037 | -0.0082 | -0.0063 |
| Ljung–Box | 0.0168 | 0.1360 | 0.3184 | 1.5759 | 2.3018 | 2.6233 | 4.6844 | 4.6941 | 4.8225 | 4.8542 |
| p-valor | 0.8968 | 0.9343 | 0.9565 | 0.8131 | 0.8060 | 0.8544 | 0.6984 | 0.7897 | 0.8495 | 0.9007 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| …1 | |
|---|---|
| n | 1000.0000 |
| nulo | 0.0000 |
| mínimo | -3.0677 |
| máximo | 4.4579 |
| 1º Quantil | -0.6924 |
| 3º Quantil | 0.7143 |
| média | 0.0126 |
| mediana | 0.0196 |
| soma | 12.5720 |
| média estimada | 0.0338 |
| LI média | -0.0537 |
| LS media | 0.0788 |
| variância | 1.1402 |
| desvio padrão | 1.0678 |
| assimétria | 0.1144 |
| excesso de curtose | 0.1045 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 2.6979
## P VALUE:
## Asymptotic p Value: 0.2595
Logo com o p-valor < 0.2595, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.016762, df = 1, p-value = 0.897
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos.
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(2,0,2)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 7.52 0.111
## [2,] 8 9.47 0.304
## [3,] 12 11.11 0.519
## [4,] 16 19.17 0.260
## [5,] 20 22.21 0.329
## [6,] 24 26.39 0.334
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 276.6 0.00e+00
## [2,] 8 136.3 0.00e+00
## [3,] 12 90.0 1.65e-14
## [4,] 16 65.5 2.76e-08
## [5,] 20 51.2 8.78e-05
## [6,] 24 41.9 9.32e-03
Seguindo em ordem baixas e superiores, não rejeitamos a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
resettest(Dados[1:(size-2)] ~ 1 + LAG.1 + LAG.2 + RES.1 + RES.2)
##
## RESET test
##
## data: Dados[1:(size - 2)] ~ 1 + LAG.1 + LAG.2 + RES.1 + RES.2
## RESET = 1.6605, df1 = 2, df2 = 991, p-value = 0.1906
Com o p-value 0.1906, não rejeitamos a hipótese de linearidade.
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.3523 | 0.2880 | 0.1569 | 0.0771 | 0.0194 | 0.0089 | 0.0281 | -0.0046 | -0.0166 | -0.0217 |
| FACP | 0.3523 | 0.1871 | 0.0100 | -0.0285 | -0.0325 | 0.0022 | 0.0378 | -0.0211 | -0.0260 | -0.0120 |
| Q | 124.4898 | 207.7636 | 232.4914 | 238.4704 | 238.8506 | 238.9298 | 239.7287 | 239.7503 | 240.0302 | 240.5083 |
| p-valor* | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(0,1,2) with drift
##
## Coefficients:
## ma1 ma2 drift
## -0.7394 -0.2375 3e-04
## s.e. 0.0267 0.0273 8e-04
##
## sigma^2 = 1.074: log likelihood = -1453.13
## AIC=2914.26 AICc=2914.31 BIC=2933.89
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(0,2))
##
## Call:
## arma(x = Dados, order = order <- c(0, 2))
##
## Coefficient(s):
## ma1 ma2 intercept
## 0.26682 0.22048 0.08052
Apartir das estimativas, podemos definir o seguinte modelo, MA(2) tal que, \[Y_t = \theta_1 \varepsilon_{t-1} + \theta_2 \varepsilon_{t-2} + \varepsilon_{t}\]
\[MA(2): Y_t = (0,08052) + (0,2668)\varepsilon_{t-1} + (0,2205)\varepsilon_{t-2} + \varepsilon_t\]
onde Serie A segue o modelo do tipo Autoregressivo de Media móvel com 1ª e 2ª defasagem, onde, \(\hat\theta_1 = 0,2668\) , \(\hat \theta_2 = 0,2205\) com intercepto igual \(\hat\theta_0 = 0,0805\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0286 | 0.0459 | 0.1369 | 0.0386 | -0.0255 | -0.0015 | 0.0413 | -0.0076 | -0.0235 | -0.0107 |
| FACP | 0.0286 | 0.0451 | 0.1347 | 0.0306 | -0.0396 | -0.0221 | 0.0360 | -0.0002 | -0.0219 | -0.0208 |
| Ljung–Box | 0.8193 | 2.9364 | 21.7700 | 23.2680 | 23.9251 | 23.9272 | 25.6442 | 25.7020 | 26.2590 | 26.3755 |
| p-valor | 0.3654 | 0.2303 | 0.0001 | 0.0001 | 0.0002 | 0.0005 | 0.0006 | 0.0012 | 0.0019 | 0.0033 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| …1 | |
|---|---|
| n | 1000.0000 |
| nulo | 0.0000 |
| mínimo | -3.9550 |
| máximo | 3.6874 |
| 1º Quantil | -0.6695 |
| 3º Quantil | 0.7851 |
| média | 0.0814 |
| mediana | 0.0429 |
| soma | 81.4013 |
| média estimada | 0.0343 |
| LI média | 0.0140 |
| LS media | 0.1488 |
| variância | 1.1791 |
| desvio padrão | 1.0859 |
| assimétria | 0.0504 |
| excesso de curtose | 0.0789 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 0.7255
## P VALUE:
## Asymptotic p Value: 0.6958
Logo com o p-valor < 0.6958, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 3.0718, df = 1, p-value = 0.07966
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(0,0,2)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 4.14 0.387
## [2,] 8 6.11 0.635
## [3,] 12 14.66 0.261
## [4,] 16 18.34 0.304
## [5,] 20 22.66 0.306
## [6,] 24 31.81 0.132
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 268.3 0.00e+00
## [2,] 8 131.3 0.00e+00
## [3,] 12 84.9 1.63e-13
## [4,] 16 61.4 1.43e-07
## [5,] 20 48.0 2.60e-04
## [6,] 24 37.7 2.76e-02
Seguindo em ordem baixas e superiores, rejeitamos a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
size <- length(Dados)
LAG.1 <- Dados[2:(size-1)]
LAG.2 <- Dados[3:size]
RES.1 <- modelo1$residuals[2:(size-1)]
RES.2 <- modelo1$residuals[3:size]
RESET <- resettest(Dados[1:(size-2)] ~ 1 + RES.1 + RES.2)
resettest(Dados[1:(size-2)] ~ 1 + RES.1 + RES.2)
##
## RESET test
##
## data: Dados[1:(size - 2)] ~ 1 + RES.1 + RES.2
## RESET = 0.2596, df1 = 2, df2 = 993, p-value = 0.7714
Com o p-value 0.7714, não rejeitamos a hipótese de linearidade.
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.4732 | 0.4712 | -0.3285 | 0.2285 | -0.1596 | 0.1747 | -0.0893 | 0.0839 | -0.0385 | 0.0108 |
| FACP | -0.4732 | 0.3186 | -0.0370 | -0.0512 | 0.0265 | 0.0917 | 0.0351 | -0.0162 | 0.0275 | -0.0223 |
| Q | 224.6166 | 447.5513 | 556.0248 | 608.5316 | 634.1845 | 664.9419 | 672.9842 | 680.0872 | 681.5841 | 681.7032 |
| p-valor* | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(1,0,2) with zero mean
##
## Coefficients:
## ar1 ma1 ma2
## -0.6739 0.3591 0.2187
## s.e. 0.0512 0.0552 0.0410
##
## sigma^2 = 1.001: log likelihood = -1418.38
## AIC=2844.76 AICc=2844.8 BIC=2864.39
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(1,2))
##
## Call:
## arma(x = Dados, order = order <- c(1, 2))
##
## Coefficient(s):
## ar1 ma1 ma2 intercept
## -0.66762 0.35290 0.22293 0.02782
Apartir das estimativas, podemos definir o seguinte modelo, ARMA(1,2) tal que, \[Y_t = \phi_1Y_{t-1} + \theta_1 \varepsilon_{t-1} + \theta_2 \varepsilon_{t-2} + \varepsilon_{t}\]
\[ARMA(1,2): Y_t = (0.0278) + (-0,6676) Y_{t-1} + (0.3529)\varepsilon_{t-1} + (0.2229)\varepsilon_{t-2} + \varepsilon_t\]
onde Serie A segue o modelo do tipo Autoregressivo de Media móvel com 1ª e 2ª defasagem, onde,\(\hat\phi_1 = -0,6676\), \(\hat\theta_1 = 0,3529\) , \(\hat \theta_2 = 0,2229\) com intercepto igual \(\hat\theta_0 = 0,0278\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0018 | -0.0040 | -0.0033 | -0.0187 | 0.0203 | 0.0947 | 0.0039 | 0.0307 | -0.0011 | -0.0288 |
| FACP | 0.0018 | -0.0040 | -0.0033 | -0.0187 | 0.0204 | 0.0945 | 0.0037 | 0.0314 | 0.0002 | -0.0257 |
| Ljung–Box | 0.0032 | 0.0195 | 0.0307 | 0.3814 | 0.7971 | 9.8296 | 9.8447 | 10.7975 | 10.7988 | 11.6379 |
| p-valor | 0.9548 | 0.9903 | 0.9986 | 0.9840 | 0.9772 | 0.1320 | 0.1975 | 0.2134 | 0.2898 | 0.3100 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| …1 | |
|---|---|
| n | 1000.0000 |
| nulo | 0.0000 |
| mínimo | -3.7089 |
| máximo | 3.5551 |
| 1º Quantil | -0.7319 |
| 3º Quantil | 0.8236 |
| média | 0.0164 |
| mediana | 0.0551 |
| soma | 16.4418 |
| média estimada | 0.0380 |
| LI média | -0.0580 |
| LS media | 0.0909 |
| variância | 1.4405 |
| desvio padrão | 1.2002 |
| assimétria | -0.0937 |
| excesso de curtose | -0.0025 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 1.467
## P VALUE:
## Asymptotic p Value: 0.4802
Logo com o p-valor < 0.4802, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.0024149, df = 1, p-value = 0.9608
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(0,0,2)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 7.35 0.118
## [2,] 8 11.35 0.183
## [3,] 12 14.35 0.279
## [4,] 16 17.69 0.342
## [5,] 20 23.31 0.274
## [6,] 24 25.53 0.377
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 271.5 0.00e+00
## [2,] 8 131.6 0.00e+00
## [3,] 12 86.3 8.98e-14
## [4,] 16 63.7 5.88e-08
## [5,] 20 49.4 1.58e-04
## [6,] 24 40.2 1.47e-02
Seguindo em ordem baixas e superiores, rejeitamos a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
size <- length(Dados)
LAG.1 <- Dados[2:(size-1)]
RES.1 <- modelo1$residuals[2:(size-1)]
RES.2 <- modelo1$residuals[3:(size-0)]
RESET <- resettest(Dados[1:(size-2)] ~ 1 + LAG.1 + RES.1 + RES.2)
resettest(Dados[1:(size-2)] ~ 1 + LAG.1 + RES.1 + RES.2)
##
## RESET test
##
## data: Dados[1:(size - 2)] ~ 1 + LAG.1 + RES.1 + RES.2
## RESET = 2.428, df1 = 2, df2 = 992, p-value = 0.08874
Com o p-value 0.0887, não rejeitamos a hipótese de linearidade.
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.1823 | -0.0850 | -0.1831 | -0.0829 | -0.0070 | 0.0742 | 0.0238 | -0.0190 | -0.0443 | 0.0305 |
| FACP | -0.1823 | -0.1223 | -0.2339 | -0.2030 | -0.1491 | -0.0634 | -0.0659 | -0.0839 | -0.0960 | -0.0239 |
| Q | 33.3341 | 40.5886 | 74.2704 | 81.1901 | 81.2401 | 86.7897 | 87.3615 | 87.7279 | 89.7122 | 90.6549 |
| p-valor* | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(4,0,2) with zero mean
##
## Coefficients:
## ar1 ar2 ar3 ar4 ma1 ma2
## 1.3676 -0.4433 -0.1297 0.1438 -1.7198 0.7301
## s.e. 0.1126 0.0817 0.0538 0.0343 0.1102 0.1012
##
## sigma^2 = 0.9978: log likelihood = -1415.27
## AIC=2844.54 AICc=2844.65 BIC=2878.89
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(4,2))
##
## Call:
## arma(x = Dados, order = order <- c(4, 2))
##
## Coefficient(s):
## ar1 ar2 ar3 ar4 ma1 ma2 intercept
## 0.394848 0.027567 -0.147053 -0.016179 -0.749570 -0.083635 0.006554
Apartir das estimativas, podemos definir o seguinte modelo, ARMA(4,2) tal que, \[Y_t = \phi_1Y_{t-1} +\phi_1Y_{t-2} +\phi_1Y_{t-3} +\phi_1Y_{t-4} + \theta_1 \varepsilon_{t-1} + \theta_2 \varepsilon_{t-2} + \varepsilon_{t}\]
\[ARMA(4,2): Y_t = (0.0065) + (0,3948) Y_{t-1} + (0,02757) Y_{t-2} + (-0,1471) Y_{t-3}+ (-0,0161) Y_{t-4} + (-0,7496)\varepsilon_{t-1} + (-0,0836)\varepsilon_{t-2} + \varepsilon_t\]
onde Serie A segue o modelo do tipo Autoregressivo de Media móvel com 1ª até 4ª defasagem, onde,\(\hat\phi_1 = 0,3948\),\(\hat\phi_2 = 0,02757\),\(\hat\phi_3 = -01471\),\(\hat\phi_4 = -0,0161\), \(\hat\theta_1 = -0,7496\) , \(\hat \theta_2 = -0,0836\) com intercepto igual \(\hat\theta_0 = 0.0065\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.0013 | 0.0036 | 0.0051 | -0.0184 | 0.0048 | 0.0450 | 0.0028 | -0.0353 | -0.0364 | 0.0266 |
| FACP | -0.0013 | 0.0036 | 0.0051 | -0.0184 | 0.0047 | 0.0451 | 0.0031 | -0.0362 | -0.0370 | 0.0285 |
| Ljung–Box | 0.0017 | 0.0151 | 0.0412 | 0.3811 | 0.4039 | 2.4422 | 2.4502 | 3.7116 | 5.0547 | 5.7685 |
| p-valor | 0.9670 | 0.9925 | 0.9978 | 0.9840 | 0.9952 | 0.8749 | 0.9308 | 0.8822 | 0.8295 | 0.8343 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| …1 | |
|---|---|
| n | 1000.0000 |
| nulo | 0.0000 |
| mínimo | -4.1568 |
| máximo | 3.4973 |
| 1º Quantil | -0.6815 |
| 3º Quantil | 0.7867 |
| média | 0.0079 |
| mediana | 0.0002 |
| soma | 7.8713 |
| média estimada | 0.0349 |
| LI média | -0.0606 |
| LS media | 0.0763 |
| variância | 1.2166 |
| desvio padrão | 1.1030 |
| assimétria | -0.1424 |
| excesso de curtose | 0.0073 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 3.3957
## P VALUE:
## Asymptotic p Value: 0.1831
Logo com o p-valor < 0.1831, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.021527, df = 1, p-value = 0.8834
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(4,0,2)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 2.43 0.657
## [2,] 8 5.48 0.705
## [3,] 12 7.37 0.832
## [4,] 16 15.86 0.463
## [5,] 20 25.50 0.183
## [6,] 24 29.98 0.185
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 237.5 0.00e+00
## [2,] 8 115.4 0.00e+00
## [3,] 12 76.8 6.08e-12
## [4,] 16 55.8 1.32e-06
## [5,] 20 43.3 1.19e-03
## [6,] 24 33.6 7.18e-02
Seguindo em ordem baixas e superiores, rejeitamos a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
modelo1 <- arima(Dados, order <- c(4,0,2))
size <- length(Dados)
LAG.1 <- Dados[2:(size-3)]
LAG.2 <- Dados[3:(size-2)]
LAG.3 <- Dados[4:(size-1)]
LAG.4 <- Dados[5:(size-0)]
RES.1 <- modelo1$residuals[2:(size-3)]
RES.2 <- modelo1$residuals[3:(size-2)]
RESET <- resettest(Dados[1:(size-4)] ~ 1 + LAG.1 + LAG.2 + LAG.3 + LAG.4 + RES.1 + RES.2)
resettest(Dados[1:(size-4)] ~ 1 + LAG.1 + LAG.2 + LAG.3 + LAG.4 + RES.1 + RES.2)
##
## RESET test
##
## data: Dados[1:(size - 4)] ~ 1 + LAG.1 + LAG.2 + LAG.3 + LAG.4 + RES.1 + RES.2
## RESET = 1.1504, df1 = 2, df2 = 987, p-value = 0.3169
Com o p-value 0.3169, não rejeitamos a hipótese de linearidade.
A partir da visualização da série podemos verificar indícios que o retornos são Estacionários. Para isso devemos realizar alguns testes, como análise das autocorrelações.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | -0.1725 | 0.1579 | 0.2576 | 0.0125 | 0.1618 | 0.1813 | 0.0629 | 0.1500 | 0.1517 | 0.0525 |
| FACP | -0.1725 | 0.1321 | 0.3189 | 0.1034 | 0.1032 | 0.1583 | 0.0804 | 0.0709 | 0.0982 | 0.0196 |
| Q | 29.8354 | 54.8680 | 121.5722 | 121.7290 | 148.0970 | 181.2380 | 185.2330 | 207.9715 | 231.2511 | 234.0356 |
| p-valor* | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Apartir da função auto.arima presente no pacote
forcast temos o seguinte modelo.
auto.arima(Dados)
## Series: Dados
## ARIMA(3,1,1)
##
## Coefficients:
## ar1 ar2 ar3 ma1
## -0.3870 -0.0653 0.1317 -0.8968
## s.e. 0.0379 0.0423 0.0366 0.0195
##
## sigma^2 = 0.9942: log likelihood = -1413.81
## AIC=2837.63 AICc=2837.69 BIC=2862.16
De forma similar podemos obter estimativas dos parametros por meio da
função arma.
arma(Dados, order <- c(3,1))
##
## Call:
## arma(x = Dados, order = order <- c(3, 1))
##
## Coefficient(s):
## ar1 ar2 ar3 ma1 intercept
## 0.5034842 0.2743744 0.1673954 -0.8127464 0.0008589
Apartir das estimativas, podemos definir o seguinte modelo, ARMA(3,1) tal que, \[Y_t = \phi_1Y_{t-1} +\phi_1Y_{t-2} +\phi_1Y_{t-3} + \theta_1 \varepsilon_{t-1} + \varepsilon_{t}\]
\[ARMA(3,1): Y_t = (0.0008) + (0,5035) Y_{t-1} + (0,2743) Y_{t-2} + (0,1674) Y_{t-3} + (0,8127)\varepsilon_{t-1} + \varepsilon_t\]
onde Serie A segue o modelo do tipo Autoregressivo de Media móvel com 1ª e 2ª defasagem, onde,\(\hat\phi_1 = 0,5035\),\(\hat\phi_2 = 0,2743\),\(\hat\phi_3 = 0,1674\), \(\hat\theta_1 = -0,8127\) com intercepto igual \(\hat\theta_0 = 0.0008\).
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| FAC | 0.0145 | 0.0205 | 0.0324 | -0.1085 | -0.0033 | 0.0323 | -0.0452 | 0.0144 | 0.0219 | -0.0416 |
| FACP | 0.0145 | 0.0203 | 0.0318 | -0.1100 | -0.0013 | 0.0365 | -0.0397 | 0.0025 | 0.0213 | -0.0333 |
| Ljung–Box | 0.2109 | 0.6314 | 1.6849 | 13.5259 | 13.5371 | 14.5897 | 16.6522 | 16.8618 | 17.3451 | 19.0997 |
| p-valor | 0.6461 | 0.7293 | 0.6403 | 0.0090 | 0.0188 | 0.0237 | 0.0198 | 0.0316 | 0.0436 | 0.0390 |
Para uma maior compreenção do modelo proposto vamos analisar alguns presupostos básicos sobre a série, como normalidade dos dados, autocorrelação do resíduos, heterocedasticidade dos resíduos e linearidade do modelo. Segue abaixo alguns testes para verificar isso.
| …1 | |
|---|---|
| n | 1000.0000 |
| nulo | 0.0000 |
| mínimo | -3.6351 |
| máximo | 3.6111 |
| 1º Quantil | -0.7581 |
| 3º Quantil | 0.7054 |
| média | -0.0109 |
| mediana | -0.0285 |
| soma | -10.8904 |
| média estimada | 0.0351 |
| LI média | -0.0797 |
| LS media | 0.0579 |
| variância | 1.2286 |
| desvio padrão | 1.1084 |
| assimétria | 0.0774 |
| excesso de curtose | 0.0164 |
O Teste Jarque-Bera verifica se os momentos da série estimada são iguais aos da normal. Sob esse hipótese, a assimétria é igual a zero e o excesso de curtose.
fBasics::jarqueberaTest(Dados)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 1.0213
## P VALUE:
## Asymptotic p Value: 0.6001
Logo com o p-valor < 0.6001, não rejeitamos a hipótese de normalidade dos dados.
O teste LM para autocorrelação dos resíduos também conhecido como teste de Breusch-Godfrey, testa se os resíduos não são correlacionados.
bgtest(modelo1$residuals ~ 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo1$residuals ~ 1
## LM test = 0.030453, df = 1, p-value = 0.8615
Sendo assim não é possível rejeitar a hipótese de não correlação dos resíduos
O teste ARCH-LM serve para identificar sinais de heterocedasticidade condicional, onde a hipótese nula é não correlação.
arch.test(arima(Dados, order = c(3,0,1)),output = T)
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 4.11 0.392
## [2,] 8 5.30 0.725
## [3,] 12 5.88 0.922
## [4,] 16 9.70 0.882
## [5,] 20 10.33 0.962
## [6,] 24 12.60 0.972
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 211.8 0.00e+00
## [2,] 8 103.3 0.00e+00
## [3,] 12 68.3 2.53e-10
## [4,] 16 50.1 1.17e-05
## [5,] 20 39.7 3.59e-03
## [6,] 24 32.5 9.01e-02
Seguindo em ordem baixas e superiores, rejeitamos a hipótese de Homocedasticidade.
O teste RESET, testa se o erro de especificação do modelo. Onde a hipótese nula é a lineariadade de série contra hipótese alternativa de não linearidade.
modelo1 <- arima(Dados, order <- c(4,0,2))
size <- length(Dados)
LAG.1 <- Dados[2:(size-2)]
LAG.2 <- Dados[3:(size-1)]
LAG.3 <- Dados[4:(size-0)]
RES.1 <- modelo1$residuals[2:(size-2)]
RESET <- resettest(Dados[1:(size-3)] ~ 1 + LAG.1 + LAG.2 + LAG.3 + RES.1)
resettest(Dados[1:(size-3)] ~ 1 + LAG.1 + LAG.2 + LAG.3 + RES.1)
##
## RESET test
##
## data: Dados[1:(size - 3)] ~ 1 + LAG.1 + LAG.2 + LAG.3 + RES.1
## RESET = 0.73622, df1 = 2, df2 = 990, p-value = 0.4792
Com o p-value 0.4792, não rejeitamos a hipótese de linearidade.