04收益波动率计算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
proc sort data=log_ret; by Date; data sma(keep=Date); set log_ret; %macro a(x); data a; set log_ret; sum+rr&x; data b(keep=Date sma&x); merge a a (firstobs=21 rename=(sum=sum_1)); sma&x=(sum_1-sum)/(20-1); /* 这里计算的是20天移动平均 */ sma&x=sqrt(sma&x); proc sort data=b; by Date;
2005-05-01
2005-07-01 日期|Date
2005-09-01
2005-11-01
2006-01-01
图4.2 深发展日收益时序图
三种模型求得的波动率时序图,图4.3——图4.6。
smaStk000001 0.054 0.052 0.050 0.048 0.046 0.044 0.042 0.040 0.038 0.036 0.034 0.032 0.030 0.028 0.026 0.024 0.022 0.020 0.018 0.016 0.014 0.012 0.010
第4章 收益波动率计算
波动率估计法
收益波动率计算是金融计算与建模的基础,如风险度 量、资产定价等。 最简单的收益波动率计算模型是静态波动率估计模型。 实际中用的最成功、最常用的方法是移动平均、指数 平滑和GARCH模型。
移动平均模型
表4.1 移动平均法估计波动率
等权重
来自百度文库
ˆ
1 M 1
M t 1
(rt
GARCH模型
GARCH(Generalized Autoregressive Conditional Heteroskedasticity)模型称广义自回 归条件异方差模型,或称为广义ARCH模型,
GARCH模型假定收益的方差服从一个可预测的过程, 它依赖于最新的收益,也依赖于先前的方差。
GARCH(1,1)是这类模型中最简单的,用公式表示有:
rt j
t 2
[1/(M
1)] (rti
i 1
j 1
M
)2
这样每天通过增加前一天的信息和去掉第前M+1天 的信息来更新预测。
图4.1 波动率的时间曲线
指数加权移动平均模型依赖参数 ,称 为衰减因子
(decay factor),该参数决定估计波动率时各观察数据的相对 权重。
形式上,对t时间波动率的预测为:
图4.2为深发展日收益时序图。
rstk000001 0.10 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0.00 -0.01 -0.02 -0.03 -0.04 -0.05 -0.06 -0.07 -0.08 -0.09 -0.10 -0.11
2005-01-01 2005-03-01
data log_ret(rename=(r_1=r&x)); merge idxdate a; by date; if r_1=. then r_1=0; rr&x=r_1**2; /*日对数收益率的平方*/ %mend a; %a(stk000001); run;
简单加权移动平均(SMA)计算的波动率:
对涨跌停板不作处理。
单个股票波动率计算
分别选择股票深发展(Stk000001)进行计算。时间区间为2005年。
日对数收益率计算:
options nodate nonotes nosource; data idxdate(keep=date); set ResDat.idx000001; where year(date)=2005; /*其他时间区间可修改此处*/ %macro a(x); data a(keep=date r_1); set ResDat.&x; where year(date)=2005; r_1=log(mcfacpr*clpr)-log(lag(mcfacpr*clpr)); /*Mcfacpr为累积 股价调整乘子 */
data sma; merge sma b; by Date; if sma&x=. then delete; %mend a; %a(Stk000001); run;
输出结果数据集SMA,包括变量有: DATE:日期; SMAStk000001:股票深发展收益日波动率。
指数加权(EWMA) 以及GARCH(1,1)计算的波动率留作练习 (分别创建数据集ewma和garch)
r
)2
指数加权
M
ˆ (1 ) t1(rt r )2 t 1
注:近似公式
/ T j1
1
j 1
1
。精确权重为
j1
T
j1
j 1
简单移动平均(Simple Moving Average, SMA)模
型是动态模型中最为简单的一种。它是以过去M天收益 的样本方差来估计当前的波动率,即:
M
M
2 t
2 t 1
(1 )[rt1
E(rt1 )]2
其中,衰减因子λ必须小于1。
当时间足够长时,E(rt1) 与 E(rt ) 几乎相等。事实上,一般假 设 E(rt ) 约等于0,于是得到t时刻波动率的如下预测:
2 t
2 t 1
(1 )rt21
衰减因子λ小于1。
对于日收益率数据,最优衰减因子λ为 0.94;对于月度收益率数据,最优衰减 因子λ为0.97。
rt ht et
ht
0
1rt
2 1
1ht1
et ~ iidN (0,1)
其中 0 ,1和1 均为待估的参数,可以用历史数据估计出。
波动率计算
计算环境
计算数据集:ResDat目录下的全部股票数据集,共30 只。
需要宏文本文件:Stk.TXT。
时间区间: 2005年。
计算日波动率;计算周、月或年波动率,可以用相应的 收益率计算或直接由日波动率乘以一个相关因子。
三种模型结果比较
画出2005年,股票Stk000001(深发展)的对数收益 图,图4.2。
%macro a(x); proc gplot data=log_ret; plot r&x*Date=1 ; symbol1 v=none i=join r=1 c=black line=1; %mend a; %a(Stk000001); run;
相关文档
最新文档