Test de Dickey Fuller Aumentado en R

En la prueba de Dickey-Fuller Estándar describimos la prueba de Dickey-Fuller que determina si un proceso AR (1) tiene una raíz unitaria, es decir, si es estacionario. Pero en esa prueba sólo tenemos en cuenta un lag o retardo.

 En el Test de Dickey Fuller Aumentado lo que haremos será ampliar esta prueba a los procesos AR (p),de manera que estudiaremos más lags en en el modelo. En el siguiente video lo explico y hago un pequeño ejemplo en R.

 

CÓDIGO EN R DEL VIDEO

 

#video dickey fuller

#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«fImport»)
library(fImport)

library(«httr»)

library(RCurl)

library(rjson)
#install.packages(«parsedate»)
library(parsedate)
require(tseries)

library(urca)

getSymbols(«LTC-USD»,quote=»Close»,from =»2016-01-01″,periodicity = «daily»)
getSymbols(«BTC-USD»,quote=»Close»,from =»2016-01-01″,periodicity = «daily»)
getSymbols(«ETH-USD»,quote=»Close»,from =»2016-01-01″,periodicity = «daily»)
getSymbols(«THETA-USD»,quote=»Close»,from =»2016-01-01″,periodicity = «daily»)

getSymbols(«ADA-USD»,quote=»Close»,from =»2016-01-01″,periodicity = «daily»)
getSymbols(«ETH-USD»,quote=»Close»,from =»2016-01-01″,periodicity = «daily»)


plot(`BTC-USD`[,4],type=»l»)
plot(`ETH-USD`[,4],type=»l»)
plot(`LTC-USD`[,4],type=»l»)

plot(`ADA-USD`[,4],type=»l»)
plot(`THETA-USD`[,4],type=»l»)

 

#### TEST DE DICKEY FULLER STANDARD


p_litecoin<- na.omit(`LTC-USD`[,4])

adf.test(p_litecoin,k=0) #type 2 cont +tend


?adf.test


# número de datos 1982 +500
# valor critico -3.413 al 5%
# valor t -2.7863


#compara el valor critico con el t

# t> v_crit

#Prueba de Dickey-Fuller


#Con intercepto y constante

y=ur.df(p_litecoin,type=»trend»,lags=0)
summary(y)

y@teststat
y@cval

?ur.df

### retornos la de serie

d_litecoin<- na.omit(diff(log(p_litecoin)))

plot(d_litecoin,type=»l»)

y_ret=ur.df(d_litecoin,type=»trend»,lags=0)
summary(y_ret)

adf.test(d_litecoin,k=0)

#con intercepto


y_intercept=ur.df(p_litecoin, type=»drift»,lags=0)
summary(y_intercept)


#Sin tendencia y sin intercepto

y_nada=ur.df(p_litecoin, type=»none»,lags=0)
summary(y_nada)

 

#### TEST DICKEY FULLER AUMENTADO

## Formas de elegir los lags

# 1 Crear un modelo AR(p) y elegir el menor AIC como en el
# video de ARIMA que hice

# USar la formula por defecto

p_litecoin<- na.omit(`LTC-USD`[,4])

ADF_x <- adf.test(p_litecoin,k=2) #type 2 cont +tend
ADF_x
ADF_x$statistic


ADF_y <- adf.test(p_litecoin,k=10) #type 2 cont +tend
ADF_y

ADF_y$statistic

ADF_z <- adf.test(p_litecoin,k=20) #type 2 cont +tend
ADF_z$statistic

 

ADF_defecto <- adf.test(p_litecoin)
ADF_defecto


?adf.test

k = trunc((length(x)-1)^(1/3))

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio