本文将分析工业指数(DJIA)。工业指数(DIJA)是一个股市指数,表明30家大型上市公司的价值。工业指数(DIJA)的价值基于每个组成公司的每股股票价格之和

时间序列分析模型 ARIMA-ARCH GARCH模型分析股票价格数据

本文将分析工业指数(DJIA)。工业指数(DIJA)是一个股市指数,表明30家大型上市公司的价值。工业指数(DIJA)的价值基于每个组成公司的每股股票价格之和。

本文将尝试回答的主要问题是:

  • 这些年来收益率和交易量如何变化?
  • 这些年来,收益率和交易量的波动如何变化?
  • 我们如何建模收益率波动?
  • 我们如何模拟交易量的波动?

为此,本文按以下内容划分:

第1部分: 获取每日和每周对数收益的 数据,摘要和图
第2部分: 获取每日交易量及其对数比率的数据,摘要和图
第3部分: 每日对数收益率分析和GARCH模型定义
第4部分: 每日交易量分析和GARCH模型定义

获取数据

利用quantmod软件包中提供的getSymbols()函数,我们可以获得2007年至2018年底的工业平均指数。

  1.  getSymbols("^DJI", from = "2007-01-01", to = "2019-01-01")
  2.  dim(DJI)
  3.  ## [1] 3020 6
  4.  class(DJI)
  5.  ## [1] "xts" "zoo"

让我们看一下DJI xts对象,它提供了六个时间序列,我们可以看到。

  1.  head(DJI)
  2.  ## DJI.Open DJI.High DJI.Low DJI.Close DJI.Volume DJI.Adjusted
  3.  ## 2007-01-03 12459.54 12580.35 12404.82 12474.52 327200000 12474.52
  4.  ## 2007-01-04 12473.16 12510.41 12403.86 12480.69 259060000 12480.69
  5.  ## 2007-01-05 12480.05 12480.13 12365.41 12398.01 235220000 12398.01
  6.  ## 2007-01-08 12392.01 12445.92 12337.37 12423.49 223500000 12423.49
  7.  ## 2007-01-09 12424.77 12466.43 12369.17 12416.60 225190000 12416.60
  8.  ## 2007-01-10 12417.00 12451.61 12355.63 12442.16 226570000 12442.16
  9.  tail(DJI)
  10.  ## DJI.Open DJI.High DJI.Low DJI.Close DJI.Volume DJI.Adjusted
  11.  ## 2018-12-21 22871.74 23254.59 22396.34 22445.37 900510000 22445.37
  12.  ## 2018-12-24 22317.28 22339.87 21792.20 21792.20 308420000 21792.20
  13.  ## 2018-12-26 21857.73 22878.92 21712.53 22878.45 433080000 22878.45
  14.  ## 2018-12-27 22629.06 23138.89 22267.42 23138.82 407940000 23138.82
  15.  ## 2018-12-28 23213.61 23381.88 22981.33 23062.40 336510000 23062.40
  16.  ## 2018-12-31 23153.94 23333.18 23118.30 23327.46 288830000 23327.46

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

更准确地说,我们有可用的OHLC(开盘,高,低,收盘)指数值,调整后的收盘价和交易量。在这里,我们可以看到生成的相应图表。

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_02

我们在此分析调整后的收盘价。

DJI[,"DJI.Adjusted"]

简单对数收益率

简单的收益定义为:

对数收益率定义为:

我们计算对数收益率

CalculateReturns(dj_close, method = "log")

让我们看看。

  1.  head(dj_ret)
  2.   
  3.   
  4.   
  5.  ##             DJI.Adjusted
  6.   
  7.  ## 2007-01-04  0.0004945580
  8.   
  9.  ## 2007-01-05 -0.0066467273
  10.   
  11.  ## 2007-01-08  0.0020530973
  12.   
  13.  ## 2007-01-09 -0.0005547987
  14.   
  15.  ## 2007-01-10  0.0020564627
  16.   
  17.  ## 2007-01-11  0.0058356461
  18.   
  19.  tail(dj_ret)
  20.   
  21.   
  22.   
  23.  ##            DJI.Adjusted
  24.   
  25.  ## 2018-12-21 -0.018286825
  26.   
  27.  ## 2018-12-24 -0.029532247
  28.   
  29.  ## 2018-12-26  0.048643314
  30.   
  31.  ## 2018-12-27  0.011316355
  32.   
  33.  ## 2018-12-28 -0.003308137
  34.   
  35.  ## 2018-12-31  0.011427645

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

给出了下面的图。

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_04

可以看到波动率的急剧上升和下降。第3部分将对此进行深入验证。

辅助函数

我们需要一些辅助函数来简化一些基本的数据转换,摘要和绘图。

1.从xts转换为带有year and value列的数据框。这样就可以进行年度总结和绘制。

  1.    df\_t <- data.frame(year = factor(year(index(data\_xts))), value = coredata(data_xts))
  2.   
  3.    colnames(df_t) <- c( "year", "value")

2.摘要统计信息,用于存储为数据框列的数据。

  1.   rownames(basicStats(rnorm(10,0,1))) # 基本统计数据输出行名称
  2.   
  3.  with(dataset, tapply(value, year, basicStats))

3.返回关联的列名。

colnames(basicstats\[r, which(basicstats\[r,\] > threshold), drop = FALSE\])

4.基于年的面板箱线图。

p <- ggplot(data = data, aes(x = year, y = value)) + theme\_bw() + theme(legend.position = "none") + geom\_boxplot(fill = "blue")

5.密度图,以年份为基准。

  1.    p <- ggplot(data = data, aes(x = value)) + geom_density(fill = "lightblue") 
  2.   
  3.    p <- p + facet_wrap(. ~ year)

6.基于年份的QQ图。

  1.    p <- ggplot(data = dataset, aes(sample = value)) + stat\_qq(colour = "blue") + stat\_qq_line() 
  2.   
  3.    p <- p + facet_wrap(. ~ year)

7. Shapiro检验

  1.  pvalue <- function (v) {
  2.   
  3.    shapiro.test(v)$p.value
  4.   
  5.  }

每日对数收益率探索性分析

我们将原始的时间序列转换为具有年和值列的数据框。这样可以按年简化绘图和摘要。

  1.  head(ret_df)
  2.   
  3.   
  4.   
  5.  ##   year         value
  6.   
  7.  ## 1 2007  0.0004945580
  8.   
  9.  ## 2 2007 -0.0066467273
  10.   
  11.  ## 3 2007  0.0020530973
  12.   
  13.  ## 4 2007 -0.0005547987
  14.   
  15.  ## 5 2007  0.0020564627
  16.   
  17.  ## 6 2007  0.0058356461
  18.   
  19.  tail(ret_df)
  20.   
  21.   
  22.   
  23.  ##      year        value
  24.   
  25.  ## 3014 2018 -0.018286825
  26.   
  27.  ## 3015 2018 -0.029532247
  28.   
  29.  ## 3016 2018  0.048643314
  30.   
  31.  ## 3017 2018  0.011316355
  32.   
  33.  ## 3018 2018 -0.003308137
  34.   
  35.  ## 3019 2018  0.011427645

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

基本统计摘要

给出了基本统计摘要。

  1.  ##                   2007       2008       2009       2010       2011
  2.   
  3.  ## nobs        250.000000 253.000000 252.000000 252.000000 252.000000
  4.   
  5.  ## NAs           0.000000   0.000000   0.000000   0.000000   0.000000
  6.   
  7.  ## Minimum      -0.033488  -0.082005  -0.047286  -0.036700  -0.057061
  8.   
  9.  ## Maximum       0.025223   0.105083   0.066116   0.038247   0.041533
  10.   
  11.  ## 1. Quartile  -0.003802  -0.012993  -0.006897  -0.003853  -0.006193
  12.   
  13.  ## 3. Quartile   0.005230   0.007843   0.008248   0.004457   0.006531
  14.   
  15.  ## Mean          0.000246  -0.001633   0.000684   0.000415   0.000214
  16.   
  17.  ## Median        0.001098  -0.000890   0.001082   0.000681   0.000941
  18.   
  19.  ## Sum           0.061427  -0.413050   0.172434   0.104565   0.053810
  20.   
  21.  ## SE Mean       0.000582   0.001497   0.000960   0.000641   0.000837
  22.   
  23.  ## LCL Mean     -0.000900  -0.004580  -0.001207  -0.000848  -0.001434
  24.   
  25.  ## UCL Mean      0.001391   0.001315   0.002575   0.001678   0.001861
  26.   
  27.  ## Variance      0.000085   0.000567   0.000232   0.000104   0.000176
  28.   
  29.  ## Stdev         0.009197   0.023808   0.015242   0.010182   0.013283
  30.   
  31.  ## Skewness     -0.613828   0.224042   0.070840  -0.174816  -0.526083
  32.   
  33.  ## Kurtosis      1.525069   3.670796   2.074240   2.055407   2.453822
  34.   
  35.  ##                   2012       2013       2014       2015       2016
  36.   
  37.  ## nobs        250.000000 252.000000 252.000000 252.000000 252.000000
  38.   
  39.  ## NAs           0.000000   0.000000   0.000000   0.000000   0.000000
  40.   
  41.  ## Minimum      -0.023910  -0.023695  -0.020988  -0.036402  -0.034473
  42.   
  43.  ## Maximum       0.023376   0.023263   0.023982   0.038755   0.024384
  44.   
  45.  ## 1. Quartile  -0.003896  -0.002812  -0.002621  -0.005283  -0.002845
  46.   
  47.  ## 3. Quartile   0.004924   0.004750   0.004230   0.005801   0.004311
  48.   
  49.  ## Mean          0.000280   0.000933   0.000288  -0.000090   0.000500
  50.   
  51.  ## Median       -0.000122   0.001158   0.000728  -0.000211   0.000738
  52.   
  53.  ## Sum           0.070054   0.235068   0.072498  -0.022586   0.125884
  54.   
  55.  ## SE Mean       0.000470   0.000403   0.000432   0.000613   0.000501
  56.   
  57.  ## LCL Mean     -0.000645   0.000139  -0.000564  -0.001298  -0.000487
  58.   
  59.  ## UCL Mean      0.001206   0.001727   0.001139   0.001118   0.001486
  60.   
  61.  ## Variance      0.000055   0.000041   0.000047   0.000095   0.000063
  62.   
  63.  ## Stdev         0.007429   0.006399   0.006861   0.009738   0.007951
  64.   
  65.  ## Skewness      0.027235  -0.199407  -0.332766  -0.127788  -0.449311
  66.   
  67.  ## Kurtosis      0.842890   1.275821   1.073234   1.394268   2.079671
  68.   
  69.  ##                   2017       2018
  70.   
  71.  ## nobs        251.000000 251.000000
  72.   
  73.  ## NAs           0.000000   0.000000
  74.   
  75.  ## Minimum      -0.017930  -0.047143
  76.   
  77.  ## Maximum       0.014468   0.048643
  78.   
  79.  ## 1. Quartile  -0.001404  -0.005017
  80.   
  81.  ## 3. Quartile   0.003054   0.005895
  82.   
  83.  ## Mean          0.000892  -0.000231
  84.   
  85.  ## Median        0.000655   0.000695
  86.   
  87.  ## Sum           0.223790  -0.057950
  88.   
  89.  ## SE Mean       0.000263   0.000714
  90.   
  91.  ## LCL Mean      0.000373  -0.001637
  92.   
  93.  ## UCL Mean      0.001410   0.001175
  94.   
  95.  ## Variance      0.000017   0.000128
  96.   
  97.  ## Stdev         0.004172   0.011313
  98.   
  99.  ## Skewness     -0.189808  -0.522618
  100.   
  101.  ## Kurtosis      2.244076   2.802996

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

在下文中,我们对上述一些相关指标进行了具体评论。

平均值

每日对数收益率具有正平均值的年份是:

  1.  filter_stats(stats, "Mean", 0)
  2.   
  3.   
  4.   
  5.  ## \[1\] "2007" "2009" "2010" "2011" "2012" "2013" "2014" "2016" "2017"

按升序排列。

  1.  ##           2008      2018   2015     2011     2007    2012     2014
  2.   
  3.  ## Mean -0.001633 -0.000231 -9e-05 0.000214 0.000246 0.00028 0.000288
  4.   
  5.  ##          2010  2016     2009     2017     2013
  6.   
  7.  ## Mean 0.000415 5e-04 0.000684 0.000892 0.000933

中位数

正中位数是:

  1.  filter\_stats(dj\_stats, "Median", 0)
  2.   
  3.   
  4.   
  5.  ## \[1\] "2007" "2009" "2010" "2011" "2013" "2014" "2016" "2017" "2018"

以升序排列。

  1.  ##            2008      2015      2012     2017     2010     2018     2014
  2.   
  3.  ## Median -0.00089 -0.000211 -0.000122 0.000655 0.000681 0.000695 0.000728
  4.   
  5.  ##            2016     2011     2009     2007     2013
  6.   
  7.  ## Median 0.000738 0.000941 0.001082 0.001098 0.001158

偏度

偏度(Skewness)可以用来度量随机变量概率分布的不对称性。

公式:

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_概率分布_07

其中 

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_概率分布_08

 是均值,  是标准差。

几何意义:

偏度的取值范围为(-∞,+∞)

当偏度<0时,概率分布图左偏(也叫负偏分布,其偏度<0)。

当偏度=0时,表示数据相对均匀的分布在平均值两侧,不一定是绝对的对称分布。

当偏度>0时,概率分布图右偏(也叫正偏分布,其偏度>0)。

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_概率分布_09

例如上图中,左图形状左偏,右图形状右偏。

每日对数收益出现正偏的年份是:

## \[1\] "2008" "2009" "2012"

按升序返回对数偏度。

  1.  stats\["Skewness",order(stats\["Skewness",
  2.   
  3.   
  4.   
  5.  ##               2007      2011      2018      2016      2014      2013
  6.   
  7.  ## Skewness -0.613828 -0.526083 -0.522618 -0.449311 -0.332766 -0.199407
  8.   
  9.  ##               2017      2010      2015     2012    2009     2008
  10.   
  11.  ## Skewness -0.189808 -0.174816 -0.127788 0.027235 0.07084 0.224042

峰度

峰度(Kurtosis)可以用来度量随机变量概率分布的陡峭程度。

公式:

其中  是均值,  是标准差。

几何意义:

峰度的取值范围为[1,+∞),完全服从正态分布的数据的峰度值为 3,峰度值越大,概率分布图越高尖,峰度值越小,越矮胖。

例如上图中,左图是标准正太分布,峰度=3,右图的峰度=4,可以看到右图比左图更高尖。

通常我们将峰度值减去3,也被称为超值峰度(Excess Kurtosis),这样正态分布的峰度值等于0,当峰度值>0,则表示该数据分布与正态分布相比较为高尖,当峰度值<0,则表示该数据分布与正态分布相比较为矮胖。


点击标题查阅往期内容

​R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据​

左右滑动查看更多

01

02

03

04

每日对数收益出现超值峰度的年份是:

  1.  ##  \[1\] "2007" "2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016"
  2.   
  3.  ## \[11\] "2017" "2018"

按升序返回超值峰度。

  1.  ##             2012     2014     2013     2015     2007     2010    2009
  2.   
  3.  ## Kurtosis 0.84289 1.073234 1.275821 1.394268 1.525069 2.055407 2.07424
  4.   
  5.  ##              2016     2017     2011     2018     2008
  6.   
  7.  ## Kurtosis 2.079671 2.244076 2.453822 2.802996 3.670796

2018年的峰度最接近2008年。

箱形图

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_概率分布_10

我们可以看到2008年出现了最极端的值。从2009年开始,除了2011年和2015年以外,其他所有值的范围都变窄了。但是,与2017年和2018年相比,产生极端值的趋势明显改善。

密度图

densityplot(ret_df)

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_数据_11

2007年具有显着的负偏。2008年的特点是平坦。2017年的峰值与2018年的平坦度和左偏一致。

shapiro检验

  1.  shapirot(ret_df)
  2.   
  3.   
  4.   
  5.  ##            result
  6.   
  7.  ## 2007 5.989576e-07
  8.   
  9.  ## 2008 5.782666e-09
  10.   
  11.  ## 2009 1.827967e-05
  12.   
  13.  ## 2010 3.897345e-07
  14.   
  15.  ## 2011 5.494349e-07
  16.   
  17.  ## 2012 1.790685e-02
  18.   
  19.  ## 2013 8.102500e-03
  20.   
  21.  ## 2014 1.750036e-04
  22.   
  23.  ## 2015 5.531137e-03
  24.   
  25.  ## 2016 1.511435e-06
  26.   
  27.  ## 2017 3.304529e-05
  28.   
  29.  ## 2018 1.216327e-07

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

正常的零假设在2007-2018年的所有年份均被拒绝。

每周对数收益率探索性分析

可以从每日对数收益率开始计算每周对数收益率。让我们假设分析第{t-4,t-3,t-2,t-1,t}天的交易周,并知道第t-5天(前一周的最后一天)的收盘价。我们将每周的对数收益率定义为:

可以写为:

因此,每周对数收益率是应用于交易周窗口的每日对数收益率之和。

我们来看看每周的对数收益率。

该图显示波动率急剧上升和下降。我们将原始时间序列数据转换为数据框。

  1.  head(weekly\_ret\_df)
  2.   
  3.   
  4.   
  5.  ##   year         value
  6.   
  7.  ## 1 2007 -0.0061521694
  8.   
  9.  ## 2 2007  0.0126690596
  10.   
  11.  ## 3 2007  0.0007523559
  12.   
  13.  ## 4 2007 -0.0062677053
  14.   
  15.  ## 5 2007  0.0132434177
  16.   
  17.  ## 6 2007 -0.0057588519
  18.   
  19.  tail(weekly\_ret\_df)
  20.   
  21.   
  22.   
  23.  ##     year       value
  24.   
  25.  ## 622 2018  0.05028763
  26.   
  27.  ## 623 2018 -0.04605546
  28.   
  29.  ## 624 2018 -0.01189714
  30.   
  31.  ## 625 2018 -0.07114867
  32.   
  33.  ## 626 2018  0.02711928
  34.   
  35.  ## 627 2018  0.01142764

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

基本统计摘要

  1.  dataframe\_basicstats(weekly\_ret_df)
  2.   
  3.   
  4.   
  5.  ##                  2007      2008      2009      2010      2011      2012
  6.   
  7.  ## nobs        52.000000 52.000000 53.000000 52.000000 52.000000 52.000000
  8.   
  9.  ## NAs          0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
  10.   
  11.  ## Minimum     -0.043199 -0.200298 -0.063736 -0.058755 -0.066235 -0.035829
  12.   
  13.  ## Maximum      0.030143  0.106977  0.086263  0.051463  0.067788  0.035316
  14.   
  15.  ## 1. Quartile -0.009638 -0.031765 -0.015911 -0.007761 -0.015485 -0.010096
  16.   
  17.  ## 3. Quartile  0.014808  0.012682  0.022115  0.016971  0.014309  0.011887
  18.   
  19.  ## Mean         0.001327 -0.008669  0.003823  0.002011  0.001035  0.001102
  20.   
  21.  ## Median       0.004244 -0.006811  0.004633  0.004529  0.001757  0.001166
  22.   
  23.  ## Sum          0.069016 -0.450811  0.202605  0.104565  0.053810  0.057303
  24.   
  25.  ## SE Mean      0.002613  0.006164  0.004454  0.003031  0.003836  0.002133
  26.   
  27.  ## LCL Mean    -0.003919 -0.021043 -0.005115 -0.004074 -0.006666 -0.003181
  28.   
  29.  ## UCL Mean     0.006573  0.003704  0.012760  0.008096  0.008736  0.005384
  30.   
  31.  ## Variance     0.000355  0.001975  0.001051  0.000478  0.000765  0.000237
  32.   
  33.  ## Stdev        0.018843  0.044446  0.032424  0.021856  0.027662  0.015382
  34.   
  35.  ## Skewness    -0.680573 -0.985740  0.121331 -0.601407 -0.076579 -0.027302
  36.   
  37.  ## Kurtosis    -0.085887  5.446623 -0.033398  0.357708  0.052429 -0.461228
  38.   
  39.  ##                  2013      2014      2015      2016      2017      2018
  40.   
  41.  ## nobs        52.000000 52.000000 53.000000 52.000000 52.000000 53.000000
  42.   
  43.  ## NAs          0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
  44.   
  45.  ## Minimum     -0.022556 -0.038482 -0.059991 -0.063897 -0.015317 -0.071149
  46.   
  47.  ## Maximum      0.037702  0.034224  0.037693  0.052243  0.028192  0.050288
  48.   
  49.  ## 1. Quartile -0.001738 -0.006378 -0.012141 -0.007746 -0.002251 -0.011897
  50.   
  51.  ## 3. Quartile  0.011432  0.010244  0.009620  0.012791  0.009891  0.019857
  52.   
  53.  ## Mean         0.004651  0.001756 -0.000669  0.002421  0.004304 -0.001093
  54.   
  55.  ## Median       0.006360  0.003961  0.000954  0.001947  0.004080  0.001546
  56.   
  57.  ## Sum          0.241874  0.091300 -0.035444  0.125884  0.223790 -0.057950
  58.   
  59.  ## SE Mean      0.001828  0.002151  0.002609  0.002436  0.001232  0.003592
  60.   
  61.  ## LCL Mean     0.000981 -0.002563 -0.005904 -0.002470  0.001830 -0.008302
  62.   
  63.  ## UCL Mean     0.008322  0.006075  0.004567  0.007312  0.006778  0.006115
  64.   
  65.  ## Variance     0.000174  0.000241  0.000361  0.000309  0.000079  0.000684
  66.   
  67.  ## Stdev        0.013185  0.015514  0.018995  0.017568  0.008886  0.026154
  68.   
  69.  ## Skewness    -0.035175 -0.534403 -0.494963 -0.467158  0.266281 -0.658951
  70.   
  71.  ## Kurtosis    -0.200282  0.282354  0.665460  2.908942 -0.124341 -0.000870

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

在下文中,我们对上述一些相关指标进行了具体评论。

平均值

每周对数收益呈正平均值的年份是:

## \[1\] "2007" "2009" "2010" "2011" "2012" "2013" "2014" "2016" "2017"

所有平均值按升序排列。

  1.  ##           2008      2018      2015     2011     2012     2007     2014
  2.   
  3.  ## Mean -0.008669 -0.001093 -0.000669 0.001035 0.001102 0.001327 0.001756
  4.   
  5.  ##          2010     2016     2009     2017     2013
  6.   
  7.  ## Mean 0.002011 0.002421 0.003823 0.004304 0.004651

中位数

中位数是:

  1.  ##  \[1\] "2007" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016" "2017"
  2.   
  3.  ## \[11\] "2018"

所有中值按升序排列。

  1.  ##             2008     2015     2012     2018     2011     2016     2014
  2.   
  3.  ## Median -0.006811 0.000954 0.001166 0.001546 0.001757 0.001947 0.003961
  4.   
  5.  ##           2017     2007     2010     2009    2013
  6.   
  7.  ## Median 0.00408 0.004244 0.004529 0.004633 0.00636

偏度

出现正偏的年份是:

  1.  stats(stats, "Skewness", 0)
  2.   
  3.   
  4.   
  5.  ## \[1\] "2009" "2017"

所有偏度按升序排列。

  1.  stats\["Skewness",order(stats\["Skewness",,\])\]
  2.   
  3.   
  4.   
  5.  ##              2008      2007      2018      2010      2014      2015
  6.   
  7.  ## Skewness -0.98574 -0.680573 -0.658951 -0.601407 -0.534403 -0.494963
  8.   
  9.  ##               2016      2011      2013      2012     2009     2017
  10.   
  11.  ## Skewness -0.467158 -0.076579 -0.035175 -0.027302 0.121331 0.266281

峰度

出现正峰度的年份是:

  1.  filter_stats(stats, "Kurtosis", 0)
  2.   
  3.   
  4.   
  5.  ## \[1\] "2008" "2010" "2011" "2014" "2015" "2016"

峰度值都按升序排列。

  1.  ##               2012      2013      2017      2007      2009     2018
  2.   
  3.  ## Kurtosis -0.461228 -0.200282 -0.124341 -0.085887 -0.033398 -0.00087
  4.   
  5.  ##              2011     2014     2010    2015     2016     2008
  6.   
  7.  ## Kurtosis 0.052429 0.282354 0.357708 0.66546 2.908942 5.446623

2008年也是每周峰度最高的年份。但是,在这种情况下,2017年的峰度为负,而2016年的峰度为第二。

箱形图

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_数据_15

密度图

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_概率分布_16

shapiro检验

  1.  shapirot(weekly_df)
  2.   
  3.   
  4.   
  5.  ##            result
  6.   
  7.  ## 2007 0.0140590311
  8.   
  9.  ## 2008 0.0001397267
  10.   
  11.  ## 2009 0.8701335006
  12.   
  13.  ## 2010 0.0927104389
  14.   
  15.  ## 2011 0.8650874270
  16.   
  17.  ## 2012 0.9934600084
  18.   
  19.  ## 2013 0.4849043121
  20.   
  21.  ## 2014 0.1123139646
  22.   
  23.  ## 2015 0.3141519756
  24.   
  25.  ## 2016 0.0115380989
  26.   
  27.  ## 2017 0.9465281164
  28.   
  29.  ## 2018 0.0475141869

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

零假设在2007、2008、2016年被拒绝。

QQ图

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_18

在2008年尤其明显地违背正态分布的情况。

交易量探索性分析

在这一部分中,本文将分析道琼斯工业平均指数(DJIA)的交易量。

获取数据

每日量探索性分析

我们绘制每日交易量。

  1.  vol <- DJI\[,"DJI.Volume"\]
  2.   
  3.  plot(vol)

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_19

值得注意的是,2017年初的水平跃升,我们将在第4部分中进行研究。我们将时间序列数据和时间轴索引转换为数据框。

  1.  head(dj\_vol\_df)
  2.   
  3.   
  4.   
  5.  ##   year     value
  6.   
  7.  ## 1 2007 327200000
  8.   
  9.  ## 2 2007 259060000
  10.   
  11.  ## 3 2007 235220000
  12.   
  13.  ## 4 2007 223500000
  14.   
  15.  ## 5 2007 225190000
  16.   
  17.  ## 6 2007 226570000
  18.   
  19.  tail(dj\_vol\_df)
  20.   
  21.   
  22.   
  23.  ##      year     value
  24.   
  25.  ## 3015 2018 900510000
  26.   
  27.  ## 3016 2018 308420000
  28.   
  29.  ## 3017 2018 433080000
  30.   
  31.  ## 3018 2018 407940000
  32.   
  33.  ## 3019 2018 336510000
  34.   
  35.  ## 3020 2018 288830000

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

基本统计摘要

  1.  ##                     2007         2008         2009         2010
  2.   
  3.  ## nobs        2.510000e+02 2.530000e+02 2.520000e+02 2.520000e+02
  4.   
  5.  ## NAs         0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
  6.   
  7.  ## Minimum     8.640000e+07 6.693000e+07 5.267000e+07 6.840000e+07
  8.   
  9.  ## Maximum     4.571500e+08 6.749200e+08 6.729500e+08 4.598900e+08
  10.   
  11.  ## 1. Quartile 2.063000e+08 2.132100e+08 1.961850e+08 1.633400e+08
  12.   
  13.  ## 3. Quartile 2.727400e+08 3.210100e+08 3.353625e+08 2.219025e+08
  14.   
  15.  ## Mean        2.449575e+08 2.767164e+08 2.800537e+08 2.017934e+08
  16.   
  17.  ## Median      2.350900e+08 2.569700e+08 2.443200e+08 1.905050e+08
  18.   
  19.  ## Sum         6.148432e+10 7.000924e+10 7.057354e+10 5.085193e+10
  20.   
  21.  ## SE Mean     3.842261e+06 5.965786e+06 7.289666e+06 3.950031e+06
  22.   
  23.  ## LCL Mean    2.373901e+08 2.649672e+08 2.656970e+08 1.940139e+08
  24.   
  25.  ## UCL Mean    2.525248e+08 2.884655e+08 2.944104e+08 2.095728e+08
  26.   
  27.  ## Variance    3.705505e+15 9.004422e+15 1.339109e+16 3.931891e+15
  28.   
  29.  ## Stdev       6.087286e+07 9.489163e+07 1.157199e+08 6.270480e+07
  30.   
  31.  ## Skewness    9.422400e-01 1.203283e+00 1.037015e+00 1.452082e+00
  32.   
  33.  ## Kurtosis    1.482540e+00 2.064821e+00 6.584810e-01 3.214065e+00
  34.   
  35.  ##                     2011         2012         2013         2014
  36.   
  37.  ## nobs        2.520000e+02 2.500000e+02 2.520000e+02 2.520000e+02
  38.   
  39.  ## NAs         0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
  40.   
  41.  ## Minimum     8.410000e+06 4.771000e+07 3.364000e+07 4.287000e+07
  42.   
  43.  ## Maximum     4.799800e+08 4.296100e+08 4.200800e+08 6.554500e+08
  44.   
  45.  ## 1. Quartile 1.458775e+08 1.107150e+08 9.488000e+07 7.283000e+07
  46.   
  47.  ## 3. Quartile 1.932400e+08 1.421775e+08 1.297575e+08 9.928000e+07
  48.   
  49.  ## Mean        1.804133e+08 1.312606e+08 1.184434e+08 9.288516e+07
  50.   
  51.  ## Median      1.671250e+08 1.251950e+08 1.109250e+08 8.144500e+07
  52.   
  53.  ## Sum         4.546415e+10 3.281515e+10 2.984773e+10 2.340706e+10
  54.   
  55.  ## SE Mean     3.897738e+06 2.796503e+06 2.809128e+06 3.282643e+06
  56.   
  57.  ## LCL Mean    1.727369e+08 1.257528e+08 1.129109e+08 8.642012e+07
  58.   
  59.  ## UCL Mean    1.880897e+08 1.367684e+08 1.239758e+08 9.935019e+07
  60.   
  61.  ## Variance    3.828475e+15 1.955108e+15 1.988583e+15 2.715488e+15
  62.   
  63.  ## Stdev       6.187468e+07 4.421660e+07 4.459353e+07 5.211034e+07
  64.   
  65.  ## Skewness    1.878239e+00 3.454971e+00 3.551752e+00 6.619268e+00
  66.   
  67.  ## Kurtosis    5.631080e+00 1.852581e+01 1.900989e+01 5.856136e+01
  68.   
  69.  ##                     2015         2016         2017         2018
  70.   
  71.  ## nobs        2.520000e+02 2.520000e+02 2.510000e+02 2.510000e+02
  72.   
  73.  ## NAs         0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
  74.   
  75.  ## Minimum     4.035000e+07 4.589000e+07 1.186100e+08 1.559400e+08
  76.   
  77.  ## Maximum     3.445600e+08 5.734700e+08 6.357400e+08 9.005100e+08
  78.   
  79.  ## 1. Quartile 8.775250e+07 8.224250e+07 2.695850e+08 2.819550e+08
  80.   
  81.  ## 3. Quartile 1.192150e+08 1.203550e+08 3.389950e+08 4.179200e+08
  82.   
  83.  ## Mean        1.093957e+08 1.172089e+08 3.112396e+08 3.593710e+08
  84.   
  85.  ## Median      1.021000e+08 9.410500e+07 2.996700e+08 3.414700e+08
  86.   
  87.  ## Sum         2.756772e+10 2.953664e+10 7.812114e+10 9.020213e+10
  88.   
  89.  ## SE Mean     2.433611e+06 4.331290e+06 4.376432e+06 6.984484e+06
  90.   
  91.  ## LCL Mean    1.046028e+08 1.086786e+08 3.026202e+08 3.456151e+08
  92.   
  93.  ## UCL Mean    1.141886e+08 1.257392e+08 3.198590e+08 3.731270e+08
  94.   
  95.  ## Variance    1.492461e+15 4.727538e+15 4.807442e+15 1.224454e+16
  96.   
  97.  ## Stdev       3.863238e+07 6.875709e+07 6.933572e+07 1.106550e+08
  98.   
  99.  ## Skewness    3.420032e+00 3.046742e+00 1.478708e+00 1.363823e+00
  100.   
  101.  ## Kurtosis    1.612326e+01 1.122161e+01 3.848619e+00 3.277164e+00

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

在下文中,我们对上面显示的一些相关指标进行了评论。

平均值

每日交易量具有正平均值的年份是:

  1.  ##  \[1\] "2007" "2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016"
  2.   
  3.  ## \[11\] "2017" "2018"

所有每日交易量均值按升序排列。

  1.  ##          2014      2015      2016      2013      2012      2011      2010
  2.   
  3.  ## Mean 92885159 109395714 117208889 118443373 131260600 180413294 201793373
  4.   
  5.  ##           2007      2008      2009      2017      2018
  6.   
  7.  ## Mean 244957450 276716364 280053730 311239602 359371036

中位数

每日交易量中位数为正的年份是:

  1.  ##  \[1\] "2007" "2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016"
  2.   
  3.  ## \[11\] "2017" "2018"

所有每日成交量中值均按升序排列。

  1.  ##            2014     2016      2015      2013      2012      2011      2010
  2.   
  3.  ## Median 81445000 94105000 102100000 110925000 125195000 167125000 190505000
  4.   
  5.  ##             2007      2009      2008      2017      2018
  6.   
  7.  ## Median 235090000 244320000 256970000 299670000 341470000

偏度

每日交易量出现正偏的年份是:

  1.  ##  \[1\] "2007" "2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016"
  2.   
  3.  ## \[11\] "2017" "2018"

每日交易量偏度值均按升序排列。

  1.  ##             2007     2009     2008     2018     2010     2017     2011
  2.   
  3.  ## Skewness 0.94224 1.037015 1.203283 1.363823 1.452082 1.478708 1.878239
  4.   
  5.  ##              2016     2015     2012     2013     2014
  6.   
  7.  ## Skewness 3.046742 3.420032 3.454971 3.551752 6.619268

峰度

有正峰度的年份是:

  1.  ##  \[1\] "2007" "2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016"
  2.   
  3.  ## \[11\] "2017" "2018"

按升序排列。

  1.  ##              2009    2007     2008     2010     2018     2017    2011
  2.   
  3.  ## Kurtosis 0.658481 1.48254 2.064821 3.214065 3.277164 3.848619 5.63108
  4.   
  5.  ##              2016     2015     2012     2013     2014
  6.   
  7.  ## Kurtosis 11.22161 16.12326 18.52581 19.00989 58.56136

箱形图

从2010年开始交易量开始下降,2017年出现了显着增长。2018年的交易量甚至超过了2017年和其他年份。

密度图

shapiro检验

  1.  ##            result
  2.   
  3.  ## 2007 6.608332e-09
  4.   
  5.  ## 2008 3.555102e-10
  6.   
  7.  ## 2009 1.023147e-10
  8.   
  9.  ## 2010 9.890576e-13
  10.   
  11.  ## 2011 2.681476e-16
  12.   
  13.  ## 2012 1.866544e-20
  14.   
  15.  ## 2013 6.906596e-21
  16.   
  17.  ## 2014 5.304227e-27
  18.   
  19.  ## 2015 2.739912e-21
  20.   
  21.  ## 2016 6.640215e-23
  22.   
  23.  ## 2017 4.543843e-12
  24.   
  25.  ## 2018 9.288371e-11

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

正态分布的零假设被拒绝。

QQ图

QQplots直观地确认了每日交易量分布的非正态情况。

每日交易量对数比率探索性分析

与对数收益类似,我们可以将交易量对数比率定义为

vt:= ln(Vt/Vt−1)
我们可以通过PerformanceAnalytics包中的CalculateReturns对其进行计算并将其绘制出来。

plot(vol\_log\_ratio)

将交易量对数比率时间序列数据和时间轴索引映射到数据框。

  1.  head(dvol_df)
  2.   
  3.   
  4.   
  5.  ##   year        value
  6.   
  7.  ## 1 2007 -0.233511910
  8.   
  9.  ## 2 2007 -0.096538449
  10.   
  11.  ## 3 2007 -0.051109832
  12.   
  13.  ## 4 2007  0.007533076
  14.   
  15.  ## 5 2007  0.006109458
  16.   
  17.  ## 6 2007  0.144221282
  18.   
  19.  tail(vol_df)
  20.   
  21.   
  22.   
  23.  ##      year       value
  24.   
  25.  ## 3014 2018  0.44563907
  26.   
  27.  ## 3015 2018 -1.07149878
  28.   
  29.  ## 3016 2018  0.33945998
  30.   
  31.  ## 3017 2018 -0.05980236
  32.   
  33.  ## 3018 2018 -0.19249224
  34.   
  35.  ## 3019 2018 -0.15278959

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

基本统计摘要

  1.  ##                   2007       2008       2009       2010       2011
  2.   
  3.  ## nobs        250.000000 253.000000 252.000000 252.000000 252.000000
  4.   
  5.  ## NAs           0.000000   0.000000   0.000000   0.000000   0.000000
  6.   
  7.  ## Minimum      -1.606192  -1.122526  -1.071225  -1.050181  -2.301514
  8.   
  9.  ## Maximum       0.775961   0.724762   0.881352   1.041216   2.441882
  10.   
  11.  ## 1. Quartile  -0.123124  -0.128815  -0.162191  -0.170486  -0.157758
  12.   
  13.  ## 3. Quartile   0.130056   0.145512   0.169233   0.179903   0.137108
  14.   
  15.  ## Mean         -0.002685   0.001203  -0.001973  -0.001550   0.000140
  16.   
  17.  ## Median       -0.010972   0.002222  -0.031748  -0.004217  -0.012839
  18.   
  19.  ## Sum          -0.671142   0.304462  -0.497073  -0.390677   0.035162
  20.   
  21.  ## SE Mean       0.016984   0.016196   0.017618   0.019318   0.026038
  22.   
  23.  ## LCL Mean     -0.036135  -0.030693  -0.036670  -0.039596  -0.051141
  24.   
  25.  ## UCL Mean      0.030766   0.033100   0.032725   0.036495   0.051420
  26.   
  27.  ## Variance      0.072112   0.066364   0.078219   0.094041   0.170850
  28.   
  29.  ## Stdev         0.268536   0.257612   0.279677   0.306661   0.413341
  30.   
  31.  ## Skewness     -0.802037  -0.632586   0.066535  -0.150523   0.407226
  32.   
  33.  ## Kurtosis      5.345212   2.616615   1.500979   1.353797  14.554642
  34.   
  35.  ##                   2012       2013       2014       2015       2016
  36.   
  37.  ## nobs        250.000000 252.000000 252.000000 252.000000 252.000000
  38.   
  39.  ## NAs           0.000000   0.000000   0.000000   0.000000   0.000000
  40.   
  41.  ## Minimum      -2.158960  -1.386215  -2.110572  -1.326016  -1.336471
  42.   
  43.  ## Maximum       1.292956   1.245202   2.008667   1.130289   1.319713
  44.   
  45.  ## 1. Quartile  -0.152899  -0.145444  -0.144280  -0.143969  -0.134011
  46.   
  47.  ## 3. Quartile   0.144257   0.149787   0.134198   0.150003   0.141287
  48.   
  49.  ## Mean          0.001642  -0.002442   0.000200   0.000488   0.004228
  50.   
  51.  ## Median       -0.000010  -0.004922   0.013460   0.004112  -0.002044
  52.   
  53.  ## Sum           0.410521  -0.615419   0.050506   0.123080   1.065480
  54.   
  55.  ## SE Mean       0.021293   0.019799   0.023514   0.019010   0.019089
  56.   
  57.  ## LCL Mean     -0.040295  -0.041435  -0.046110  -0.036952  -0.033367
  58.   
  59.  ## UCL Mean      0.043579   0.036551   0.046510   0.037929   0.041823
  60.   
  61.  ## Variance      0.113345   0.098784   0.139334   0.091071   0.091826
  62.   
  63.  ## Stdev         0.336667   0.314299   0.373274   0.301780   0.303028
  64.   
  65.  ## Skewness     -0.878227  -0.297951  -0.209417  -0.285918   0.083826
  66.   
  67.  ## Kurtosis      8.115847   4.681120   9.850061   4.754926   4.647785
  68.   
  69.  ##                   2017       2018
  70.   
  71.  ## nobs        251.000000 251.000000
  72.   
  73.  ## NAs           0.000000   0.000000
  74.   
  75.  ## Minimum      -0.817978  -1.071499
  76.   
  77.  ## Maximum       0.915599   0.926101
  78.   
  79.  ## 1. Quartile  -0.112190  -0.119086
  80.   
  81.  ## 3. Quartile   0.110989   0.112424
  82.   
  83.  ## Mean         -0.000017   0.000257
  84.   
  85.  ## Median       -0.006322   0.003987
  86.   
  87.  ## Sum          -0.004238   0.064605
  88.   
  89.  ## SE Mean       0.013446   0.014180
  90.   
  91.  ## LCL Mean     -0.026500  -0.027671
  92.   
  93.  ## UCL Mean      0.026466   0.028185
  94.   
  95.  ## Variance      0.045383   0.050471
  96.   
  97.  ## Stdev         0.213032   0.224658
  98.   
  99.  ## Skewness      0.088511  -0.281007
  100.   
  101.  ## Kurtosis      3.411036   4.335748

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

在下文中,我们对一些相关的上述指标进行了具体评论。

平均值

每日交易量对数比率具有正平均值的年份是:

## \[1\] "2008" "2011" "2012" "2014" "2015" "2016" "2018"

所有每日成交量比率的平均值均按升序排列。

  1.  ##           2007      2013      2009     2010     2017    2011  2014
  2.   
  3.  ## Mean -0.002685 -0.002442 -0.001973 -0.00155 -1.7e-05 0.00014 2e-04
  4.   
  5.  ##          2018     2015     2008     2012     2016
  6.   
  7.  ## Mean 0.000257 0.000488 0.001203 0.001642 0.004228

中位数

每日交易量对数比率具有正中位数的年份是:

## \[1\] "2008" "2014" "2015" "2018"

道琼斯所有每日成交量比率的中位数均按升序排列。

  1.  ##             2009      2011      2007      2017      2013      2010
  2.   
  3.  ## Median -0.031748 -0.012839 -0.010972 -0.006322 -0.004922 -0.004217
  4.   
  5.  ##             2016   2012     2008     2018     2015    2014
  6.   
  7.  ## Median -0.002044 -1e-05 0.002222 0.003987 0.004112 0.01346

偏度

每日成交量比率具有正偏的年份是:

## \[1\] "2009" "2011" "2016" "2017"

所有每日成交量比率的平均值均按升序排列。

  1.  ##               2012      2007      2008      2013      2015      2018
  2.   
  3.  ## Skewness -0.878227 -0.802037 -0.632586 -0.297951 -0.285918 -0.281007
  4.   
  5.  ##               2014      2010     2009     2016     2017     2011
  6.   
  7.  ## Skewness -0.209417 -0.150523 0.066535 0.083826 0.088511 0.407226

峰度

有正峰度的年份是:

  1.  ##  \[1\] "2007" "2008" "2009" "2010" "2011" "2012" "2013" "2014" "2015" "2016"
  2.   
  3.  ## \[11\] "2017" "2018"

均按升序排列。

  1.  ##              2010     2009     2008     2017     2018     2016    2013
  2.   
  3.  ## Kurtosis 1.353797 1.500979 2.616615 3.411036 4.335748 4.647785 4.68112
  4.   
  5.  ##              2015     2007     2012     2014     2011
  6.   
  7.  ## Kurtosis 4.754926 5.345212 8.115847 9.850061 14.55464

箱形图

可以在2011、2014和2016年发现正的极端值。在2007、2011、2012、2014年可以发现负的极端值。

密度图

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_25

shapiro检验

  1.  ##            result
  2.   
  3.  ## 2007 3.695053e-09
  4.   
  5.  ## 2008 6.160136e-07
  6.   
  7.  ## 2009 2.083475e-04
  8.   
  9.  ## 2010 1.500060e-03
  10.   
  11.  ## 2011 3.434415e-18
  12.   
  13.  ## 2012 8.417627e-12
  14.   
  15.  ## 2013 1.165184e-10
  16.   
  17.  ## 2014 1.954662e-16
  18.   
  19.  ## 2015 5.261037e-11
  20.   
  21.  ## 2016 7.144940e-11
  22.   
  23.  ## 2017 1.551041e-08
  24.   
  25.  ## 2018 3.069196e-09

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

基于报告的p值,我们可以拒绝所有正态分布的零假设。

QQ图

在所有报告的年份都可以发现偏离正态状态。

对数收益率GARCH模型

我将为工业平均指数(DJIA)的每日对数收益率建立一个ARMA-GARCH模型。

这是工业平均指数每日对数收益的图。

plot(ret)

离群值检测

Performance Analytics程序包中的Return.clean函数能够清除异常值。在下面,我们将原始时间序列与调整离群值后的进行比较。

clean(ret, "boudt")

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_数据_27

作为对波动率评估的更为保守的方法,本文将以原始时间序列进行分析。

相关图

以下是自相关和偏相关图。

acf(ret)

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_28

pacf(dj_ret)

上面的相关图表明p和q> 0的一些ARMA(p,q)模型。将在本分析的该范围内对此进行验证。

单位根检验

我们运行Augmented Dickey-Fuller检验。

  1.  ## 
  2.   
  3.  ## ############################################### 
  4.   
  5.  ## # Augmented Dickey-Fuller Test Unit Root Test # 
  6.   
  7.  ## ############################################### 
  8.   
  9.  ## 
  10.   
  11.  ## Test regression none 
  12.   
  13.  ## 
  14.   
  15.  ## 
  16.   
  17.  ## Call:
  18.   
  19.  ## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
  20.   
  21.  ## 
  22.   
  23.  ## Residuals:
  24.   
  25.  ##       Min        1Q    Median        3Q       Max 
  26.   
  27.  ## -0.081477 -0.004141  0.000762  0.005426  0.098777 
  28.   
  29.  ## 
  30.   
  31.  ## Coefficients:
  32.   
  33.  ##            Estimate Std. Error t value Pr(>|t|)    
  34.   
  35.  ## z.lag.1    -1.16233    0.02699 -43.058  < 2e-16 ***
  36.   
  37.  ## z.diff.lag  0.06325    0.01826   3.464 0.000539 ***
  38.   
  39.  ## ---
  40.   
  41.  ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  42.   
  43.  ## 
  44.   
  45.  ## Residual standard error: 0.01157 on 2988 degrees of freedom
  46.   
  47.  ## Multiple R-squared:  0.5484, Adjusted R-squared:  0.5481 
  48.   
  49.  ## F-statistic:  1814 on 2 and 2988 DF,  p-value: < 2.2e-16
  50.   
  51.  ## 
  52.   
  53.  ## 
  54.   
  55.  ## Value of test-statistic is: -43.0578 
  56.   
  57.  ## 
  58.   
  59.  ## Critical values for test statistics: 
  60.   
  61.  ##       1pct  5pct 10pct
  62.   
  63.  ## tau1 -2.58 -1.95 -1.62

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

基于报告的检验统计数据与临界值的比较,我们拒绝单位根存在的零假设。

ARMA模型

现在,我们确定时间序列的ARMA结构,以便对结果残差进行ARCH效应检验。ACF和PACF系数拖尾表明存在ARMA(2,2)。我们利用auto.arima()函数开始构建。

  1.  ## Series: ret 
  2.   
  3.  ## ARIMA(2,0,4) with zero mean 
  4.   
  5.  ## 
  6.   
  7.  ## Coefficients:
  8.   
  9.  ##          ar1      ar2      ma1     ma2      ma3      ma4
  10.   
  11.  ##       0.4250  -0.8784  -0.5202  0.8705  -0.0335  -0.0769
  12.   
  13.  ## s.e.  0.0376   0.0628   0.0412  0.0672   0.0246   0.0203
  14.   
  15.  ## 
  16.   
  17.  ## sigma^2 estimated as 0.0001322:  log likelihood=9201.19
  18.   
  19.  ## AIC=-18388.38   AICc=-18388.34   BIC=-18346.29
  20.   
  21.  ## 
  22.   
  23.  ## Training set error measures:
  24.   
  25.  ##                        ME       RMSE         MAE MPE MAPE      MASE
  26.   
  27.  ## Training set 0.0002416895 0.01148496 0.007505056 NaN  Inf 0.6687536
  28.   
  29.  ##                      ACF1
  30.   
  31.  ## Training set -0.002537238

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

建议使用ARMA(2,4)模型。但是,ma3系数在统计上并不显着,进一步通过以下方法验证:

  1.  ## z test of coefficients:
  2.   
  3.  ## 
  4.   
  5.  ##      Estimate Std. Error  z value  Pr(>|z|)    
  6.   
  7.  ## ar1  0.425015   0.037610  11.3007 < 2.2e-16 ***
  8.   
  9.  ## ar2 -0.878356   0.062839 -13.9779 < 2.2e-16 ***
  10.   
  11.  ## ma1 -0.520173   0.041217 -12.6204 < 2.2e-16 ***
  12.   
  13.  ## ma2  0.870457   0.067211  12.9511 < 2.2e-16 ***
  14.   
  15.  ## ma3 -0.033527   0.024641  -1.3606 0.1736335    
  16.   
  17.  ## ma4 -0.076882   0.020273  -3.7923 0.0001492 ***
  18.   
  19.  ## ---
  20.   
  21.  ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

因此,我们将MA阶q <= 2作为约束。

  1.  ## Series: dj_ret 
  2.   
  3.  ## ARIMA(2,0,2) with zero mean 
  4.   
  5.  ## 
  6.   
  7.  ## Coefficients:
  8.   
  9.  ##           ar1      ar2     ma1     ma2
  10.   
  11.  ##       -0.5143  -0.4364  0.4212  0.3441
  12.   
  13.  ## s.e.   0.1461   0.1439  0.1512  0.1532
  14.   
  15.  ## 
  16.   
  17.  ## sigma^2 estimated as 0.0001325:  log likelihood=9196.33
  18.   
  19.  ## AIC=-18382.66   AICc=-18382.64   BIC=-18352.6
  20.   
  21.  ## 
  22.   
  23.  ## Training set error measures:
  24.   
  25.  ##                        ME       RMSE         MAE MPE MAPE      MASE
  26.   
  27.  ## Training set 0.0002287171 0.01150361 0.007501925 Inf  Inf 0.6684746
  28.   
  29.  ##                      ACF1
  30.   
  31.  ## Training set -0.002414944

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

现在,所有系数都具有统计意义。

  1.  ## z test of coefficients:
  2.   
  3.  ## 
  4.   
  5.  ##     Estimate Std. Error z value  Pr(>|z|)    
  6.   
  7.  ## ar1 -0.51428    0.14613 -3.5192 0.0004328 ***
  8.   
  9.  ## ar2 -0.43640    0.14392 -3.0322 0.0024276 ** 
  10.   
  11.  ## ma1  0.42116    0.15121  2.7853 0.0053485 ** 
  12.   
  13.  ## ma2  0.34414    0.15323  2.2458 0.0247139 *  
  14.   
  15.  ## ---
  16.   
  17.  ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

使用ARMA(2,1)和ARMA(1,2)进行的进一步验证得出的AIC值高于ARMA(2,2)。因此,ARMA(2,2)是更可取的。这是结果。

  1.  ## Series: dj_ret 
  2.   
  3.  ## ARIMA(2,0,1) with zero mean 
  4.   
  5.  ## 
  6.   
  7.  ## Coefficients:
  8.   
  9.  ##           ar1      ar2     ma1
  10.   
  11.  ##       -0.4619  -0.1020  0.3646
  12.   
  13.  ## s.e.   0.1439   0.0204  0.1438
  14.   
  15.  ## 
  16.   
  17.  ## sigma^2 estimated as 0.0001327:  log likelihood=9194.1
  18.   
  19.  ## AIC=-18380.2   AICc=-18380.19   BIC=-18356.15
  20.   
  21.  ## 
  22.   
  23.  ## Training set error measures:
  24.   
  25.  ##                        ME       RMSE         MAE MPE MAPE      MASE
  26.   
  27.  ## Training set 0.0002370597 0.01151213 0.007522059 Inf  Inf 0.6702687
  28.   
  29.  ##                      ACF1
  30.   
  31.  ## Training set 0.0009366271
  32.   
  33.  coeftest(auto_model3)
  34.   
  35.   
  36.   
  37.  ## 
  38.   
  39.  ## z test of coefficients:
  40.   
  41.  ## 
  42.   
  43.  ##      Estimate Std. Error z value  Pr(>|z|)    
  44.   
  45.  ## ar1 -0.461916   0.143880 -3.2104  0.001325 ** 
  46.   
  47.  ## ar2 -0.102012   0.020377 -5.0062 5.552e-07 ***
  48.   
  49.  ## ma1  0.364628   0.143818  2.5353  0.011234 *  
  50.   
  51.  ## ---
  52.   
  53.  ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

所有系数均具有统计学意义。

  1.  ## ARIMA(1,0,2) with zero mean 
  2.   
  3.  ## 
  4.   
  5.  ## Coefficients:
  6.   
  7.  ##           ar1     ma1      ma2
  8.   
  9.  ##       -0.4207  0.3259  -0.0954
  10.   
  11.  ## s.e.   0.1488  0.1481   0.0198
  12.   
  13.  ## 
  14.   
  15.  ## sigma^2 estimated as 0.0001328:  log likelihood=9193.01
  16.   
  17.  ## AIC=-18378.02   AICc=-18378   BIC=-18353.96
  18.   
  19.  ## 
  20.   
  21.  ## Training set error measures:
  22.   
  23.  ##                        ME      RMSE         MAE MPE MAPE      MASE
  24.   
  25.  ## Training set 0.0002387398 0.0115163 0.007522913 Inf  Inf 0.6703448
  26.   
  27.  ##                      ACF1
  28.   
  29.  ## Training set -0.001958194
  30.   
  31.  coeftest(auto_model4)
  32.   
  33.   
  34.   
  35.  ## 
  36.   
  37.  ## z test of coefficients:
  38.   
  39.  ## 
  40.   
  41.  ##      Estimate Std. Error z value  Pr(>|z|)    
  42.   
  43.  ## ar1 -0.420678   0.148818 -2.8268  0.004702 ** 
  44.   
  45.  ## ma1  0.325918   0.148115  2.2004  0.027776 *  
  46.   
  47.  ## ma2 -0.095407   0.019848 -4.8070 1.532e-06 ***
  48.   
  49.  ## ---
  50.   
  51.  ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

所有系数均具有统计学意义。此外,我们使用TSA软件包报告中的eacf()函数。

  1.  ## AR/MA
  2.   
  3.  ##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
  4.   
  5.  ## 0 x x x o x o o o o o o  o  o  x 
  6.   
  7.  ## 1 x x o o x o o o o o o  o  o  o 
  8.   
  9.  ## 2 x o o x x o o o o o o  o  o  o 
  10.   
  11.  ## 3 x o x o x o o o o o o  o  o  o 
  12.   
  13.  ## 4 x x x x x o o o o o o  o  o  o 
  14.   
  15.  ## 5 x x x x x o o x o o o  o  o  o 
  16.   
  17.  ## 6 x x x x x x o o o o o  o  o  o 
  18.   
  19.  ## 7 x x x x x o o o o o o  o  o  o

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

以“ O”为顶点的左上三角形位于(p,q)= {(1,2 ,,(2,2),(1,3)}}内,它表示一组潜在候选对象(p,q)值。ARMA(1,2)模型已经过验证。ARMA(2,2)已经是候选模型。让我们验证ARMA(1,3)。

  1.  ## Call:
  2.   
  3.  ## 
  4.   
  5.  ## Coefficients:
  6.   
  7.  ##           ar1     ma1      ma2     ma3
  8.   
  9.  ##       -0.2057  0.1106  -0.0681  0.0338
  10.   
  11.  ## s.e.   0.2012  0.2005   0.0263  0.0215
  12.   
  13.  ## 
  14.   
  15.  ## sigma^2 estimated as 0.0001325:  log likelihood = 9193.97,  aic = -18379.94
  16.   
  17.  coeftest(arima_model5)
  18.   
  19.   
  20.   
  21.  ## 
  22.   
  23.  ## z test of coefficients:
  24.   
  25.  ## 
  26.   
  27.  ##      Estimate Std. Error z value Pr(>|z|)   
  28.   
  29.  ## ar1 -0.205742   0.201180 -1.0227 0.306461   
  30.   
  31.  ## ma1  0.110599   0.200475  0.5517 0.581167   
  32.   
  33.  ## ma2 -0.068124   0.026321 -2.5882 0.009647 **
  34.   
  35.  ## ma3  0.033832   0.021495  1.5739 0.115501   
  36.   
  37.  ## ---
  38.   
  39.  ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

只有一个系数具有统计意义。

结论是,我们选择ARMA(2,2)作为均值模型。现在,我们可以继续进行ARCH效果检验。

ARCH效应检验

现在,我们可以检验模型残差上是否存在ARCH效应。如果ARCH效应对于我们的时间序列的残差在统计上显着,则需要GARCH模型。

  1.  ##  ARCH LM-test; Null hypothesis: no ARCH effects
  2.   
  3.  ## 
  4.   
  5.  ## data:  model\_residuals - mean(model\_residuals)
  6.   
  7.  ## Chi-squared = 986.82, df = 12, p-value < 2.2e-16

基于报告的p值,我们拒绝没有ARCH效应的原假设。

让我们看一下残差相关图。

条件波动率

条件均值和方差定义为:

μt:= E(rt | Ft-1)σt2:= Var(rt | Ft-1)= E [(rt-μt)2 | Ft-1]

条件波动率可以计算为条件方差的平方根。

eGARCH模型

将sGARCH作为方差模型的尝试未获得具有统计显着性系数的结果。而指数GARCH(eGARCH)方差模型能够捕获波动率内的不对称性。要检查DJIA对数收益率内的不对称性,显示汇总统计数据和密度图。

  1.  ##             DAdjusted
  2.   
  3.  ## nobs         3019.000000
  4.   
  5.  ## NAs             0.000000
  6.   
  7.  ## Minimum        -0.082005
  8.   
  9.  ## Maximum         0.105083
  10.   
  11.  ## 1. Quartile    -0.003991
  12.   
  13.  ## 3. Quartile     0.005232
  14.   
  15.  ## Mean            0.000207
  16.   
  17.  ## Median          0.000551
  18.   
  19.  ## Sum             0.625943
  20.   
  21.  ## SE Mean         0.000211
  22.   
  23.  ## LCL Mean       -0.000206
  24.   
  25.  ## UCL Mean        0.000621
  26.   
  27.  ## Variance        0.000134
  28.   
  29.  ## Stdev           0.011593
  30.   
  31.  ## Skewness       -0.141370
  32.   
  33.  ## Kurtosis       10.200492

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

负偏度值确认分布内不对称性的存在。

这给出了密度图。

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_数据_39

我们继续提出eGARCH模型作为方差模型(针对条件方差)。更准确地说,我们将使用ARMA(2,2)作为均值模型,指数GARCH(1,1)作为方差模型对ARMA-GARCH进行建模。

在此之前,我们进一步强调ARMA(0,0)在这种情况下不令人满意。ARMA-GARCH:ARMA(0,0)+ eGARCH(1,1)

  1.  ## 
  2.   
  3.  ## *---------------------------------*
  4.   
  5.  ## *          GARCH Model Fit        *
  6.   
  7.  ## *---------------------------------*
  8.   
  9.  ## 
  10.   
  11.  ## Conditional Variance Dynamics    
  12.   
  13.  ## -----------------------------------
  14.   
  15.  ## GARCH Model  : eGARCH(1,1)
  16.   
  17.  ## Mean Model   : ARFIMA(0,0,0)
  18.   
  19.  ## Distribution : sstd 
  20.   
  21.  ## 
  22.   
  23.  ## Optimal Parameters
  24.   
  25.  ## ------------------------------------
  26.   
  27.  ##         Estimate  Std. Error  t value Pr(>|t|)
  28.   
  29.  ## mu      0.000303    0.000117   2.5933 0.009506
  30.   
  31.  ## omega  -0.291302    0.016580 -17.5699 0.000000
  32.   
  33.  ## alpha1 -0.174456    0.013913 -12.5387 0.000000
  34.   
  35.  ## beta1   0.969255    0.001770 547.6539 0.000000
  36.   
  37.  ## gamma1  0.188918    0.021771   8.6773 0.000000
  38.   
  39.  ## skew    0.870191    0.021763  39.9848 0.000000
  40.   
  41.  ## shape   6.118380    0.750114   8.1566 0.000000
  42.   
  43.  ## 
  44.   
  45.  ## Robust Standard Errors:
  46.   
  47.  ##         Estimate  Std. Error  t value Pr(>|t|)
  48.   
  49.  ## mu      0.000303    0.000130   2.3253 0.020055
  50.   
  51.  ## omega  -0.291302    0.014819 -19.6569 0.000000
  52.   
  53.  ## alpha1 -0.174456    0.016852 -10.3524 0.000000
  54.   
  55.  ## beta1   0.969255    0.001629 595.0143 0.000000
  56.   
  57.  ## gamma1  0.188918    0.031453   6.0063 0.000000
  58.   
  59.  ## skew    0.870191    0.022733  38.2783 0.000000
  60.   
  61.  ## shape   6.118380    0.834724   7.3298 0.000000
  62.   
  63.  ## 
  64.   
  65.  ## LogLikelihood : 10138.63 
  66.   
  67.  ## 
  68.   
  69.  ## Information Criteria
  70.   
  71.  ## ------------------------------------
  72.   
  73.  ##                     
  74.   
  75.  ## Akaike       -6.7119
  76.   
  77.  ## Bayes        -6.6980
  78.   
  79.  ## Shibata      -6.7119
  80.   
  81.  ## Hannan-Quinn -6.7069
  82.   
  83.  ## 
  84.   
  85.  ## Weighted Ljung-Box Test on Standardized Residuals
  86.   
  87.  ## ------------------------------------
  88.   
  89.  ##                         statistic p-value
  90.   
  91.  ## Lag\[1\]                      5.475 0.01929
  92.   
  93.  ## Lag\[2*(p+q)+(p+q)-1\]\[2\]     6.011 0.02185
  94.   
  95.  ## Lag\[4*(p+q)+(p+q)-1\]\[5\]     7.712 0.03472
  96.   
  97.  ## d.o.f=0
  98.   
  99.  ## H0 : No serial correlation
  100.   
  101.  ## 
  102.   
  103.  ## Weighted Ljung-Box Test on Standardized Squared Residuals
  104.   
  105.  ## ------------------------------------
  106.   
  107.  ##                         statistic p-value
  108.   
  109.  ## Lag\[1\]                      1.342  0.2467
  110.   
  111.  ## Lag\[2*(p+q)+(p+q)-1\]\[5\]     2.325  0.5438
  112.   
  113.  ## Lag\[4*(p+q)+(p+q)-1\]\[9\]     2.971  0.7638
  114.   
  115.  ## d.o.f=2
  116.   
  117.  ## 
  118.   
  119.  ## Weighted ARCH LM Tests
  120.   
  121.  ## ------------------------------------
  122.   
  123.  ##             Statistic Shape Scale P-Value
  124.   
  125.  ## ARCH Lag\[3\]    0.3229 0.500 2.000  0.5699
  126.   
  127.  ## ARCH Lag\[5\]    1.4809 1.440 1.667  0.5973
  128.   
  129.  ## ARCH Lag\[7\]    1.6994 2.315 1.543  0.7806
  130.   
  131.  ## 
  132.   
  133.  ## Nyblom stability test
  134.   
  135.  ## ------------------------------------
  136.   
  137.  ## Joint Statistic:  4.0468
  138.   
  139.  ## Individual Statistics:             
  140.   
  141.  ## mu     0.2156
  142.   
  143.  ## omega  1.0830
  144.   
  145.  ## alpha1 0.5748
  146.   
  147.  ## beta1  0.8663
  148.   
  149.  ## gamma1 0.3994
  150.   
  151.  ## skew   0.1044
  152.   
  153.  ## shape  0.4940
  154.   
  155.  ## 
  156.   
  157.  ## Asymptotic Critical Values (10% 5% 1%)
  158.   
  159.  ## Joint Statistic:          1.69 1.9 2.35
  160.   
  161.  ## Individual Statistic:     0.35 0.47 0.75
  162.   
  163.  ## 
  164.   
  165.  ## Sign Bias Test
  166.   
  167.  ## ------------------------------------
  168.   
  169.  ##                    t-value    prob sig
  170.   
  171.  ## Sign Bias            1.183 0.23680    
  172.   
  173.  ## Negative Sign Bias   2.180 0.02932  **
  174.   
  175.  ## Positive Sign Bias   1.554 0.12022    
  176.   
  177.  ## Joint Effect         8.498 0.03677  **
  178.   
  179.  ## 
  180.   
  181.  ## 
  182.   
  183.  ## Adjusted Pearson Goodness-of-Fit Test:
  184.   
  185.  ## ------------------------------------
  186.   
  187.  ##   group statistic p-value(g-1)
  188.   
  189.  ## 1    20     37.24      0.00741
  190.   
  191.  ## 2    30     42.92      0.04633
  192.   
  193.  ## 3    40     52.86      0.06831
  194.   
  195.  ## 4    50     65.55      0.05714
  196.   
  197.  ## 
  198.   
  199.  ## 
  200.   
  201.  ## Elapsed time : 0.6527421

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

所有系数均具有统计学意义。但是,根据以上报告的p值的标准化残差加权Ljung-Box检验,我们确认该模型无法捕获所有ARCH效果(我们拒绝了残差内无相关性的零假设) )。

作为结论,我们通过在下面所示的GARCH拟合中指定ARMA(2,2)作为均值模型来继续进行。

ARMA-GARCH:ARMA(2,2)+ eGARCH(1,1)

  1.  ## 
  2.   
  3.  ## *---------------------------------*
  4.   
  5.  ## *          GARCH Model Fit        *
  6.   
  7.  ## *---------------------------------*
  8.   
  9.  ## 
  10.   
  11.  ## Conditional Variance Dynamics    
  12.   
  13.  ## -----------------------------------
  14.   
  15.  ## GARCH Model  : eGARCH(1,1)
  16.   
  17.  ## Mean Model   : ARFIMA(2,0,2)
  18.   
  19.  ## Distribution : sstd 
  20.   
  21.  ## 
  22.   
  23.  ## Optimal Parameters
  24.   
  25.  ## ------------------------------------
  26.   
  27.  ##         Estimate  Std. Error    t value Pr(>|t|)
  28.   
  29.  ## ar1     -0.47642    0.026115   -18.2433        0
  30.   
  31.  ## ar2     -0.57465    0.052469   -10.9523        0
  32.   
  33.  ## ma1      0.42945    0.025846    16.6157        0
  34.   
  35.  ## ma2      0.56258    0.054060    10.4066        0
  36.   
  37.  ## omega   -0.31340    0.003497   -89.6286        0
  38.   
  39.  ## alpha1  -0.17372    0.011642   -14.9222        0
  40.   
  41.  ## beta1    0.96598    0.000027 35240.1590        0
  42.   
  43.  ## gamma1   0.18937    0.011893    15.9222        0
  44.   
  45.  ## skew     0.84959    0.020063    42.3469        0
  46.   
  47.  ## shape    5.99161    0.701313     8.5434        0
  48.   
  49.  ## 
  50.   
  51.  ## Robust Standard Errors:
  52.   
  53.  ##         Estimate  Std. Error    t value Pr(>|t|)
  54.   
  55.  ## ar1     -0.47642    0.007708   -61.8064        0
  56.   
  57.  ## ar2     -0.57465    0.018561   -30.9608        0
  58.   
  59.  ## ma1      0.42945    0.007927    54.1760        0
  60.   
  61.  ## ma2      0.56258    0.017799    31.6074        0
  62.   
  63.  ## omega   -0.31340    0.003263   -96.0543        0
  64.   
  65.  ## alpha1  -0.17372    0.012630   -13.7547        0
  66.   
  67.  ## beta1    0.96598    0.000036 26838.0412        0
  68.   
  69.  ## gamma1   0.18937    0.013003    14.5631        0
  70.   
  71.  ## skew     0.84959    0.020089    42.2911        0
  72.   
  73.  ## shape    5.99161    0.707324     8.4708        0
  74.   
  75.  ## 
  76.   
  77.  ## LogLikelihood : 10140.27 
  78.   
  79.  ## 
  80.   
  81.  ## Information Criteria
  82.   
  83.  ## ------------------------------------
  84.   
  85.  ##                     
  86.   
  87.  ## Akaike       -6.7110
  88.   
  89.  ## Bayes        -6.6911
  90.   
  91.  ## Shibata      -6.7110
  92.   
  93.  ## Hannan-Quinn -6.7039
  94.   
  95.  ## 
  96.   
  97.  ## Weighted Ljung-Box Test on Standardized Residuals
  98.   
  99.  ## ------------------------------------
  100.   
  101.  ##                          statistic p-value
  102.   
  103.  ## Lag\[1\]                     0.03028  0.8619
  104.   
  105.  ## Lag\[2*(p+q)+(p+q)-1\]\[11\]   5.69916  0.6822
  106.   
  107.  ## Lag\[4*(p+q)+(p+q)-1\]\[19\]  12.14955  0.1782
  108.   
  109.  ## d.o.f=4
  110.   
  111.  ## H0 : No serial correlation
  112.   
  113.  ## 
  114.   
  115.  ## Weighted Ljung-Box Test on Standardized Squared Residuals
  116.   
  117.  ## ------------------------------------
  118.   
  119.  ##                         statistic p-value
  120.   
  121.  ## Lag\[1\]                      1.666  0.1967
  122.   
  123.  ## Lag\[2*(p+q)+(p+q)-1\]\[5\]     2.815  0.4418
  124.   
  125.  ## Lag\[4*(p+q)+(p+q)-1\]\[9\]     3.457  0.6818
  126.   
  127.  ## d.o.f=2
  128.   
  129.  ## 
  130.   
  131.  ## Weighted ARCH LM Tests
  132.   
  133.  ## ------------------------------------
  134.   
  135.  ##             Statistic Shape Scale P-Value
  136.   
  137.  ## ARCH Lag\[3\]    0.1796 0.500 2.000  0.6717
  138.   
  139.  ## ARCH Lag\[5\]    1.5392 1.440 1.667  0.5821
  140.   
  141.  ## ARCH Lag\[7\]    1.6381 2.315 1.543  0.7933
  142.   
  143.  ## 
  144.   
  145.  ## Nyblom stability test
  146.   
  147.  ## ------------------------------------
  148.   
  149.  ## Joint Statistic:  4.4743
  150.   
  151.  ## Individual Statistics:              
  152.   
  153.  ## ar1    0.07045
  154.   
  155.  ## ar2    0.37070
  156.   
  157.  ## ma1    0.07702
  158.   
  159.  ## ma2    0.39283
  160.   
  161.  ## omega  1.00123
  162.   
  163.  ## alpha1 0.49520
  164.   
  165.  ## beta1  0.79702
  166.   
  167.  ## gamma1 0.51601
  168.   
  169.  ## skew   0.07163
  170.   
  171.  ## shape  0.55625
  172.   
  173.  ## 
  174.   
  175.  ## Asymptotic Critical Values (10% 5% 1%)
  176.   
  177.  ## Joint Statistic:          2.29 2.54 3.05
  178.   
  179.  ## Individual Statistic:     0.35 0.47 0.75
  180.   
  181.  ## 
  182.   
  183.  ## Sign Bias Test
  184.   
  185.  ## ------------------------------------
  186.   
  187.  ##                    t-value    prob sig
  188.   
  189.  ## Sign Bias           0.4723 0.63677    
  190.   
  191.  ## Negative Sign Bias  1.7969 0.07246   *
  192.   
  193.  ## Positive Sign Bias  2.0114 0.04438  **
  194.   
  195.  ## Joint Effect        7.7269 0.05201   *
  196.   
  197.  ## 
  198.   
  199.  ## 
  200.   
  201.  ## Adjusted Pearson Goodness-of-Fit Test:
  202.   
  203.  ## ------------------------------------
  204.   
  205.  ##   group statistic p-value(g-1)
  206.   
  207.  ## 1    20     46.18    0.0004673
  208.   
  209.  ## 2    30     47.73    0.0156837
  210.   
  211.  ## 3    40     67.07    0.0034331
  212.   
  213.  ## 4    50     65.51    0.0574582
  214.   
  215.  ## 
  216.   
  217.  ## 
  218.   
  219.  ## Elapsed time : 0.93679

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序

所有系数均具有统计学意义。在标准化残差或标准化平方残差内未发现相关性。模型正确捕获所有ARCH效果。然而:

*对于某些模型参数,Nyblom稳定性检验无效假设认为模型参数随时间是恒定的

*正偏差为零的假设在5%的显着性水平上被拒绝;这种检验着重于正面冲击的影响

*拒绝了标准化残差的经验和理论分布相同的Pearson拟合优度检验原假设

_注意_:ARMA(1,2)+ eGARCH(1,1)拟合还提供统计上显着的系数,标准化残差内没有相关性,标准化平方残差内没有相关性,并且正确捕获了所有ARCH效应。但是,偏差检验在5%时不如ARMA(2,2)+ eGARCH(1,1)模型令人满意。

进一步显示诊断图。

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_42

我们用平均模型拟合(红线)和条件波动率(蓝线)显示了原始的对数收益时间序列。

  1.  p <- addSeries(mean\_model\_fit, col = 'red', on = 1)
  2.   
  3.  p <- addSeries(cond_volatility, col = 'blue', on = 1)
  4.   
  5.  p

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_43

模型方程式

结合ARMA(2,2)和eGARCH模型,我们可以:

yt − ϕ1yt−1 − ϕ2yt−2 = ϕ0 + ut + θ1ut−1 +θ2ut-2ut= σtϵt,ϵt = N(0,1)ln⁡(σt2)=ω+ ∑j = 1q(αjϵt−j2 +γ (ϵt−j–E | ϵt−j |))+ ∑i =1pβiln(σt−12)

使用模型结果系数,结果如下。

yt +0.476 yt-1 +0.575 yt-2 = ut +0.429 ut-1 +0.563 ut-2ut = σtϵt,ϵt = N(0,1)ln⁡(σt2)= -0.313 -0.174ϵt-12 +0.189( ϵt−1–E | ϵt−1 |))+ 0.966 ln(σt−12)

波动率分析

这是由ARMA(2,2)+ eGARCH(1,1)模型得出的条件波动图。

plot(cond_volatility)

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_数据_44

显示了年条件波动率的线线图。

  1.  pl <- lapply(2007:2018, function(x) { plot(cond_volatility\[as.character(x)\])
  2.   
  3.  pl

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_数据_45

显示了按年列出的条件波动率箱图。

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_升序_46

2008年之后,日波动率基本趋于下降。在2017年,波动率低于其他任何年。不同的是,与2017年相比,我们在2018年的波动性显着增加。


R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析|附代码数据_概率分布_47


本文选自《R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析》。