其他分享
首页 > 其他分享> > R语言基于线性回归的资本资产定价模型(CAPM)

R语言基于线性回归的资本资产定价模型(CAPM)

作者:互联网

原文链接:http://tecdat.cn/?p=20031 

 

简介

资本资产定价模型(CAPM) 是用于确定是否在一个特定资产的投资是值得的。本质上,问题是:“该资产的回报是否值得投资?” 在本教程中,我们将应用CAPM模型,使用多元回归模型查看特定股票是否值得投资。

CAPM:公式

经济学就是权衡取舍。根据CAPM公式,基本上将股票或任何类型的资产类别与相对无风险的资产(通常是政府债券)进行比较,因为这些资产的违约概率非常低。CAPM公式如下

我们可以用下图以图形方式表示CAPM模型

在 证券市场线(SML)上的有效组合或者是单一的无风险资产或行是无风险资产与市场组合的组合。因此,资本市场线不能解释所有的单一证券或者是只有风险证券组合的期望收益率和风险之间的关系。。

我们的目标是使用线性回归找到βi的值。

数据

我们将使用数据来查找每只股票的beta。

​
kable(head(capm, 11), format = 'html') 

​

 

##       dis                  ge                  gm           
##  Min.   :-0.267794   Min.   :-0.234902   Min.   :-0.389313  
##  1st Qu.:-0.043638   1st Qu.:-0.032974   1st Qu.:-0.076167  
##  Median : 0.005858   Median :-0.004716   Median :-0.013017  
##  Mean   : 0.001379   Mean   : 0.001361   Mean   :-0.009081  
##  3rd Qu.: 0.047858   3rd Qu.: 0.040096   3rd Qu.: 0.068138  
##  Max.   : 0.241453   Max.   : 0.192392   Max.   : 0.276619  
##       ibm                 msft                xom           
##  Min.   :-0.226453   Min.   :-0.343529   Min.   :-0.116462  
##  1st Qu.:-0.038707   1st Qu.:-0.056052   1st Qu.:-0.028031  
##  Median : 0.006482   Median : 0.003996   Median : 0.003309  
##  Mean   : 0.008332   Mean   : 0.008557   Mean   : 0.010488  
##  3rd Qu.: 0.051488   3rd Qu.: 0.056916   3rd Qu.: 0.041534  
##  Max.   : 0.353799   Max.   : 0.407781   Max.   : 0.232171  
##       mkt               riskfree       
##  Min.   :-0.184726   Min.   :0.000025  
##  1st Qu.:-0.022966   1st Qu.:0.001376  
##  Median : 0.010952   Median :0.002870  
##  Mean   : 0.002511   Mean   :0.002675  
##  3rd Qu.: 0.037875   3rd Qu.:0.003904  
##  Max.   : 0.083925   Max.   :0.005195

根据我们的数据,我们有六只股票,我们必须决定这些股票是否值得投资。不幸的是,由于我们必须首先将数据转换为公式(1),因此我们不能仅仅拟合回归模型。我们将必须根据已有变量来计算新变量。

我们需要计算每只股票的风险溢价E(Rm)-Rf。

risk.premium <- mkt -riskfree

我们看一下股票(msft)的散点图。

ggplot(aes(y = msft, x = risk.premium)) + geom_point(col='blue') + xlab('风险溢价') + 

值得注意的是,风险溢价越高,期望收益就应该越大。否则,投资具有期望低回报的高风险资产并不是明智之举,因为这会导致损失。

拟合模型

现在我们可以开始拟合我们的回归模型。首先,我们必须将数据分为训练集和测试集。

# 我们将需要为所有六只股票创建回归模型。
dis.fit <- lm(dis ~ riskfree + risk.premium, data = capm)


# 建立表格

kable(df, format = 'html') %>%

我们如何解释风险溢价的价值?风险溢价越高,资产的波动性或风险就越大,因此,投资者应获得可证明资产风险合理的回报,以弥补损失。

现在我们已经估计了beta,可以使用公式(1)计算每只股票的期望收益。

# 将预测添加到原始数据集
capm$dis.predict <- dis.predict

拟合回归线

ggplot aes(y = dis.predict, x = risk.premium) + 
  geom_smooth(col='tomato2', method='lm') + 


最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

 

 

标签:Qu,3rd,Min,##,模型,CAPM,1st,线性,回归
来源: https://blog.51cto.com/u_15198753/2769893