一、简介

  1. 这是一篇关于线性回归的基本操作,用月度收益率数据以及其所在市场的市场收益率数据,通过StataIC软件求得个股的β系数
  2. 博主是一个普普通通的大学生,没有很厉害的技术,写的内容都是不太正经的偏小白简单的,写的也是学校教过的知识消化后自己的见解,不是很学术研究的博文。
  3. 配置:Window 7旗舰版+64位操作系统+StataIC 14(64-bit)

二、参数解释

1. β值的含义


  1. β=1,表示该单项资产的风险收益率与市场组合平均风险收益率呈同比例变化;
  2. β>1,说明该单项资产的风险收益率高于市场组合平均风险收益率;
  3. β<1,说明该单项资产的风险收益率小于市场组合平均风险收益率。

2.回归法求β系数的两个模型

(1)CAPM模型

回归结果要写t值 回归t值怎么算_日期格式


其中:

  • E(Ri)= 资产i的期望收益率
  • Rf =无风险收益率
  • Rm = 市场平均收益率

(2)市场模型

回归结果要写t值 回归t值怎么算_日期格式_02

3.变量名解释

  1. shjc:上海机场的日收益率(仅以上海机场为例)
  2. rm:上证综指的日收益率
  3. rf:上海银行间同业拆借利率(SHIBOR)隔夜利率

三、数据处理

1.导入数据

回归结果要写t值 回归t值怎么算_数据_03

因为date数据列红了,表示我们需要设置日期格式。步骤如下:

  1. 新建变量d:gen 新varname=date(旧varname,"YMD") 命令:gen d=date(date,“YMD”)
  2. 回归结果要写t值 回归t值怎么算_时间序列_04


  3. 点击变量名d,解开properties的小锁,点击format右框的可选框“…”
  4. 选择daily为想要实现的日期格式。
  5. 把红色不符合格式的数据的变量date删除(drop 旧varname
    输入命令:drop date
  6. 把修改好格式的变量d,重新命名为date(rename 新varname 旧varname
    输入命令:rename d date

    结果如下图所示:

    Stata数据页面结果:

2.设置数据格式为时间序列

本次实验的数据为时间序列,在做平稳性检验之前,需要设置数据格式为时间序列。(tsset 时间varname

  • 输入命令:tsset date
  • 结果如下图所示:

3.检验数据的平稳性

  1. 检验shjc的平稳性(dfuller varname1
    输入命令:dfuller shjc

    结果如下图所示:shjc是平稳的
  2. 检验rm的平稳性(dfuller varname2
    输入命令:dfuller rm

    结果如下图所示:rm是平稳的

四、根据市场模型做回归

根据公式Ri=αi+βiRm做回归,估计β系数,时间段为:2018年1月1日-2020年6月20日。(reg varname1 varname2

  1. 输入命令:reg shjc rm

    结果如下图所示:
  2. 结果
    (rm行,coef列处)系数为0.7746;p值为0,非常显著。2018年1月1日-2020年6月20日间,用的日频数据算出最后公式为:

五、根据CAPM模型做回归

根据公式Ri= Rf+βi(Rm-Rf)做回归,估计β系数,时间段为2018年1月1日-2020年6月20日。

  1. 输入命令:
    (1)gen shjcrf=shjc-rf
  2. 回归结果要写t值 回归t值怎么算_回归结果要写t值_05

  3. (2)gen rmrf=rm-rf
  4. 回归结果要写t值 回归t值怎么算_时间序列_06

  5. (3)reg shjcrf rmrf
  6. 回归结果要写t值 回归t值怎么算_回归结果要写t值_07

  7. 结果如下图所示:
  8. 回归结果要写t值 回归t值怎么算_数据_08

  9. 结论:
    说明上海机场在时间区间2018年1月1日至2020年6月20日内,其股票的β值为0.999.说明在其他条件不变的时候,市场超额收益变动1单位,这只股票超额收益变动0.999个单位。
  10. 最终结果:
    (rmrf行,coef列处)系数为0.999;p值为0,非常显著。2018年1月1日-2020年6月20日间,用的日频数据算出最后公式为:
  11. 回归结果要写t值 回归t值怎么算_stata 数据分析_09

  12. 其中:
    E(Ri)= 资产i的期望收益率
    Rf =无风险收益率
    Rm = 市场平均收益率

六、若要更改时间区间

  1. 更改时间区间为2017年1月1日-2020年6月1日,求β
  2. 通过drop命令删除某时期前的数据
    输入命令:
    (1)sort date

    (2)gen time=_n

    (3)drop if time<1701(drop if time<时间节点,本例中这个节点为1701)

    结果如下图所示:
  3. 回归命令:
    (1)输入命令:reg shjc rm

    (2)输入命令: reg shjcrf rmrf
  4. 按照第四、五点的操作再进行一遍即可。

七、总结

知道每个命令是怎么用,算出来的数据中哪个是什么意思,哪个是我们需要的。