自回归条件异方差模型及 Stata 具体操作步骤

目录

一、ARCH 模型原理

二、数据准备

三、生成收益率序列

四、平稳性检验

五、ARCH 模型估计

六、代码解释

七、代码运行结果解读

八、模型验证

九、进一步的扩展和改进


自回归条件异方差(Autoregressive Conditional Heteroskedasticity,ARCH)模型在金融时间序列分析中具有重要地位,用于捕捉波动率的聚类和时变特征。

一、ARCH 模型原理

二、数据准备


我们从雅虎财经获取某股票的历史价格数据,假设数据集名为 stock_data.dta,包含变量 price(股票价格)、market_index(市场指数)、interest_rate(利率)、dividend_yield(股息率)、earnings_growth(盈利增长)。

use "stock_data.dta", clear

三、生成收益率序列


首先,我们通过计算对数价格差来生成收益率序列 return

gen return = log(price) - L.log(price)

四、平稳性检验


对收益率序列 return 进行平稳性检验,这里使用 ADF(Augmented Dickey-Fuller)检验。

dfuller return

如果检验结果的 p 值小于显著水平(通常为 0.05),则拒绝原假设,认为序列是平稳的;否则,序列是非平稳的。

五、ARCH 模型估计


接下来,使用 arch 命令来估计包含多个控制变量的 ARCH(1) 模型。

arch return market_index interest_rate dividend_yield earnings_growth, arch(1)

六、代码解释

  • gen return = log(price) - L.log(price):通过对当前价格的对数减去前一期价格的对数,计算出收益率。
  • dfuller return:对收益率序列进行 ADF 平稳性检验。
  • arch return market_index interest_rate dividend_yield earnings_growth, arch(1):使用 arch 命令对收益率序列 return ,并纳入控制变量 market_index 、 interest_rate 、 dividend_yield 和 earnings_growth 进行 ARCH(1) 模型的估计。

七、代码运行结果解读


运行上述代码后,会得到如下部分结果:

. dfuller return

Dickey-Fuller test for unit root

   Z(t) = -3.21  Prob. > Z =  0.008

. arch return market_index interest_rate dividend_yield earnings_growth, arch(1)

Iteration 0:   log likelihood =  -320.567  
Iteration 1:   log likelihood =  -288.456  
Iteration 2:   log likelihood =  -287.123  
Iteration 3:   log likelihood =  -287.123  

ARCH regression                                 Number of obs   =      1000
                                                 Wald chi2(5)    =    120.34
Log likelihood = -287.123                         Prob > chi2     =    0.0000

------------------------------------------------------------------------------
             |               Robust
      return |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        _cons |.003456.000987     3.50   0.000.001567.005345
        arch1 |.289012.087654     3.29   0.001.115678.462345
   market_index |.076543.021345     3.58   0.000.034567.118521
  interest_rate |  -.015678.006789    -2.31   0.021    -.029012   -.002345
 dividend_yield |.023456.008901     2.63   0.009.006789.040123
earnings_growth |.031234.012345     2.53   0.011.007654.054812
------------------------------------------------------------------------------

从 ADF 检验结果中,Z(t) 值为 -3.21 ,p 值为 0.008 ,小于 0.05 ,表明收益率序列 return 是平稳的。

从 ARCH 模型估计结果中:

  • arch1 的系数为 0.289012 且显著,表明前一期的波动对本期波动有显著的正影响。
  • market_index 的系数为 0.076543 且显著,说明市场指数对收益率有正的影响。
  • interest_rate 的系数为 -0.015678 且显著,意味着利率对收益率有负的影响。
  • dividend_yield 的系数为 0.023456 且显著,表明股息率对收益率有正的影响。
  • earnings_growth 的系数为 0.031234 且显著,说明盈利增长对收益率有正的影响。

八、模型验证

  1. 残差诊断
    • 查看残差的正态性,可以通过绘制残差的直方图和正态概率图来进行。
    • 检查残差是否存在自相关,可以使用Ljung-Box Q 统计量进行检验。

predict resid, residuals
hist resid
sktest resid

  1. 稳定性检验
    • 对模型参数进行稳定性检验,例如使用 Chow 检验来检查是否存在结构断点。

estat stability

九、进一步的扩展和改进

  1. 尝试不同阶数的 ARCH 模型,如 ARCH(2)、ARCH(3) 等,以比较不同模型的拟合效果。
arch return market_index interest_rate dividend_yield earnings_growth, arch(2)
arch return market_index interest_rate dividend_yield earnings_growth, arch(3)

  1. 考虑使用 GARCH 模型或其他更复杂的波动率模型,如 EGARCH 或 TGARCH 模型,以更好地捕捉波动率的不对称性和长期记忆特征。

  2. 可以通过增加更多的控制变量或使用不同的数据频率来进一步优化模型。

【免费】1986-2019年中国地级市及省级实际利用外资金额(分全市及市辖区)资源-CSDN文库

【免费】1996-2019年各省废水污染、治理数据资源-CSDN文库 

【手把手教你】Python玩转金融时间序列之平稳性检验 - 常给自己加个油 - 博客园 (cnblogs.com) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值