zoukankan      html  css  js  c++  java
  • 拓端tecdat:MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测

    原文链接:http://tecdat.cn/?p=24211 

    原文出处:拓端数据部落公众号

    描述

    使用 garch 指定一个单变量GARCH(广义自回归条件异方差)模型。

    garch 模型的关键参数包括:

    • GARCH 多项式,由滞后条件方差组成。阶数用P表示 。

    • ARCH多项式,由滞后平方组成。阶数用Q表示 。

    P 和 Q 分别是 GARCH 和 ARCH 多项式中的最大非零滞后。其他模型参数包括平均模型偏移、条件方差模型常数和分布。

    所有系数都是未知(NaN 值)和可估计的。

    示例: 'ARCHLags',[1 4],'ARCH',{NaN NaN} 指定 GARCH(0,4) 模型和未知但非零的 ARCH 系,滞后 1 和 4


    例子

    创建默认 GARCH 模型

    创建默认 garch 模型对象并指定其参数值。

    创建 GARCH(0,0) 模型。

    garch

    Mdl 是一个 garch 模型。它包含一个未知常数,其偏移量为 0,分布为 'Gaussian'。该模型没有 GARCH 或 ARCH 多项式。

    为滞后 1 和滞后 2 指定两个未知的 ARCH 系数。

    ARCH = {NN NN}

    该 Q 和 ARCH 性能更新为 2 和 {NaN NaN}。两个 ARCH 系数与滞后 1 和滞后 2 相关联。

    创建 GARCH 模型

    garch 创建 模型 garch(P,Q),其中 P 是 GARCH 多项式的阶数, Q 是 ARCH 多项式的阶数。

    创建 GARCH(3,2) 模型

    garch(3,2)

    Mdl 是一个 garch 模型对象。 Mdl的所有属性,除了 P, Q和 Distribution,是 NaN 值。默认情况下:

    • 包括条件方差模型常数

    • 排除条件平均模型偏移(即偏移为 0

    • 包括 ARCH 和 GARCH 滞后运算符多项式中的所有滞后项,分别达到滞后 Q 和 P

    Mdl 仅指定 GARCH 模型的函数形式。因为它包含未知的参数值,您可以通过 Mdl 和时间序列数据 estimate 来估计参数。

    使用参数创建 GARCH 模型

    garch 使用名称-值对参数创建 模型。

    指定 GARCH(1,1) 模型。默认情况下,条件平均模型偏移为零。指定偏移量为 NaN

    grch('GRCHas',1,'CHLas',1,'Oset',aN)

    Mdl 是一个 garch 模型对象。

    由于 Mdl 包含 NaN 值, Mdl 仅适用于估计。将 Mdl 时间序列数据传递给 estimate.

    创建具有已知系数的 GARCH 模型

    创建一个具有平均偏移量的 GARCH(1,1) 模型,

    yt=0.5+εt,

    其中 εt=σtzt,

    σ2t = 0.0001 + 0.75σ2t − 1 + 0.1ε2t − 1,

    zt 是一个独立同分布的标准高斯过程。

    1.  
      garh('Conant',00001,'GACH',0.75,...
    2.  
      'AR H ,0.1,'Ofet'0.5)

    访问 GARCH 模型属性

    创建 garch 模型对象。

     garch(3,2)

    从模型中删除第二个 GARCH 项。即,指定第二个滞后条件方差的 GARCH 系数为 0

    GAH{2} = 0

    GARCH 多项式有两个未知参数,分别对应滞后 1 和滞后 3。

    显示扰动的分布。

    Ditiuton

    扰动是均值为 0 且方差为 1 的高斯扰动。

    指定基础 IID 扰动具有  五个自由度的t分布。

    dl.Dirbton = trut('Nme','t','DF',5)

    指定第一个滞后的 ARCH 系数为 0.2,第二个滞后的 ARCH 系数为 0.1。

    ACH = {0.2 0.1}

    要估计残差的参数,您可以将Mdl 数据传递 给 estimate 指定的参数并将其用作等式约束。或者,您可以指定其余的参数值,然后通过将完全指定的模型分别传递给simulate 或 来模拟或预测 GARCH 模型的条件方差 forecast

    估计 GARCH 模型

    将 GARCH 模型拟合到 1922-1999 年股票收益率的年度时间序列。

    加载 Data数据集。绘制收益率 ( nr)。

    1.  
      RN;
    2.  
       
    3.  
      fiure;
    4.  
      plot(daes,nr;
    5.  
      hod n;
    6.  
      pot([dtes(1) dtes(n
    7.  
       

    收益序列似乎具有非零条件平均偏移,并且似乎表现出波动聚集。也就是说,较早年份的变异性小于晚年的变异性。对于此示例,假设 GARCH(1,1) 模型适用于该序列。

    创建 GARCH(1,1) 模型。默认情况下,条件平均偏移为零。要估计偏移量,请将其指定为 NaN

    garh('GCHags',1,'ARHLgs',1,'Ofst',Na);

    将 GARCH(1,1) 模型拟合到数据。

    eimae(dl,r);

    EstMdl 是一个完全指定的 garch 模型对象。也就是说,它不包含 NaN 值。您可以通过使用 生成残差infer,然后对其进行分析来评估模型的充分性 。

    要模拟条件方差或序列,请传递 EstMdl 到 simulate

    要预测分布,请 EstMdl 转到 forecast.

    模拟 GARCH 模型观察序列和条件方差

    从完全指定的garch 模型对象模拟条件方差或序列路径 。也就是说,从估计garch 模型或已知 garch 模型(您在其中指定所有参数值)进行模拟 。

    加载 Data 数据集。

    RN;

    创建具有未知条件平均偏移量的 GARCH(1,1) 模型。将模型拟合到年度收益序列。

    1.  
      gach('GCHLgs',1,ARCLgs',1,Ofet',Na);
    2.  
      Est = esiae(Mnr);

    从估计的 GARCH 模型模拟每个时期的 100 条条件方差和序列路径。

    1.  
      mOb = nul(n); % 样本大小(T)
    2.  
      nuths = 100; % 要模拟的路径数
    3.  
      rg(1); % 用于重现
    4.  
      [Vim,Sm] = simae(EMdl,nuOs,NumPts,umPts);

    VSim 和 YSim 是 T-by- numPaths 矩阵。行对应一个采样周期,列对应一个模拟路径。

    绘制模拟路径的平均值以及 97.5% 和 2.5% 的百分位数。将模拟统计数据与原始数据进行比较。

    1.  
      Var = men(Vim,2);
    2.  
      VSI = quntie(Vi,[0.025 0.975],2);
    3.  
      Ymar = man(YSm,2);
    4.  
      YCI = qatle(Sim,[0.025 0.975],2);
    5.  
       
    6.  
      pot(ae,im,);
    7.  
      hld on;
    8.  
      h2 = plt(des,Viar);
    9.  
      h =plo(ats,VSiCI,
    10.  
      hld off;

    预测 GARCH 模型条件方差

    从完全指定的garch 模型对象预测条件方差 。也就是说,根据估计garch 模型或garch 您指定所有参数值的已知 模型进行预测 。

    加载 Data 数据集。

    RN;

    创建具有未知条件平均偏移量的 GARCH(1,1) 模型,并将该模型拟合到年度收益率序列。

    1.  
      dl = grh('GCas',1,'AHas',1,'Ofet',aN);
    2.  
      Edl = esate(dl,r);

    使用估计的 GARCH 模型预测未来 10 年收益率序列的条件方差。将整个收益系列指定为样本前观察。软件使用样本前观测值和模型推断样本前条件方差。

    1.  
      numPeiods = 10;
    2.  
      F = foeast(EtMdl,uPes,nr);

    绘制名义收益的预测条件方差。将预测与观察到的条件方差进行比较。

    1.  
       
    2.  
      fgure;
    3.  
      pot(dtes);
    4.  
      hld n;
    5.  
      pot(dts(ed):ds(ed) + 10,[v(nd);vF]);

    参考

    [1] Tsay,金融时间序列的RS 分析。第 3 版。新泽西州霍博肯:John Wiley & Sons, Inc.,2010 年。


    最受欢迎的见解

    1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率

    2.R语言中基于混合数据抽样(MIDAS)回归的HAR-RV模型预测GDP增长

    3.波动率的实现:ARCH模型与HAR-RV模型

    4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

    5.GARCH(1,1),MA以及历史模拟法的VaR比较

    6.R语言多元COPULA GARCH 模型时间序列预测

    7.R语言基于ARMA-GARCH过程的VAR拟合和预测

    8.matlab预测ARMA-GARCH 条件均值和方差模型

    9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略

    ▍关注我们 【大数据部落】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。 ▍咨询链接:http://y0.cn/teradat ▍联系邮箱:3025393450@qq.com
  • 相关阅读:
    Windows Phone 7 Ti“.NET研究”ps (1) 狼人:
    Eclipse开发Android应用程序入“.NET研究”门:重装上阵 狼人:
    Android UI基本测验“.NET研究”:线性布局 狼人:
    “.NET研究”Eclipse开发Android应用程序入门 狼人:
    Window“.NET研究”s Phone 7 Tips (2) 狼人:
    文件位置修改strurs2中struts.xml文件的位置
    方法类struts2环境搭建
    平台程序微信平台开发应用的签名
    节点数据TYVJ P1742 [NOI2005]维护序列
    版本编译器Unsupported major.minor version 51.0
  • 原文地址:https://www.cnblogs.com/tecdat/p/15690382.html
Copyright © 2011-2022 走看看