投资中性模型。可以让我们的投资组合的风险敞口极小。
# 滚动计算相关性
data <- cbind(ret_xom,ret_cvx)
correlation <- function(x){
result <- cor(x[,1],x[,2],use = "na.or.complete")
return(result)
}
corr <- rollapply(data,252,correlation,by.column=FALSE)
plot(corr)
# 滚动计算上下边界
hedge_ratio <- xom / cvx
roll_me <- rollapply(hedge_ratio,14,mean,na.rm=TRUE)
roll_std <- rollapply(hedge_ratio,14,sd,na.rm=TRUE)
# n是关键值
n <-1
roll_ub <- roll_me n * roll_std
roll_lb <- roll_me - n * roll_std
# 交易信号
signal <- NULL
signal <- ifelse(hedge_ratio > roll_ub,-1,
ifelse(hedge_ratio<roll_lb,1,0))
lagsignal <- Lag(signal,1)
signal <- ifelse(lagsignal == -1 & hedge_ratio>roll_me,-1,
ifelse(lagsignal == 1 & hedge_ratio <roll_me,1,0