R语言样条曲线、分段线性回归模型piecewise regression估计个股beta值分析收益率数据

最近我们被客户要求撰写关于回归的研究报告,包括一些图形和统计输出。一只 股票的beta值通常意味着它与市场的关系,当市场变动 1%时,我们期望股票会发生多少百分比的变动。

市场,是一个有点模糊的概念,像往常一样,我们使用标准普尔500指数进行近似计算。上述关系(以下简称β)对交易和风险管理的许多方面是不利的。已经确定的是,波动率对于上涨的市场和下跌的市场有不同的动态。我们无论如何都要使用回归来估计贝塔值,所以对于希望拟合这种不对称性的投资者来说,分段线性回归是合适的。

相关视频:非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

,时长05:41

这个想法很简单,我们将数据集分成两个(或更多)部分,并分别、逐块或 分段估计每个部分。这个简单的想法可以用复杂的符号和代码来实现。

为了说明,我使用 Microsoft 股市收益率数据(MSFT)。

我对不同收益率估计了不同的β值,正日在零以上,负日在零以下,所以零是我们的突破点。(这个突破点在学术术语中被称为 "结",为什么是 "结 "呢?因为它把两部分联系在一起。) 下面的图显示了结果。
 

getSymbols




for (i in 1:l){

dat0 = getSymbols

rt[,i] = dt[,4]/dt[,1] - 1

}

lal = lm

plot abline

也许β值一直都是一样的,直到极端的负值,只有说当市场急剧下降时,关系才会改变。这属于结构性变化的范畴。我考虑沿轴线的点的网格,并建立一个模型,在每个点上有一个断点,断点前有一个斜率,断点后有一个斜率。我寻找整个样本的平方误差之和的最小值,所以我把两个模型的平方误差相加。下图显示了结果。

​

plot(ret[,1]~ret[,2]
segments
grid1
grid2 

## 注意这里(ret[,2]<grid2[i]),是指标函数


for (i in 1:length(gid2) ) {
rneg <-lm
rpos <-lm
d[i]<- summary
}
plot
text
points
​

在最优模型上进行网格搜索

好吧,数据说突破点不是零,但几乎为零,运气不好,所有这些工作,我问你什么?好吧,为了使用正确的 贝塔 ,你现在要做的就是决定是熊市还是牛市......应该是轻而易举的事。感谢阅读,代码如下所示。

数据显示,结点不是零,但几乎是零,为了使用正确的β值,你现在要做的就是决定,这是一个熊市还是一个牛市,谢谢阅读。 

                                                                                                   


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值