CAPM中的参数稳定性(带R)

时间:2018-04-16 12:42:19

标签: r finance quantmod

我试图使用CAPM测试参数稳定性。基本上,我有一个股票和市场指数,我试图评估一个特定的事件后,回归的beta变化是否显着。

如果您不熟悉CAPM,基本上是一个简单的回归,根据无风险利率和市场指数为我们提供所需的股票回报。

看起来像这样: Rr = alpha + B(Rmkt-rf)+ e

我想添加一个虚拟和虚拟交互变量来将模型转换为:

Rr = Alpha + Alpha *(休息)+ B(Rmkt-rf)+ B(Rmkt-rf)*(休息)+ e

因此,break事件在事件之前的时间段为0,在事件之后为1。通过这种方式,我打算捕获拦截中的切换(使用alpha)和斜率(使用beta),如果这些估计值很重要的话。

为此,我用getSymbols获取符号:

ARG=ARGT$ARGT.Adjusted
WORLD=XWD.TO$XWD.TO.Adjusted

请注意,ARG是我的股票,WORLD是我的市场指数

然后我只使用调整后的版本,因为它们已针对拆分进行了更正。

ARG=ARGT$ARGT.Adjusted
WORLD=XWD.TO$XWD.TO.Adjusted

然后我继续使用quantmod的weeklyReturn函数获取每周回报:

WEKar=weeklyReturn(ARG, subset=NULL, type='arithmetic',leading=TRUE)

WEKwo=weeklyReturn(WORLD, subset=NULL, type='arithmetic',leading=TRUE)

之后,我需要多余的回报,所以我使用给定的无风险费率:(每周)rf = 0.61 / 52,我将其命名为rf

所以

#WEEKLY EXCESS RETURNS
WexretAR=(WEKar-rf)
WexretWO=(WEKwo-rf)

(我不确定这样做是否正确以分析超额收益。)

然后我继续创建我的虚拟变量,即在所谓的中断之前和之后的0和1列。

 WexretWO$dummy <- rep(0,length(WexretWO[,1]))
 for(i in 254:length(WexretWO[,1])){
 WexretWO$dummy[i]<- 1
 }

interaction <- rep(0,length(WexretWO[,1]))
for(i in 1:length(WexretWO[,1])){
interaction[i] <- WexretWO$weekly.returns[i] * WexretWO$dummy[i]
}

然后我以这种方式继续使用虚拟交互进行回归:

betaregres2=lm(WexretAR ~ WexretWO$weekly.returns + WexretWO$dummy + 
interaction)
summary(betaregres2)

我的问题是,如果你们认为这是完成这项任务的正确方法?我真的很想知道你对处理这些休息的意见,以及这是否是评估它们的最有效方式。

提前谢谢你,我很抱歉任何错误或邋..我是新来的。

0 个答案:

没有答案