基于协整关系的配对交易比之前的基于距离和相关性要更先进一些。收益上确实也体现出来了。
library(tseries)
adf.test(xom)
adf.test(cvx)
model <- lm(xom ~ cvx 0)
summary(model)
adf.test(as.ts(model$residuals))
bp <- get_symbol_cl("BP")
model <- lm(xom ~ bp 0)
adf.test(as.ts(model$residuals))
plot(cbind(xom,bp * model$coefficients),
col = c("black", "red"),
main = "xom & model$coefficients")
plot(as.xts(model$residuals, index(xom)),
main = "model$residuals")
plot(signal, main = "交易信号")
roll_me <- rollapply(model$residuals,14,mean)
roll_std <- rollapply(model$residuals,14,sd)
n <- 1
roll_ub <- roll_me n * roll_std
roll_lb <- roll_me - n * roll_std
signal <- NULL
signal <- ifelse(model$residuals>roll_ub,-1,
ifelse(model$residuals<roll_lb,1,0))
lagsignal <- Lag(signal,1)
signal <- ifelse(lagsignal == -1 & model$residuals > roll_me,-1,