我正在研究微软(MSFT)如何解释其他科技股,即谷歌(GOOG),Facebook(FB)和亚马逊(AMZN)。
getSymbols(c("MSFT","GOOG","FB","AMZN"), from=as.Date("2015-01-01"))
然后我运行一个简单的线性回归并提取系数
reg <- lm(log(Ad(MSFT)) ~ log(Ad(GOOG))+log(Ad(FB))+log(Ad(AMZN)))
w <- reg$coef[2:4]
sum(w) = 0.9021839
现在我希望权重之和为1,即
sum(w) = 1
所以我做了以下事情:
w_adj <- reg$coef[2:4]/sum(reg$coef[2:4])
这样,权重之和等于1,但显然拦截必须改变。
我如何估计新的拦截,即w_adj的拦截?
我虽然如下:
dat <- merge(log(Ad(GOOG)),log(Ad(FB)),log(Ad(AMZN)),all=FALSE)
adj <- xts(dat %*% w_adj, index(dat))
reg_adj <- lm(log(Ad(MSFT))-adj ~ 1)
有意义吗?
我还认为加权回归是另一种选择。
非常感谢任何帮助。