Copyright © 2020-2026
卯光宇 All Rights Reserved


urtout

程序urtout能帮你在EViews里对多个序列实施不同类型的单位根检验,并把检验结果整理成适合学术发表的表格。

版本

当前版本:1.0.1 (11.2KB)

测试环境

EViews 13

基本语法

exec urtout(可选参数) 序列对象名1|(检验参数1) 序列对象名2|(检验参数1) …

默认输出

对给定序列使用EViews中的uroot命令进行ADF、DFGLS、PP、KPSS、ERS和NP检验(基于自动选择的滞后参数或带宽参数),输出检验统计量的值并报告检验是否在1%、5%或10%的显著水平上拒绝原假设。

可选参数
  • out=表格对象名 — 设定输出表的名称(默认=urtoutput,或urtoutput1,或urtoutput2,…)。
  • tests=参数值 — 设定使用的检验:”a”、”d”、”p”、”k”、”e”或”n”的任意排列组合(对应上述六种检验)。例如,”tests=pka”:依次使用PP、KPSS和ADF检验。所有检验都是基于自动选择的滞后参数或带宽参数实施的。
  • adf=参数值 — 使用给定滞后阶数的ADF检验:2位整数,第一位整数为最小的滞后阶数,两位整数相加为最大的滞后阶数。例如,”13″ :使用滞后阶数从1到4的ADF检验。
  • tfmt=整数 — 设定输出表的格式,取值为1到2(默认=1)。1对应的格式在EViews里更好看一些,2对应的格式复制粘贴到Word里可能会更好看一些。
  • “x”_lagmehod=参数值 — “x”可设为a、d、p、k、e或n,对应上述六种检验的lagmethod参数。用法请参考uroot命令的说明。
  • “x”_hac=参数值 — “x”可设为p、k、e或n,对应PP、KPSS、ERS和NP检验的hac参数。用法请参考uroot命令的说明。
  • “x”_bw=参数值 — “x”可设为p、k、e或n,对应PP、KPSS、ERS和NP检验的bw参数。用法请参考uroot命令的说明。
  • case — 输出表格中显示检验的情形:c、t或n,其对应EViews中单位根检验的三种情形:Intercept、Trend and intercept或None。
  • tp — 转置输出表格。在case存在的情形下,该参数不起作用。
  • cn — 以中文形式显示报错提示及整理检验结果。
检验参数

检验参数可设为”1″、”2″、”t”、”t1″、”t2″、”n”、”n1″或”n2″,其中,字母”t”和”n”指对序列实施情形为Trend and intercept或None的检验,没有这两个字母则对序列实施情形为Intercept的检验。数字”1″和”2″指在检验前是否对序列进行一阶或二阶差分,没有这两个数字则不对序列进行差分。不设检验参数即是对原始序列做情形为Intercept的检验。

例子

打开存于EViews安装目录(“.\Example Files\EV13 Manual Data\Chapter 02 – A Demonstration”)下的”demo.wf1″数据文件。运行如下代码:

series lgdp = log(gdp)
series lm1 = log(m1)
exec urtout(out=myout,tp) LGDP|t lgdp|1 lm1|t LM1|1 rs rs|1

上面的代码实施了默认的六种检验,并通过参数tp转置了输出的表格。代码执行结果如下:

下面是另外一个例子:

exec urtout(out=myout,tests=ap,adf=02,a_lagmethod=aic,case,cn,tp) LGDP|t lgdp|1 rs RS|1

代码通过将参数adf设置为”02″,实施了滞后阶数为0到2的ADF检验。同时,通过将参数tests设置为”ap”,实施了基于自动选择滞后参数或带宽参数的ADF检验和PP检验,其中,ADF检验的滞后阶数是通过AIC(而不是默认的SIC)选择的,这是因为参数a_lagmethod的值被设为了”aic”。代码执行结果如下:

更新历史
  • [22十月21日] 版本1.0.0。
  • [23十月18日] 版本1.0.1。更新:(a)修复了一些bug;(b)在case存在的情况下,强制tp无效。

eqout

程序eqout能帮你在EViews里快速轻松地整理基于equation对象的不同模型的估计结果,方便你把估计结果转换为适合学术发表的标准形式。

当前的eqout能很好整理基于单方程模型的估计结果,但是,对基于多方程的模型,例如GARCH模型,eqout目前还不能很好支持。

EViews有一个名为EqTabs的Add-in (创于2010年但后期似乎没有维护),它拥有类似的功能。但是,相较而言,eqout拥有更多的功能和长处。例如,基于eqout,你可以生成不同风格的表、你可以自定义方程的名称或变量的名称、你可以设定输出表的标题、你可以把输出表转为中文格式等。

版本

当前版本:1.0.2 (16.2KB)

测试环境

EViews 13

基本语法

exec eqout(可选参数) 方程对象名1 方程对象名2 …

默认输出

默认的所有输出都汇总在一张输出表里,其会展示所有equation对象的名称,所有模型因变量和自变量的名称,所有的系数估计值,所有系数估计量的标准误,模型的样本量,调整的R方(如果存在),以及所有用于检验联合显著性的F/Wald F/LR/QLR统计量值(如果存在)。常数项C的所有估计结果会移动到表的底部。但是,如果存在常数项SIGMASQ,其估计结果会移动到C的估计结果的下方。我们先看一张默认输出的表:

可选参数
  • out=表格对象名 — 设定输出表的名称(默认=eqoutput,或eqoutput1,或eqoutput2,…)。
  • tfmt=整数 — 设定输出表的格式,取值为1到6(默认=1)。1和2对应的格式在EViews里更好看一些,3到6对应的格式复制粘贴到Word里可能会更好看一些。
  • vip=参数值 — 设定系数估计值下方括号里数值的类型:”se” (标准误,默认);”t” (t或z统计量);”pv” (p值)。
  • r2=参数值 — 报告R方或伪R方(Pseudo R-squared):”rp” (替换表中的调整的R方);”add” (增加报告R方)。
  • cfmt=格式 — 设定系数估计值的数值格式 (默认=f=6.6)。它的值会传递给函数@str的fmt参数。如果你想修改这一参数,请参考@str的说明。
  • vipfmt=格式 — 设定括号中的数值的数值格式 (默认=f.3)。它的值会传递给函数@str的fmt参数。
  • noy — 在输出表中不显示因变量。
  • na=参数值 — 处理表中的NA:”rm” (去掉所有的NA);”dash” (把所有的NA改为”-“)。
  • title=字符串 — 设定表的标题。
  • lower — 把所有变量名从大写形式(默认)改为小写形式。
  • aic — 报告Akaike信息准则。
  • sic — 报告Report Schwarz信息准则。
  • hqic — 报告Report Hannan-Quinn信息准则。
  • cn — 以中文形式报告结果。
  • pcp=临界值 — 报告二值选择模型基于设置的临界值的正确预测的百分比(percentage of correct prediction)。临界值应是(0,1)内的数。注意,pcp必须设数值且估计的模型里有二值选择模型,否则,该参数不会起作用。
名称替换

eqout可以很方便地替换输出表中方程或变量的名称。对要替换的名称,只需在其后加上竖线”|”,然后加上用于替换的新名称即可。为了区别替换的是方程的名称还是变量的名称,需要在两类名称间加上”@”。例如,

exec eqout 方程对象名1|新方程对象名1 … @ 变量名1|新变量名1 …

例子

打开存于EViews安装目录(“.\Example Files\EV13 Manual Data\Chapter 31 – Discrete and Limited Dependent Variable Models”)下的”binary.wf1″数据文件。 我们估计四个模型并使用eqout:

'经典回归模型:  
equation eq1.ls grade c gpa     
'使用稳健标准误的回归模型:
equation eq2.ls(cov=white) grade c gpa psi
'Probit模型:
equation eq3.binary grade c gpa tuce
'Logit模型:
equation eq4.binary(d=l,cov=white) grade c gpa tuce psi
exec eqout eq1 eq2 eq3 eq4 

这些代码的执行结果就是上面展示的输出表。接下来,我们改一下代码:

exec eqout(out=myout,sic,tfmt=2,na=rm,r2=add,noy) eq1|Reg1 eq2|Reg2 eq3|Probit eq4|Logit @ grade|Grade gpa|Gpa
show myout
'上面的代码会生成名为"myout"的表。除了默认输出,表里还会包含SIC
'和R方的值。表的类型为2,是一种更紧凑的表格类型。表中所有的NA都
'被去掉了。四个方程的名称分别被替换为"Reg1"、"Reg2"、"Probit"、
'和"Logit"。变量"GRADE"被替换为"Grade"(由于有参数noy,输出的表不
'显示"Grade"),变量"GPA"被替换为"Gpa"。

以下是新输出的表:

如果需要输出中文形式的表,只需加上可选参数cn:

exec eqout(out=myout,sic,tfmt=2,na=rm,r2=add,cn,title="这是一个表格") eq1|Reg1 eq2|Reg2 eq3|Probit eq4|Logit @ grade|Grade gpa|Gpa
show myout

以下是中文形式的表:

更新历史
  • [22年四月3日] 版本1.0.0。
  • [22年十月17日] 版本1.0.1。更新:(a)可选参数vip的默认值由t改为了se;(b)增加了可选参数pcp。
  • [22年十月18日] 版本1.0.2。更新:(a)增加了可选参数noy;(b)增加了对有序因变量模型的支持;(c)修复了一些bug。

说明

这里汇集了一些我写的EViews程序,可以免费使用和传播(如有可能,请标明出处)。如果你在使用的过程中发现了任何问题,或有什么建议,欢迎给我留言。

在EViews里,程序可以通过run或exec两个命令调用,我建议使用exec,因为在批量运行EViews代码时,run在调用完一个程序后就不会执行之后的代码,而exec不会存在这一问题。

使用exec调用程序需要把程序文件放入EViews的Add-ins目录中。你可以通过下图的方式打开Add-ins对话框:

在对话框的底部,你会看到默认的Add-ins目录,你也可以通过右下角的按钮自定义Add-ins目录。