下面研究GARCH模型导致的波动率期限结构, 比如, 日对数收益率的波动率与月对数收益率的波动率的关系。 以时间\(t\)为基础, 距离\(t\)时刻\(h\)期(比如\(h\)个交易日)的对数收益率为 \[\begin{aligned} 其中\(\sigma_{t,h}^2\)表示以\(h\)期为单位的基于时刻\(t\)计算的条件方差, 即\(h\)期的对数收益率的波动率平方,
有了上面的多期预测公式, GARCH模型就可以用来从单期对数收益率波动率换算多期对数收益率波动率。
下面写一个从GARCH(1,1)模型估计计算\(h\)期波动率, 并将其年化的函数。 输入为GARCH(1,1)模型估计结果, \(a_t\)序列,\(h\)是一到多个多期数值, 输出一个年化多期波动率的矩阵, 其中第\(t\)行代表从时间\(t\)对\(t+h\)时刻的多期波动率预测, 注意:输出的不同\(h\)在同一时刻\(t\)代表的不是该时刻的某个收益率的年化波动率, 而是用前一期(相隔\(h\)日)的波动率对其进行的预测值。
作为例子, 考虑CAT(卡特彼勒)股票日对数收益率的期限结构, 时间从到。 以百分之一单位表示。
CAT股票日对数收益率时间序列图形:
CAT股票日对数收益率时间序列ACF:
图22.3: CAT股票日对数收益率波动率
日波动率分布的盒形图:
图22.4: CAT股票日对数收益率波动率盒形图
利用GARCH(1,1)模型结果计算1日、5日、20日年化波动率并作图:
图22.5: CAT股票日对数收益率1、5、20日年化波动率
图22.6: CAT股票日对数收益率1、5、20日年化波动率
在局部波动率较高时, 20日波动率低于单日波动率, 可能是因为在预测20日波动率时发生了均值回归。
作为例子, 考虑从1999年1月4日到2010年8月20日的欧元对美元汇率的日对数收益率序列。 以百分之一为单位。
日对数收益率图形(单位百分之一):
图22.7: 欧元对美元汇率日对数收益率
日对数收益率分布盒形图:
图22.8: 欧元对美元汇率日对数收益率分布盒形图
日对数收益率比较集中在\(\pm 2\%\)之间。
建立均值方程为常数、条件正态分布的GARCH(1,1)模型:
日对数收益率波动率的图形:
图22.9: 欧元汇率日对数收益率波动率
日波动率分布的盒形图:
图22.10: 欧元汇率日对数收益率波动率
利用GARCH(1,1)模型结果计算1日、5日、20日年化波动率并作图:
图22.11: 欧元汇率1、5、20日年化波动率
图22.12: 欧元汇率1、5、20日年化波动率预测2010年
黑色是日波动率,绿色是5日波动率,蓝色是20日波动率。 不同期的年化波动率差距不大。
波动率的一个重要应用是对金融衍生产品定价, 如著名的Black-Scholes期权定价公式, 其中设波动率为常数。
有多位学者研究了在期权定价中使用GARCH模型表示出变化的波动率, 基于GARCH模型进行期权定价。
由于\(C(P_0)\)是随机模拟得到的, 所以其计算存在不稳定性。
上述定价公式是根据完美对冲得到的, 在随机波动率的假设下不可能实现。 但()证明存在如下局部的风险中心价格关系: \[\begin{aligned} r_t =& r - \frac12
变化的相关系数的时间序列图:
其中\(r_t\)是所研究的资产的收益率, \(r_{m,t}\)是市场的收益率(如综合股指的收益率)。 这里没有使用超额收益率。
这个一元线性回归模型提供了估计下列因子的方法:
特定股票回报一般不重要, 在资产组合这这一部分经过线性组合后悔接近于0。
\(\beta\)提供了股票相对于市场如何变化的测量, 如果\(\beta\)不显著地区别于零, 则股票变化与市场变化无关; 如果\(\beta\)显著地大于1, 则股票对市场变化的反应特别强烈, 这样的股票被认为是高风险的。
作为示例, 考虑CAT股票的日对数收益率\(r_t\), 采用标普500指数的日对数收益率作为市场收益率\(r_{m,t}\), 时间从到。
用CAPM模型计算不随时间变化的贝塔值:
贝塔值估计为\(\hat\beta=1.146\)。 贝塔值的近似\(95\%\)置信区间可以用估计值加减两倍标准误差计算, 为\((1.10, 1.19)\)位于1的右侧, 所以可以认为贝塔值显著地超过1。
作变化的\(\beta\)的时间序列图:
图22.13: CAT股票日对数收益率变化的贝塔值
这些贝塔值有一个明显的异常值, 检查数据发现CAT股票在有一个\(14.52\%\)跌幅。 去掉这个大的值以后作图:
图22.14: CAT股票日对数收益率变化的贝塔值
这个序列看起来是平稳的,但不是不相关列。 如何检验这样一个序列是否均值为常数? 建议:可以将其前后分成若干段,如4段, 然后引入表示分段的哑变量, 建立带有哑变量自变量的ARMA模型, 检验哑变量是否显著。
GARCH模型的另外一个应用是在计算最小方差投资组合的过程当中, 计算随时间变化的协方差。
考虑()提出的投资组合中的均值——方差分析, 这里集中考虑最小方差组合。 假设组合中有\(k\)个风险资产, 用组合的波动率(条件标准差)作为风险度量。
其中分子是协方差阵\(V_t\)的逆矩阵\(V_t^{-1}\)的行和组成的向量, 分母是标量, 使得结果的元素和等于1。
在实践中, 权重依赖于用来估计\(V_t\)的样本。 即使使用不随时间变化的权重, 也可以将时间分段, 每段时间采用一个固定权重。
下面将作者放在多个文件中2001年到2010的多只股票的日简单收益率数据, 统一地转换为一个多元xts时间序列对象:
其中原始文件d-f2g-0110.txt
有一些格式错误, 进行了编辑修改。读入的数据保存成了R的RData格式。
载入读取的各个股票的日简单收益率数据:
对每一段计算日对数收益率最小方差投资组合的权重, 并计算其波动率的函数:
## x为多元xts类型的日对数收益率序列,
## 结果返回投资组合权重,
## 各成分股的波动率和组合波动率
计算每一段的结果。将简单收益率转换成了对数收益率。
三个阶段各个股票的权重(单位为百分之一):
三个阶段各个股票的收益率的波动率和最小方差投资组合的收益率的波动率:
可以看出投资组合收益率的波动率低于各个成份股的波动率。 注意教材P.204表5-2中ABT应改为“波音”。
上述每一段时间采用固定权重的最小方差投资组合是无法实际应用的, 因为每一段在计算权重时, 要使用本段所有样本来估计协方差阵, 但是投资操作需要预先确定权重。
可以选择比较短的时间段, 用上一时间段估计的协方差阵估计权重, 将估计的权重应用在下一阶段的投资中。
更进一步, 可以进行超前一步的协方差阵预测, 并解出最小方差投资组合权重,用于下一步的投资。 进行超前一步协方差阵预测时, 用现有的观测数据建立GARCH模型估计条件方差和条件协方差, 作为下一步的协方差阵的估计。
这样的方法的缺点是, 得到的协方差阵可能不正定。
V_h\)当作\(h+1\)时刻的协方差阵解出\(h+1\)时刻的最小方差投资组合权重, 计算该组合的对数收益率; 然后基于时间\(1:(h+1)\)的数据重新建模求解\(h+2\)时刻的权重, 如此递推直到数据末尾。 程序如下:
函数结果为一个列表, weights
是基于\(1:h\)时刻直到基于\(1:T\)时刻估计的投资权重, 但\(t\)时刻解出的权重用于\(t+1\)时刻的投资;
returns
是\((h+1):T\)时刻的最小方差投资组合日对数收益率。
这个函数需要对\(t=h,h+1,\dots,T\)每一步建立多个GARCH模型, 程序运行速度较慢, 可以考虑采用并行计算加快速度。
用上述办法对ABT、IBM和WMT(沃尔玛)进行逐步最小方差投资组合计算, 数据从到共2515个交易日, 从\(h=2011\)位置开始,该时间为, 资产组合投资从到日共504个投资。
GMVP()
的结果res.3p
为一个列表, 除了returns
之外都有对应于的505个结果, 而returns
则保存了对应于时刻的504个最小方差投资组合的日对数收益率。
投资组合权重的取值范围:
最后的504天的投资组合的平均日对数收益率:
最后504天每个个股的平均日对数收益率:
从投资组合的平均收益来看表现并不够好。
最后504天投资组合的日对数收益率的样本标准差:
最后504天三个个股的日对数收益率的样本标准差:
投资组合的对数收益率的样本标准差低于每个个股的样本标准差。
个股的条件方差的分布:
最小方差投资组合的方差的分布:
可以看出最小方差投资组合的条件方差要低。用并列盒形图比较:
图22.15: 三个个股与最小方差投资组合的日对数收益率条件方差分布
最后的20个交易日的个股波动率与最小方差投资组合波动率的列表(单位:\(\%\)):
联合使用均值方程和波动率方程建模可以更好地描述数据特征, 也可以得到更合理的预测区间。
以石油价格的建模和预测为例。 2008年夏和2011年春的石油价格上涨对世界经济有很大的影响。 预测原油价格有重大意义, 但是石油价格收很多因素和外部扰动的影响, 不容易分析。
这里利用到的美国原油价格的周数据, 共717个观测值。 数据是以估计的进口数量(Freight on board,FOB)为权重的加权离岸价格的周数据, 用美元/桶表示。数据可以从 US Energy Information Administration网站下载。
图22.16: 美国石油价格周数据
可以看出价格序列非平稳, 存在明显的趋势, 在2008年夏季有明显的峰值。
图22.17: 美国石油价格周数据差分
可以看出差分的均值基本是平稳的, 但存在波动率聚集, 用一般的ARMA模型无法解释这样的波动率聚集现象。
ARMA-GARCH模型用ARMA模型建立均值方程, 用GARCH模型描述波动率, 可以更好地解释上面的差分序列这样的具有波动率聚集的数据, 也能改善预测。
记\(C_t\)为价格差分序列, 对其建立平稳ARMA模型。 ACF图:
图22.18: 美国石油价格周数据差分的ACF
图22.19: 美国石油价格周数据差分的PACF
ACF和PACF中可以看出没有单位根, 相关性都不强, 但是PACF中滞后5、10、20、25处显著, 考虑用周期5的季节成分; 除此之外PACF只有滞后1、3显著, 可考虑AR(3)。 周期成分的PACF值也比较小, 考虑低阶的周期成分, 用ARMA\((3,0)(2,0)_5\)。
其中的均值(intercept)不显著, 去掉均值:
图22.20: 石油价格模型诊断
从模型诊断来看, 残差存在波动率聚集, 白噪声检验都是通过的。
因为EGARCH模型的程序不支持季节性的ARMA, 所以先建立一个纯季节模型, 对残差再进一步建模。
用三种不同的方法计算上述纯季节模型的残差:
滞后5、10、15已经不显著, 虽然滞后20和25显著但在较高的滞后阶。
图22.23: 去除季节项后的序列及两倍波动率
标准化残差比正态分布厚尾。
为了处理残差的厚尾性, 采用标准化t分布的GARCH模型。
作标准化残差相对于标准化t分布的QQ图:
这时厚尾性不太明显,但出现了左偏。
于是,改用有偏的标准化t分布作为GARCH模型的条件分布:
所以可以认为其显著地偏离1。
标准化残差相对有有偏的标准化t分布的QQ图:
这个图形说明有偏t分布拟合数据很好。 模型残差的白噪声检验也都通过了。
模型的标准化残差的时间序列图:
\(C^*_t\)序列叠加了两倍波动率的图形:
图22.28: 去除季节项后的序列及有偏t分布ARMA-GARCH两倍波动率
从样本内比较来看, 最后得到的去除季节项后的AR(1)-GARCH(1,1)用有偏t分布的模型 效果最好。
对于样本外比较, 可以用季节调整后的\(C_t^*\)作为标准进行回测比较。 \(C_t^*\)共有706个观测, 从点\(t=650\)开始对最后的56个观测逐个地进行超前一步和超前两步预报。 采用如下的模型:
AR(3)的超前一步和超前两步预测均方误差分别为2.368和2.558, AR-GARCH模型的结果为2.270和2.436, 均值的预测也有所改善。 当然, AR-GARCH的预测区间也更精确。
style="font-family:宋体;">此次文艺节目展演是成县一中一年一度的“校园之春”文化艺术节系列活动之一,也是整个艺术节的重头戏,是该校课堂教育的拓展和延伸,为该校师生展现自我、发挥特长搭建了艺术平台,激发了学生热爱集体、热爱艺术的热情与活力,推动了学校精神文明建设,培养了学生健康向上的审美情趣和良好艺术修养,展现了该校艺术教育的丰硕成果,丰富了校园文化生活,为打造成县一中特色教育创设了良好氛围。</span></span>