R語言基于線性回歸的資本資產(chǎn)定價(jià)模型(CAPM)
原文鏈接:http://tecdat.cn/?p=20031?
?
簡(jiǎn)介
資本資產(chǎn)定價(jià)模型(CAPM)?是用于確定是否在一個(gè)特定資產(chǎn)的投資是值得的。本質(zhì)上,問題是:“該資產(chǎn)的回報(bào)是否值得投資?” 在本教程中,我們將應(yīng)用CAPM模型,使用多元回歸模型查看特定股票是否值得投資。
CAPM:公式
經(jīng)濟(jì)學(xué)就是權(quán)衡取舍。根據(jù)CAPM公式,基本上將股票或任何類型的資產(chǎn)類別與相對(duì)無風(fēng)險(xiǎn)的資產(chǎn)(通常是政府債券)進(jìn)行比較,因?yàn)檫@些資產(chǎn)的違約概率非常低。CAPM公式如下

E(Ri)是期望收益率。
Rf是無風(fēng)險(xiǎn)資產(chǎn),通常是政府債券。
βi 系數(shù)反映了單個(gè)證券與整體市場(chǎng)組合的聯(lián)動(dòng)性,用來衡量單個(gè)證券的風(fēng)險(xiǎn)。
E(Rm)-Rf被認(rèn)為是?風(fēng)險(xiǎn)溢價(jià)。
我們可以用下圖以圖形方式表示CAPM模型

在?證券市場(chǎng)線(SML)上的有效組合或者是單一的無風(fēng)險(xiǎn)資產(chǎn)或行是無風(fēng)險(xiǎn)資產(chǎn)與市場(chǎng)組合的組合。因此,資本市場(chǎng)線不能解釋所有的單一證券或者是只有風(fēng)險(xiǎn)證券組合的期望收益率和風(fēng)險(xiǎn)之間的關(guān)系。。
我們的目標(biāo)是使用線性回歸找到βi的值。
數(shù)據(jù)
我們將使用數(shù)據(jù)來查找每只股票的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
根據(jù)我們的數(shù)據(jù),我們有六只股票,我們必須決定這些股票是否值得投資。不幸的是,由于我們必須首先將數(shù)據(jù)轉(zhuǎn)換為公式(1),因此我們不能僅僅擬合回歸模型。我們將必須根據(jù)已有變量來計(jì)算新變量。
我們需要計(jì)算每只股票的風(fēng)險(xiǎn)溢價(jià)E(Rm)-Rf。
risk.premium <- mkt -riskfree

我們看一下股票(msft)的散點(diǎn)圖。
ggplot(aes(y = msft, x = risk.premium)) + geom_point(col='blue') + xlab('風(fēng)險(xiǎn)溢價(jià)') +

值得注意的是,風(fēng)險(xiǎn)溢價(jià)越高,期望收益就應(yīng)該越大。否則,投資具有期望低回報(bào)的高風(fēng)險(xiǎn)資產(chǎn)并不是明智之舉,因?yàn)檫@會(huì)導(dǎo)致?lián)p失。
擬合模型
現(xiàn)在我們可以開始擬合我們的回歸模型。首先,我們必須將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集。
# 我們將需要為所有六只股票創(chuàng)建回歸模型。
dis.fit <- lm(dis ~ riskfree + risk.premium, data = capm)
# 建立表格
kable(df, format = 'html') %>%

我們?nèi)绾谓忉岋L(fēng)險(xiǎn)溢價(jià)的價(jià)值?風(fēng)險(xiǎn)溢價(jià)越高,資產(chǎn)的波動(dòng)性或風(fēng)險(xiǎn)就越大,因此,投資者應(yīng)獲得可證明資產(chǎn)風(fēng)險(xiǎn)合理的回報(bào),以彌補(bǔ)損失。
現(xiàn)在我們已經(jīng)估計(jì)了beta,可以使用公式(1)計(jì)算每只股票的期望收益。
# 將預(yù)測(cè)添加到原始數(shù)據(jù)集
capm$dis.predict <- dis.predict
擬合回歸線
ggplot aes(y = dis.predict, x = risk.premium) +
geom_smooth(col='tomato2', method='lm') +







最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實(shí)現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)
6.r語言中對(duì)LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)
7.在R語言中實(shí)現(xiàn)Logistic邏輯回歸
8.python用線性回歸預(yù)測(cè)股票價(jià)格
9.R語言如何在生存分析與Cox回歸中計(jì)算IDI,NRI指標(biāo)
?
?
?