精华内容
下载资源
问答
  • 多元格兰杰因果检验(mvgc)的matlab 程序包,是在GCCA之后的改进版本
  • GRANGER_CAUSE 是格兰杰因果检验。 原假设是 y 不是格兰杰原因 x。 用户指定两个系列 x 和 y,以及要考虑的显着性水平和最大滞后数。 该函数根据贝叶斯信息准则为 x 和 y 选择最佳滞后长度。 该函数生成格兰杰因果...
  • 该压缩包内为非线性格兰杰因果关系检验代码,欢迎大家下载
  • 格兰杰因果检验 matlab代码 Granger Matlab code for frequency-domain Granger causality with significance testing
  • 最后,在前两个步骤的基础上,我们对DEBT和GDP进行格兰杰因果检验。 结果表明,中国地方政府债务与经济增长是一个单一的二阶序列。 债务和GDP之间可能不存在长期协整关系。 短期来看,地方政府的经济增长是地方政府...
  • 非线性检验 Cees Diks
  • 格兰杰因果检验_R实现

    千次阅读 2020-06-10 16:01:11
    前言 先做单位根检验,看变量序列是否平稳序列,若平稳,可...如果有,则可以构造VEC模型或者进行Granger因果检验,检验变量之间“谁引起谁变化”,即因果关系。 一、平稳性问题 1、单位根检验是序列的平稳性检验,如

    前言

    • 先做单位根检验,看变量序列是否平稳序列,若平稳,可构造回归模型等经典计量经济学模型;若非平稳,进行差分
    • 当进行到第i次差分时序列平稳,则服从i阶单整(注意趋势、截距不同情况选择,根据P值和原假设判定)。
    • 若所有检验序列均服从同阶单整,可构造VAR模型,做协整检验(注意滞后期的选择),判断模型内部变量间是否存在协整关系,即是否存在长期均衡关系。
    • 如果有,则可以构造VEC模型或者进行Granger因果检验,检验变量之间“谁引起谁变化”,即因果关系。
    一、平稳性问题

    1、单位根检验是序列的平稳性检验,如果不检验序列的平稳性直接OLS容易导致伪回归。

    2、当检验的数据是平稳的(即不存在单位根),要想进一步考察变量的因果联系,可以采用格兰杰因果检验,但要做格兰杰检验的前提是数据必须是平稳的,否则不能做。

    3、当检验的数据是非平稳(即存在单位根),并且各个序列是同阶单整(协整检验的前提),想进一步确定变量之间是否存在协整关系,可以进行协整检验,协整检验主要有EG两步法和JJ检验

    A、EG两步法是基于回归残差的检验,可以通过建立OLS模型检验其残差平稳性(一般用EG两步法)

    B、JJ检验是基于回归系数的检验,前提是建立VAR模型(即模型符合ADL模式)

    4、当变量之间存在协整关系时,可以建立ECM进一步考察短期关系,Eviews这里还提供了一个

    展开全文
  • Stata:时间序列中的格兰杰因果检验

    千次阅读 2020-11-13 15:31:41
    时间序列中Stata的格兰杰因果检验 在实证分析中,因果关系经常需要判断。对此,Granger提出了一种解决方法:如果x是y的原因,且不存在反向因果,则x过去值可以预测y未来值,反之则不然。具体即建立时间序列的滞后回归...

    时间序列中Stata的格兰杰因果检验


    在实证分析中,因果关系经常需要判断。对此,Granger提出了一种解决方法:如果x是y的原因,且不存在反向因果,则x过去值可以预测y未来值,反之则不然。具体即建立时间序列的滞后回归模型,分析x的滞后项是否对y有明显的预测能力。此检验可分为四步操作:

    设置时间序列

    第一步,设置时间序列,注意此处若时间不连续会对后续滞后回归有影响。

    #设置时间序列
    tsset var~
    

    结果大概这样

    . tsset trade_date
            time variable:  trade_date, 03jan2018 to 27may2020, but with gaps
                    delta:  1 day
    

    判断最佳滞后阶数

    第二步,判断最佳滞后阶数,此处可加判断条件取符合条件部分,至于判断取决于其AIC与BIC,一般AIC值即可判断(AIC越小越好)。

    #判断滞后阶数
    varsoc var~1 var~2 (if 条件1)
    

    结果这样

    . varsoc log_return stk_log_return if time==0
       Selection-order criteria
       Sample:  12jan2018 - 13mar2020, but with gaps
                                                    Number of obs      =        96
      +---------------------------------------------------------------------------+
      |lag |    LL      LR      df    p      FPE       AIC      HQIC      SBIC    |
      |----+----------------------------------------------------------------------|
      |  0 |  680.432                      2.5e-09   -14.134  -14.1124  -14.0806* |
      |  1 |  687.212  13.561    4  0.009  2.4e-09  -14.1919  -14.1271  -14.0317  |
      |  2 |  698.272  22.119*   4  0.000  2.0e-09*  -14.339*  -14.231* -14.0719  |
      |  3 |  701.008  5.4713    4  0.242  2.1e-09  -14.3127  -14.1615  -13.9387  |
      |  4 |  702.141  2.2668    4  0.687  2.2e-09  -14.2529  -14.0586  -13.7721  |
      +---------------------------------------------------------------------------+
       Endogenous:  log_return stk_log_return
        Exogenous:  _cons
    

    阶数判断有找标星星的就好了,这个就是两阶滞后较优。

    也可以一个个回归试一试,报告AIC和BIC比较:

    #回归后报告AIC BIC
    estat ic
    
     estat ic
    Akaike's information criterion and Bayesian information criterion
    -----------------------------------------------------------------------------
           Model |          N   ll(null)  ll(model)      df        AIC        BIC
    -------------+---------------------------------------------------------------
               . |        334    1080.45   1100.915       5  -2191.831  -2172.775
    -----------------------------------------------------------------------------
    Note: BIC uses N = number of observations. See [R] BIC note.
    

    进行滞后回归

    第三步,开始回归,对于滞后二阶回归:

    #二阶滞后回归①
    reg y l.y l.x l2.y l2.x (if 条件1)
    #二阶滞后回归②
    var y x,lag(n)
    

    上面两种方法均可,其中①中可以加条件筛选:方法②不能加if判断语句,其中的n即为第二部判断的滞后阶数。

     reg log_return l.log_return l.stk_log_return l2.log_return l2.stk_log_return
    
          Source |       SS           df       MS      Number of obs   =       334
    -------------+----------------------------------   F(4, 329)       =     10.72
           Model |  .003495038         4   .00087376   Prob > F        =    0.0000
        Residual |  .026808292       329  .000081484   R-squared       =    0.1153
    -------------+----------------------------------   Adj R-squared   =    0.1046
           Total |   .03030333       333  .000091001   Root MSE        =    .00903
           
    --------------------------------------------------------------------------------
        log_return |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    ---------------+----------------------------------------------------------------
        log_return |
               L1. |   .1295246   .0483182     2.68   0.008     .0344729    .2245763
                   |
    stk_log_return |
               L1. |   .0418571    .044596     0.94   0.349    -.0458722    .1295863
                   |
        log_return |
               L2. |  -.3160259   .0569197    -5.55   0.000    -.4279985   -.2040534
                   |
    stk_log_return |
               L2. |   .0892175   .0450037     1.98   0.048     .0006862    .1777488
                   |
             _cons |   .0000102   .0004966     0.02   0.984    -.0009668    .0009871
    --------------------------------------------------------------------------------
    

    我使用的数据为2018年1月3日到2020年5月27日的数据,有效数据条数为581,但此时显示:

     Number of obs = 334
    

    581条记录两阶滞后回归后只剩334个观测值?被吞了?注意,知识点来了,又一个小细节。

    并不是计算有问题,只是由于滞后阶数的设置为2,也就是说接下来两天 (注意!不是接下来两个交易日或者有观测数据的日期) 有数据才能计入有效进入回归。而我使用的数据是可转债和股票交易数据,周末没有交易,周五周四的滞后两天是周末,没有观测值就被跳过了,遇到节假日也是同理。也就是说非交易日前两天都没了,所以观测数比实际数据少了40%以上。

    如果想要对上一个交易日或者上一个观测进行回归,自行构造虚拟时间序列设置为第一步即可。

    报告检验结果

    第四步,对于使用第三步中方法①的可以使用test命令,对于使用第三步中方法②的可以使用

    #报告结果
    vargranger
    
    vargranger
       Granger causality Wald tests
      +------------------------------------------------------------------+
      |          Equation           Excluded |   chi2     df Prob > chi2 |
      |--------------------------------------+---------------------------|
      |        log_return     stk_log_return |  2.3602     1    0.124    |
      |        log_return                ALL |  2.3602     1    0.124    |
      |--------------------------------------+---------------------------|
      |    stk_log_return         log_return |  .15784     1    0.691    |
      |    stk_log_return                ALL |  .15784     1    0.691    |
      +------------------------------------------------------------------+
    

    结果报告就有了,最后一个是p值。

    展开全文
  • 格兰杰因果检验-Eviews实现

    千次阅读 2021-04-22 13:43:40
    一共分为两步,数据导入或因果检验 首先新建一个workfile 选择数据类型,一般会根据时间...在group中选择格兰杰因果检验。 输入滞后阶数得到结果。 分析:此处prob为0.0444,说明xcfk1011可以granger引起ycfk1011
    首先了解格兰杰因果检验基本概念
    一共分为两步,数据导入或因果检验
    1. 首先新建一个workfile
      在这里插入图片描述
    2. 选择数据类型,一般会根据时间,但是由于本次需要排除节假日,而选取工作日后数据无法剔除,因此此处选择了无结构的,有多少数据放多少就行。
      在这里插入图片描述
    3. 新建object。
      在这里插入图片描述
    4. 选择如下类型,并命名。
      在这里插入图片描述
    5. 选择需要的数据,以group方式打开。
      在这里插入图片描述
      或者
      在这里插入图片描述
    6. 点击edit,将数据从Excel中复制到NA处。
      在这里插入图片描述
    7. 在group中选择格兰杰因果检验。
      在这里插入图片描述
    8. 输入滞后阶数得到结果。
      在这里插入图片描述
      在这里插入图片描述
    9. 分析:此处prob为0.0444,说明xcfk1011可以granger引起ycfk1011,可以放入var模型。
    展开全文
  • python做格兰杰因果检验

    千次阅读 2019-10-22 21:53:29
    The Null hypothesis for grangercausalitytests is that the time series in the second column, x2, does N...

    http://www.statsmodels.org/dev/generated/statsmodels.tsa.stattools.grangercausalitytests.html

     

    The Null hypothesis for grangercausalitytests is that the time series in the second column, x2, does NOT Granger cause the time series in the first column, x1. Grange causality means that past values of x2 have a statistically significant effect on the current value of x1, taking past values of x1 into account as regressors. We reject the null hypothesis that x2 does not Granger cause x1 if the pvalues are below a desired size of the test.

    The null hypothesis for all four test is that the coefficients corresponding to past values of the second time series are zero.

    ‘params_ftest’, ‘ssr_ftest’ are based on F distribution

    ‘ssr_chi2test’, ‘lrtest’ are based on chi-square distribution

    展开全文
  • 格兰杰因果关系的思想: MSE:均方误差,对Y进行S期预测的均方误差,公式如下: 当以y为基础对y进行S期预测的均方误差=以y和x为基础对y进行S期预测的均方误差时,也就是: 此时认为x不能Granger引起y,也可以理解...
  • 使用python做格兰杰因果检验

    千次阅读 2021-01-23 11:31:28
    格兰杰因果关系检验的结论是一种统计估计,它先假设时间序列之间没有因果关系, 然后检验能否否定,如果能否定这个检验,那么这就可以验证这份时间序列数据对想要预测的目标是有效的。 目标使用b预测a,a是要得出...
  • 检查序列平稳性可以看序列自相关图或者用单位根检验,但是一般都用单位根检验,而单位根检验用的最多就是ADF检验。 操作 打开序列,查看序列是否存在时间趋势或者截距项(之后会用到,先记住结果): 查看 其中:...
  • 格兰杰因果检验

    2020-09-02 17:23:47
    格兰杰因果检验 概念 ...request_id=159903498619724843336308&
  • 来源:...对此,Granger提出了一种解决方法:如果x是y的原因,且不存在反向因果,则x过去值可以预测y未来值,反之则不然。具体来说,我们建立时间序列模型如下,并提出假设H0:βm=0,m=1...
  • 传统的 Granger 因果检验考察的是变量之间的线性因果关系,而且, 由于传统的 Granger 因果检验隐含假定潜在的数据生成过程( DGP)是线性的, 因此在实际的应用分析中常常是在 VAR 分析框架下,借助 F 检验来对变量间...
  • 非线性格兰杰因果关系代码,非线性格兰杰因果检验,matlab源码.rar
  • 非线性格兰杰因果关系代码,非线性格兰杰因果检验,matlab源码.zip
  • 全文阅读:https://www.lianxh.cn/news/ef4384a5266fb.html 目录 1. 背景介绍 2.... 2.1 理论模型与假设 2.2 蒙特卡罗模拟 ... 3.... 4.... 5.... 6....预测变量之间的因果关系是经济学的主要研究任务之一。然而
  • 实证检验步骤\quad先做单位根检验,看变量序列是否平稳序列,若平稳,可构造回归模型等经典计量经济学模型;若非平稳,进行差分,当进行到第i次差分时序列平稳,则服从i阶单整(注意趋势、截距不同情况选择,根据P值...
  • 在别处看的一个用MATLAB写的一个GRANGER 因果检验程序,跟大家分享一下
  • Granger因果检验

    2018-02-27 15:28:14
    Granger因果检验的经典论文。值得每一个研究者细细品读
  • 如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验)。 Granger causality test的思想 如果使用时间序列X和Y的历史值来预测Y的当前值,比仅通过Y的历史值来预测Y的当前值...
  • 格兰杰因果关系检验的结论是一种统计估计,它先假设时间序列之间没有因果关系, 然后检验能否否定,如果能否定这个检验,那么这就可以验证这份时间序列数据对想要预测的目标是有效的。 目标使用b预测a,a是要得出...
  • 压缩包内为格兰杰非线性因果关系检验,针对非线性关系,包括C语言和MATLAB语言代码,亲测可用,欢迎下载~
  • GCTtest.c_GCTtest_GCTtest_非线性格兰杰因果检验_源码.zip
  • 格兰杰因果关系检验

    千次阅读 2020-02-13 16:53:22
    进行格兰杰因果关系检验的一个前提条件是时间序列必须具有平稳性,否则可能会出现虚假回归问题。 因此在进行格兰杰因果关系检验之前首先应对各指标时间序列的平稳性进行单位根检验(unit root test)。 常用增广的迪基...
  • 一、格兰杰因果检验 1. 因果情况讨论 (1) (2) 式(1)假定当前y与y自身以及x的过去值有关,而式(2)对x也假定了类似的行为。 对式(1)而言,其零假设H0 :α1=α2=…=αq=0。 对式(2)而言,其零假设H0 :...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 425
精华内容 170
关键字:

格兰杰因果检验