YES - CANBANK PAIR
Purpose
To check whether CAN bank and YES bank form a pair
> library(TSA) > library(lmtest) > library(fUnitRoots) > y1 <- (x[, 2]) > x1 <- (x[, 3]) |
Granger Test
> (grangertest(y1 ~ x1, order = 1))[2, 4] [1] 0.0624092 > (grangertest(x1 ~ y1, order = 1))[2, 4] [1] 0.3317135 |
Unit Root Test
> fit <- lm(y1 ~ x1) > if (summary(fit)$coefficients[1, 4] < 0.05) { + error <- residuals(fit) + } else { + fit <- lm(y1 ~ x1 + 0) + error <- residuals(fit) + } > n <- length(error) > res <- unitrootTest(error, lag = 1, type = "c") > attr(res, "test")$p.value[1] t 0.03138289 |
Chris Brooks test
> dy1 <- diff(y1) > dx1 <- diff(x1) > error.lag <- error[-n] > fit <- lm(dy1 ~ error.lag + dx1) > fit.summary <- summary(fit) > fit.summary$coefficients[2, 4] [1] 0.001984493 |
PFAFF test
> z <- data.frame(embed(cbind(dy1, dx1), 2)) > colnames(z) <- c("dy1", "dx1", "dy1.1", "dx1.1") > error.lag <- error[-c(1, n)] > fit <- lm(dy1 ~ error.lag + dy1.1 + dx1.1, data = z) > fit.summary <- summary(fit) > fit.summary$coefficients[2, 4] [1] 0.0407627 |
> title <- "CANARA - YES " > res <- armasubsets(error, nar = 14, nma = 14) Reordering variables and trying again: > plot(res, main = title) > eacf(error) AR/MA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 x x x x x x x x x x x x x x 1 o o o o x x o o o o o o x o 2 x o o o o o o o o o o o o o 3 x x o o o x o o o o o o o o 4 x x x o o o o o o o o o o o 5 x x x o o o o o o o o o o o 6 x x x o o o o o o o o o o o 7 x x x x o o o o o o o o o o |
It is not an AR process and hence risky to model it as an OU process
> plot(error, type = "l") > abline(h = 0) |
If I forcefit an OU process
> oufit <- lm(error[2:276] ~ error[1:275]) > b <- coefficients(oufit)[2] > a <- coefficients(oufit)[1] > kappa <- -log(b) * 252 > pair.half.life <- log(2) * 252/kappa > pair.half.life error[1:275] 8.265652 |
So, at min it is going to take 17 days to revert