全文链接:http://tecdat.cn/?p=31757
原文出处:拓端数据部落公众号
投资者最关怀的两个问题就是收益率和股息,两者作为公司经营情况的两个重要方面,往往同时呈现在投资报告中,二者之间具备较强的关联性。目前,国内外对于股票股息收益、股息收益率和股权溢价等方面的钻研已有很多,但大多数是对于市场环境或宏观因素对上述指标产生影响的钻研。
本文抉择沪深两市股票作为钻研对象,帮忙客户构建两阶段最小二乘法 2 SLS 回归、工具变量法分析股息收益、股息收益率和股权溢价,旨在探索指标间是否具备显著相干关系。钻研论断不仅为投资者提供了剖析投资机会的理论依据,还有助于上市公司进行决策分析。此外,文章还对相干行业的倒退具备肯定指导意义。
1. 数据
表格中包含从 1965 年到 2014 年的月度数据,须要用到的是:yyyymm(年⽉),
index(s&p 500 price index),Dividend, D12(dividend yield), Rfree(risk-free rate)
读取数据,查看数据
head(data)
## yyyymm Index Dividend D12 E12 b/m tbl AAA BAA
## 1 196501 87.56 2.51667 2.51667 4.59333 0.4717232 0.0381 0.0443 0.0480
## 2 196502 87.43 2.53333 2.53333 4.63667 0.4713995 0.0393 0.0441 0.0478
## 3 196503 86.16 2.55000 2.55000 4.68000 0.4694899 0.0393 0.0442 0.0478
## 4 196504 89.11 2.57000 2.57000 4.73333 0.4525593 0.0393 0.0443 0.0480
## 5 196505 88.42 2.59000 2.59000 4.78667 0.4546643 0.0389 0.0444 0.0481
## 6 196506 84.12 2.61000 2.61000 4.84000 0.4808590 0.0380 0.0446 0.0485
## lty ntis Rfree infl ltr corpr svar
## 1 0.0422 0.01790289 0.003175000 0.0009600000 0.0040 0.0081 0.0001534973
## 2 0.0424 0.01482236 0.003275000 0.0000000000 0.0014 0.0009 0.0003681211
## 3 0.0422 0.01913336 0.003275000 0.0009590793 0.0054 0.0012 0.0001431412
## 4 0.0422 0.01472169 0.003275000 0.0022357074 0.0036 0.0021 0.0001654871
## 5 0.0423 0.01624416 0.003241667 0.0031867431 0.0018 -0.0008 0.0003363517
## 6 0.0423 0.01755028 0.003166667 0.0041296061 0.0047 0.0003 0.0018498325
## csp CRSP_SPvw CRSP_SPvwx
## 1 -0.0022007442 0.034791 0.033837
## 2 -0.0022017761 0.003746 -0.000853
## 3 -0.0021373681 -0.012213 -0.013685
## 4 -0.0021429735 0.035612 0.034769
## 5 -0.0025656153 -0.003122 -0.008354
## 6 -0.0023808197 -0.046880 -0.048367
#须要用到的是有红色标记的:yyyy(年份),price index(s&p 500 price index),D12(dividend yield),Rfree(risk-free)
CampaignData <- na.omit(subset(AllData, select=c("yyyymm","Index","D12","Rfree","Dividend")))
2. 自变量 x
⾃变量 x 是 D12(dividend-yield),DY(t)=log[D(t)/P(t-1)], 这⾥的 D(t)就是表格中的 Dividend。P(t-1) 就是表格中的 index.
DY=log(Dt/Pt)
3. 因变量 y
因变量 y 是股权溢价 (equity premium),公式是 equity premium=rm(t)-rf(t)
对于 rm(t): rm(t)=log[Rm,t]=log[(P(t)+D(t)) / P(t-1) ],D(t)就是表格中的 Dividend.
P(t),P(t-1)就是表格中的 index.
对于 rf(t): rf(t)=log[1+Rf(t)], 这⾥的 Rf(t)就是表格中的 Rfree(risk-free rate)
equity_premium=Rm-Rf
y=equity_premium
4. 模型
y(t)=β* x(t-1)+ε(t) (1)
oequity_premium[-1] ~ CampaignData$D12[-n] +I(1:(n-1)), data=CampaignData)
x(t)= ρ* x(t-1)+u(t) (2)
5. 工具变量:
z(t)=ρz* z(t-1)+Δx(t) , 其中 ρz 是 z(t-1)的系数,和式⼦(2)中的 ρ 不是同⼀个值.
这⾥的
z0=0,ρz=1+c/nκ,c=-1,k=0.95
c=-1
z=0
ρz=1+c/(n^k)
for(i in 1:n)z[i+1]=ρz*z[i]+x[i]
z=z[-1]
6. 用两阶段最⼩二乘法做回归,2SLS
具体做法:
(1)通过工具变量计算出 z(t-1)的数值
(2)建⽴ x(t-1)与 z(t-1)的函数关系:x(t-1)=αz(t-1)+ e(t), 通过 OLS 得出 α 的估计值,
而后得出 x(t-1)的估计值。x(t-1)的估计值= α 的估计值* z(t-1)
(3)把 x(t-1)的估计值带⼊到第⼀个式⼦中,即 y(t)=β* x(t-1)的估计值 +ε(t),再
进⾏ OLS 回归,最初失去 β 的估计值,以及 test-statistic 的值,和 p -value.
# 建⽴ x(t-1)与 z(t-1)的函数关系
n=length(x)
olsmodel <- lm(x[-1] ~ z[-n] +I(1:(n-1)), data=CampaignData)
# summary(olsmodel)
# 得出 x(t-1)的估计值
# fitted(olsmodel)
# 把 x(t-1)的估计值带⼊到第 1 ⼀个式⼦中,即 y(t)=β*x(t-1)的估计值 +ε(t)
p=summary(olsmodel)[4]$coefficients[,4][2]
return(p)
p=numeric(0)
fo){p=c(p,f(x[xx[i]:xx[i+1]],y[yy[j]:yy[j+1]]))
7.p-value surfaces 图:
须要的是失去下⾯的这样一张图,⽤ p -value 构建的。
具体形容是:
所选取的样本区间是从 1965 年 1 ⽉到 2014 年 12 ⽉,以 5 年为⼀个最短的⼦样本。
图的 y 轴为样本的起始点⼀共 540 个(从 1965 年 1 ⽉到 2009 年 12 ⽉),x 轴为样本的起点⼀共也是 540 个(从 1970 年 1 ⽉到 2014 年 12 ⽉)。图中的每⼀个点为⼀个⼦样本的 p -value 的值。
for(j in 1:(length(yy)-1)){p=c(p,f(x[xx[i]:xx[i+1]],y[yy[j]:yy[j+1]]))
persp(xx, yy, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue")
最受欢迎的见解
1.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e7%94%…)R 语言多元 Logistic 逻辑回归 利用案例
2.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88%…)面板平滑转移回归 (PSTR) 剖析案例实现
3.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e5%9c%…)matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e4%bd%bf%e7%94%…)R 语言泊松 Poisson 回归模型剖析案例
5.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88%…)R 语言回归中的 Hosmer-Lemeshow 拟合优度测验
6.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80ggplot2%e8%af%af%e5%b7%ae…)r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现
7.[](http://tecdat.cn/r-%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e5%8a…)在 R 语言中实现 Logistic 逻辑回归
8.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e6%89%…)python 用线性回归预测股票价格
9.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e7%9a%84%e7%94%…)R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标