2 votos

¿Cómo construir un vector de cointegración utilizando más de 2 series de precios en R?

Ahora uso este código de hier ¿Por qué los siguientes datos no superan mi prueba de cointegración? con una ligera modificación de la posibilidad de cargar algo directamente desde el almacenamiento de archivos de Dropbox .

library(RCurl)
library(zoo)
library(tseries)

x <- getURL("https://dl.dropboxusercontent.com/u/12337149/stat/CBA.csv")
y <- read.csv(text = x)

x1 <- getURL("https://dl.dropboxusercontent.com/u/12337149/stat/WBC.csv")
y1 <- read.csv(text = x1)

##gld <- read.csv("CBA.csv", stringsAsFactors=F)
##gdx <- read.csv("GDX.csv", stringsAsFactors=F)

gld <- y
gdx <- y1

gld <- zoo(gld[,5], as.Date(gld[,1]))
gdx <- zoo(gdx[,5], as.Date(gdx[,1]))

t.zoo <- merge(gld, gdx, all=FALSE)
t <- as.data.frame(t.zoo)

cat("Date range is", format(start(t.zoo)), "to", format(end(t.zoo)), "\n")

m <- lm(gld ~ gdx + 0, data=t)
beta <- coef(m)[1]

cat("Assumed hedge ratio is", beta, "\n")

sprd <- t$gld - beta*t$gdx
ht <- adf.test(sprd, alternative="stationary", k=0)

cat("ADF p-value is", ht$p.value, "\n")

if (ht$p.value < 0.05) {
    cat("The spread is likely mean-reverting\n")
} else {
    cat("The spread is not mean-reverting.\n")
}

¿Cómo construir un vector de cointegración utilizando más de 2 series de precios en R?

1voto

Nilo Puntos 6

Utilizar la función "vars" del paquete ca.jo para el análisis de cointegración (procedimiento de Johansen) de una serie temporal multivariante. A continuación se muestra un fragmento de código del archivo de ayuda de las funciones:

data(denmark)
sjd <- denmark[, c("LRM", "LRY", "IBO", "IDE")]
sjd.vecm <- ca.jo(sjd, ecdet = "const", type="eigen", K=2, spec="longrun",
season=4)
summary(sjd.vecm)

Carga un conjunto de datos denmark , extrae cuatro series temporales en una matriz sjd , lleva a cabo el procedimiento de Johansen mediante la función ca.jo e imprime su resumen.

Puede extraer el vectores de cointegración dirigiéndose a la ranura V por @V como sjd.vecm@V . Esto será una matriz donde cada columna es un vector de cointegración. Puede multiplicar la serie multivariante original (como sjd ) a la V para obtener los términos de corrección del error.

Una buena introducción es la "viñeta" del paquete "vars" y Pfaff "Analysis of Integrated and Cointegrated Time Series with R" (un libro de texto).

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X