楼主: 蒋科学
140753 377

[MATLAB] Matlab实现非线性格兰杰因果关系检验   [推广有奖]

261
i莉莉酱(真实交易用户) 学生认证  发表于 2017-3-29 14:38:09
yuguowusheng 发表于 2011-6-17 17:28
敢问楼主上传的非线性格兰杰检验的程序可是Diks and Panchenko (2006)的实证~
The program of the Diks an ...
你好!你所说的网站现在还能打开吗?我现在打不开了

262
wangya9798(真实交易用户) 学生认证  发表于 2017-4-2 01:49:55
LiuRuijin 发表于 2017-3-26 21:59
已上传
大神,可否写个具体方法步骤???小弟不太熟悉怎么运行!!!!!万分感谢!!!!!

263
=_=阿穆(真实交易用户) 发表于 2017-4-3 17:31:59
这个程序我已经完全看懂了,现在把几个有疑问的地方说明一下,供大家使用:
1、该程序是否是最新的Diks, C. and Panchenko, V. (2006)版方法?
答:是的,楼主分享的程序包是非线性格兰杰因果检验开发者开发的,详见C语言程序包中:
*
* This program calculates p-values for the Hiemstra-Jones statistic
* as well as for the Diks-Panchenko statistic. For details see the
* README file and our paper:
*
* Diks, C. and Panchenko, V. (2006)
* A new statistic and practical guidelines for nonparametric Granger causality
* testing, Journal of Economic Dynamics and Control 30 (9-10), 1647-1669
*
* Cees Diks -- June 2008
2、如何使用?答:解压完毕后,按住shift键,右击hjt2_tval.exe所在文件夹的空白处,选择“在此处打开命令窗口”,在第一行输入hjt2_tval几个字,按回车,会有第二行显示出来,让你输入数据。将需要的数据事先以.dat形式保存在与hjt2_tval.exe相同的文件夹中,然后在第二行输入该文件的名称,如x.dat。同理输入第二列数据。两列数据输入完毕后程序会自动给出结果。
3、是否使用残差序列?
答:按照 Diks, C. and Panchenko, V. (2006)所述,直接使用严平稳的原序列是可以的,但是按照《基于非线性Granger因果检验的股市间联动关系研究_潘越 》所述,如果严平稳的原序列存在线性关系,就需要进行BDS检验,确认非线性关系,再建立VAR模型,提取残差,对残差序列进行非线性格兰杰因果检验。因此,你的数据在做这个检验之前,要先进行线性格兰杰因果检验,如果没有通过,且数据是平稳的,那么就可以做本程序提供的检验了。4、结果中的UNIF是什么?/数据是否需要标准化处理?
答:UNIF结果就是令方差为1(这里我也没太看懂,根据英文应该是这样)处理数据后的结果,而不带UNIF的结果就是标准化数据后的结果,所以不用标准化。

源代码如下:从第204行
void  uniform (double *X, int M)
{
  int *I, i;

  I = (int*) malloc (M*sizeof(int));
  InsertionSort(X, I, M);

  for (i=0;i<M;i++)
    X = (double) I/M*3.464101615;        // to make unit variance

}


/* normalize the time series to unit std. dev. */

void normalise(double *x, int N)
{
  int i;
  double mean=0.0, var=0.0;

  for (i=0;i!=N;i++)
  {
    mean += x;
    var += x*x;
  }

  mean /= (double)(N);
  var /= (double)(N);
  var -= mean*mean;

  for (i=0;i!=N;i++)
    x = (x-mean)/sqrt(var);

  return;
}



5、关于楼中坛友LiuRuijin给出的matlab改进版程序包?
答:该程序基于Hiemstra–Jones test 1994的方法,因此目前可能发英文文章并不适用,水一篇中文的还是可以的。当然,还是要感谢他的帮助!





已有 6 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
ZXY想要飞 + 1 + 1 + 1 精彩帖子
solawp + 2 + 1 + 1 + 1 热心帮助其他会员
疏萤出暗草1 + 1 + 1 + 1 热心帮助其他会员
michaeljija + 5 我很赞同
晓风残月9988 + 1 精彩帖子
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 22  学术水平 + 9  热心指数 + 3  信用等级 + 3   查看全部评分

264
wangya9798(真实交易用户) 学生认证  发表于 2017-4-4 09:25:11
=_=阿穆 发表于 2017-4-3 17:31
这个程序我已经完全看懂了,现在把几个有疑问的地方说明一下,供大家使用:
1、该程序是否是最新的Diks, C ...
这样就明白多啦,大神强大,不胜感激!!!

265
slowsheep(真实交易用户) 发表于 2017-4-5 14:12:02
谢谢楼主分享!

266
zzzwjsw(真实交易用户) 发表于 2017-4-7 21:02:17
感谢分享~

267
swingser(真实交易用户) 发表于 2017-4-10 20:52:12
LiuRuijin 发表于 2016-12-2 14:19
我上传的程序不是我初创的,记得应该是在楼主的程序作了一些修改,减少重复计算。你说的速度问题,还真不 ...
您好,请问在运行nonlinear_granger.m前是不是要对VAR模型残差进行标准化?

268
周娟娟(未真实交易用户) 学生认证  发表于 2017-4-22 17:33:46
michaeljija 发表于 2011-4-26 22:23
Thanks~ I have done it.
你好 请问这个是怎么做的 不太会用 希望赐教 谢谢

269
晓风残月9988(真实交易用户) 发表于 2017-4-25 19:19:56
谢谢分享!

270
晓风残月9988(真实交易用户) 发表于 2017-5-5 23:13:02
=_=阿穆 发表于 2017-4-3 17:31
这个程序我已经完全看懂了,现在把几个有疑问的地方说明一下,供大家使用:
1、该程序是否是最新的Diks, C ...
您好,请问,Diks那篇文章里的bandwidth是如何选择的?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 02:07