数据实操题
一、题目要求
请挑选一家公司,自行收集数据(日数据,样本区间 2015.1.1-2017.12.31),估算该公司在 2015, 2016, 2017 各个年度上的 (1) 日平均收益率;(2) 日收益率的波动率;(3) β \beta β 系数,并做简要分析。
二、问题解答
(1) 调入数据并作简要处理
(1)-1 调入股票数据
*-调入股票数据
clear
cls
global id="000538" // 选取股票代码并生成全局变量
global nn="云南白药" // 确定股票名并生成全局变量
cntrade $id // 调入数据 云南白药 (SZ:000538)
fsum
(1)-2 了解股票数据概况
数据概况:
Variable | N | Mean | SD | Min | Max |
---|---|---|---|---|---|
stkcd | 5826 | 538.00 | 0.00 | 538.00 | 538.00 |
date | 5826 | 16856.76 | 2601.37 | 12402.00 | 21445.00 |
clsprc | 5826 | 36.53 | 29.30 | 2.40 | 118.45 |
hiprc | 5826 | 37.08 | 29.70 | 2.43 | 120.05 |
lowprc | 5826 | 35.91 | 28.85 | 2.35 | 116.00 |
opnprc | 5826 | 36.47 | 29.25 | 2.40 | 117.30 |
rit | 5826 | 0.00 | 0.04 | -0.32 | 2.06 |
turnover | 5826 | 1.53 | 2.91 | 0.01 | 55.28 |
volume | 5826 | 2.31e+06 | 3.21e+06 | 3719.00 | 4.29e+07 |
transaction | 5826 | 1.24e+08 | 2.30e+08 | 19393.60 | 3.26e+09 |
tcap | 5826 | 2.50e+10 | 3.05e+10 | 2.11e+08 | 1.23e+11 |
mcap | 5826 | 2.28e+10 | 3.13e+10 | 4.80e+07 | 1.23e+11 |
(1)-3 绘制股价时序图
*-股价时序图
tsset date //设定为时间序列变量
tsline clsprc , xlabel(,angle(60)) subtitle("$nn $id")
graph export "$out\price_$id.png", replace
(1)-4 调入指数数据
*-调入指数数据
global index_id="399001" // 选取指数代码并生成全局变量
clear
cls
cntrade $index_id , index //调入指数数据——深成指
fsum
(1)-5 了解指数数据概况
数据概况:
Variable | N | Mean | SD | Min | Max |
---|---|---|---|---|---|
indexcd | 6732 | 3.99e+05 | 0.00 | 3.99e+05 | 3.99e+05 |
date | 6732 | 16439.76 | 2924.00 | 11415.00 | 21500.00 |
clsprc | 6732 | 6265.12 | 4221.65 | 402.50 | 19531.15 |
hiprc | 6732 | 6332.53 | 4267.73 | 408.02 | 19600.03 |
lowprc | 6732 | 6188.10 | 4164.95 | 397.67 | 19203.11 |
opnprc | 6732 | 6260.91 | 4218.51 | 401.57 | 19554.58 |
rmt | 6715 | 0.00 | 0.02 -0.20 | 0. | 26 |
volume | 6732 | 1.89e+09 | 3.62e+09 | 0.00 | 3.15e+10 |
transaction | 6732 | 2.61e+10 | 5.77e+10 | 0.00 | 6.20e+11 |
(1)-6 绘制指数时序图
*-指数时序图
tsset date //设定为时间序列变量
tsline clsprc , xlabel(,angle(60)) subtitle("深成指 $index_id")
graph export "$out\index_$index_id.png", replace
(1)-7 合并股票数据和指数数据
*-合并股票数据和指数数据
use "$index_id.dta", clear
merge 1:1 date using "$id.dta", nogen // 合并数据
Result # of obs.
-----------------------------------------
not matched 906
from master 906
from using 0
matched 5,826
-----------------------------------------
(2) 结果计算
*-结果计算
gen year=year(date) //生成年份变量方便分年度计算
(2)-1 计算2015年的 (1) 日平均收益率;(2) 日收益率的波动率;(3) β \beta β 系数
*-计算2015年的 (1) 日平均收益率;(2) 日收益率的波动率;(3) beta 系数
fsum rit if year==2015 , f(10.5) stats(mean sd)
Variable | N | Mean | SD |
---|---|---|---|
rit | 244 | 0.00099 | 0.02784 |
2015年日平均收益率为0.099%
2015年日收益率的波动率为2.784%
reg rit rmt if year==2015 // OLS
aaplot rit rmt if e(sample), xline(0,lp(dash) lc(red)) ///
yline(0,lp(dash) lc(red)) msize(*0.6) ///
title("$nn ($id) 的 Beta 系数, 2015年") ///
xtitle("市场指数收益率(深成指)")
graph export "$out\aaplot_$id_b$yr1.png", replace
Result:
Source | SS df MS Number of obs = 244
-----------+---------------------------------- F(1, 242) = 169.26
Model | .077527692 1 .077527692 Prob