VAR模型Stata实例操作

article/2025/11/7 14:22:54

一.步骤

 1.序列平稳性检验

2.确定滞后阶数

3.模型平稳性检验

4.格兰杰因果关系检验

上述检验都通过后再进行以下步骤

5.脉冲响应分析

6.方差分解

二.各步骤的具体解释

1.序列平稳性检验

主要两种方法:单位根检验,看ACF、PACF图的截尾拖尾情况

ACFPACF模型
截尾拖尾MA
拖尾截尾AR
拖尾拖尾ARMA

像cosθ或者sinθ这种既没有截尾也没有拖尾的函数图像,就是不平稳序列;需要经过差分或者去除趋势等步骤变为平稳时间序列再进行下一步。

2.确定滞后阶数(定阶)

定阶准则:

(1)信息准则:大多数选择 (看表格中哪阶*多,就选哪阶)

(2)向下检验法

(3)残差序列白噪声检验:

检验是否自相关,比如说原本是VAR(p)模型,我们错误的设定为VAR(p-1)模型,模型中缺少的一项βY_t-p会被纳入VAR(P-1)的残差项中,使得残差序列和变量相关,违反模型假设。

3.模型平稳性检验(注意与序列平稳性检验的区别)

看特征方程的特征根是否在单位圆内

(在这一步还可能接着进行“预测+预测检验”步骤,如果预测和实际不准,需要解释不准原因。具体看后面实际操作)

4.格兰杰因果关系检验

一定得满足平稳或者协整关系才能进行这一步

格兰杰因果关系实际描述的不是因果关系,而是一个变量的滞后项(x_t-1)对另一变量(y_t)是否具有预测作用

5.脉冲响应分析

解释:Yt序列在受到一个单位随机扰动因素的冲击后的动态变化路径。

我们建立的模型和变量顺序有关,变量顺序不同会导致建立的模型千差万别,而脉冲响应分析就是用来确定变量排序关系的。

主要方法:简单的脉冲响应分析、正交的脉冲响应分析、广义的脉冲响应分析......

在此主要介绍正交的脉冲响应分析:

①观察交叉相关图或者交叉相关系数

注意交叉相关系数的计算公式是:

k值可大于0也可以小于0,我们只需要观察操作结果中使得ρ值最大的k值

如果k*>0,说明是y→x (y变量在x变量的左侧)

如果k*<0,说明是x→y (x变量在y变量的右侧)

如果不好判断ρ最大时k值是大于0还是小于0,就直接看交叉相关系数表格。

②在变量个数不多的情况下,用stata都跑一次,选择最优的。

例如只有三个变量,只要跑3×2=6次即可。

6.方差分解

方差分解提供了关于每个扰动因素影响VAR模型内各个变量的相对程度。


三.具体案例分析

案例一:

步骤一:序列平稳性检验

help q_time //用stata自带的时间序列数据,选择"lutkepohl2,dta"
tsset qtr //设定时间变量,用stata自带的时间序列数据可不要这步
tsline inv inc consump //画出三个变量的时序图

如图所示,很明显不是平稳的时间序列(有增加趋势)

 将三个变量取对数差分后,再画出时序图,如图所示:(此时经济变量意义改变)

 这个时候可能是平稳的时间序列了,对它进行平稳性检验:(用的单位根检验)

dfuller dln_inv
dfuller dln_inc
dfuller dln_consump

 看Z统计量,很明显都拒绝原假设,所以取对数并且差分后,数据是平稳的。

画出新的时序图,并且在x=80(1979q4)的时候,画出一条垂直线。(这个80的地方可以自己任意取,主要把数据分成两个节点,前面一部分作为样本内,进行建模分析,后面一部分用来进行“样本外预测”)

tsline dln_inv dln_inc dln_consump,xline(80)

sum dln_inv dln_inc dln_consump if _n<=80 //得出1979q4之前的统计指标
sum dln_inv dln_inc dln_consump if _n>80 //得出1979q4之后的统计指标

 由统计指标可以看出,无论是样本内还是样本外,dln_consump的波动率大体相同。


步骤二:确定滞后阶数(根据信息准则)

(1)确定滞后阶数

varsoc dln_inv dln_inc dln_consump if _n<=80,maxlag(13) //计算不同滞后期的信息准则,这里设定最大滞后期为13期

 由图可知,0阶和4阶都取得了两个*,本例选择滞后4阶。

(2)确定阶数后,估计VAR,再进行残差序列的白噪声检验:

var dln_inv dln_inc dln_consump if _n<=80,lags(1/4)

 

 

 可以看到,只是滞后了4阶,就包含了39个参数;这些系数较多,其经济含义解释相对困难。因而,在实证论文中,很多时候不汇报VAR的回归系数,主要汇报脉冲响应函数,预测方差分解与格兰杰因果检验。在上述命令var中,由于样本容量为75,故未使用选择项“dfk"、"small"进行小样本自由度调整。

如果是小样本的话,用

var x y z,lags(1/#) dfk small exog(w1 w2)

选择项“dfk"进行自由度调整。选择项"small"表示显示小样本的t或F统计量,而非大样本的标准正态或统计量。选择项"exog(w1 w2)"表示在VAR模型中引入外生变量w1,w2。

(3)接下来,对各阶系数的联合显著性进行检验:

varwle

 虽然单一方程的某些阶数不显著,但作为三个方程的整体(看最后一个表),1阶、2阶、4阶系数高度显著。(我们老师用的是“varexample.dta”做例子,最后一个表显示的各阶系数均高度显著。我这里第三阶不显著,查了一些资料,有人说VAR模型的特点之一是对模型参数不施加零约束, 即对参数无显著性的变量不从模型中剔除,不分析回归参数的经济意义,更多的是看脉冲图。因为这里是操作举例,我就继续做下去了,大家要写论文的话,还是多找找论文看别人这一步要是有一阶系数不显著怎么办)

(4)检验残差是否为白噪声,即残差序列是否存在自相关

varlmar

 结果表明,可以接受残差“无自相关”的原假设,即认为扰动项为白噪声。


步骤三:VAR系统平稳性检验

varstable,graph

 结果显示,所有特征根均在单位圆内,因此VAR系统是稳定的。(单位根越接近单位圆,表明对应的冲击具有较强的持续性)

VAR模型的用途之一是预测。下面预测未来15个季度的变量取值。(如果不想预测,不要这步也可以)

fcast compute p_,step(15) //"p_"是变量的前缀,可以自己任意定义
fcast graph p_dln_inv p_dln_inc p_dln_consump,observed lpattern("_")
*选择项"observed"表示显示变量的实际观测值,选择项"lpattern("_")"表示以虚线来表示变量的预测值(以区别与实际观测值)

 结果表明,预测值几乎都在95%的置信区间内,预测效果还可以。(老师预测的情况是2008年前预测效果尚可,2008年之后预测精度大大下降,表明VAR模型无法预测经济危机的到来,并且预测时期越长,预测精度越低。)

如果我们预测情况和实际不符,就应该查查开始不准的那个时期发生了什么金融事件或其他事情,进行解释。

如果预测不准,我们可以通过检验VAR模型的残差是否服从正态分布进行解释

varnorm //估计VAR后,检验残差是否服从正态分布

 结果表明,一半的检验结果可在5%的显著性水平上拒绝这三个变量扰动项服从正态分布的原假设,一半的检验结果不可以拒绝。预测越不准,拒绝的结果会越多,不过,我们最主要看的其实还是JB检验。尽管扰动项不服从正态分布对VAR模型的影响不大,但残差项的非正态性暗示模型可能偏离了真实的数据生成过程,且使得对变量未来值的预测区间变得不可信(该预测区间依赖于正态假设)。


步骤四:格兰杰因果关系检验

除了预测外,我们还想知道某个变量的冲击会对该变量或其他变量产生怎样的动态影响,比如提高变量A一个单位会对一年后的变量B产生多大的影响,这就需要用到正交化的脉冲响应函数,但正交化的脉冲响应函数依赖于变量的排序。(上文的预测不依赖于变量排序)。为此,分别考察变量之间的格兰杰因果关系与交叉相关图。

首先,考察这三个变量之间的格兰杰因果关系:

vargranger

 格兰杰因果关系检验:是一种假设检定的方法,检验一组时间序列x是否为另一种时间序列的原因(时间序列A是否对时间序列B有预测作用)

该表上部表明,在以dln_inv为被解释变量的方程中,如果检验变量dln_inc系数的联合显著性,该卡方统计量为0.95133,相应的p值为0.917,故认为dln_inc不是dln_inv的格兰杰原因;类似地,如果检验变量dln_consump系数的联合显著性,该卡方统计量为3.2532,相应的p值为0.516,故认为dln_consump不是dln_inv的格兰杰原因;如果同时检验变量dln_inc,dln_consump系数的联合显著性,其卡方统计量为6.2619,p值为0.618,不能拒绝“dln_inc,dln_consump都不是dln_inv的格兰杰原因”的原假设。

看完整个表,发现好像只有dln_inc是dln_consump的格兰杰因果关系,并且还不是互为因果关系,说明我这里格兰杰因果关系没通过,建立的模型是有问题的。差分导致一些检验效果不太明显,在人大经济论坛看到一些前辈讨论说本来不平稳的数据处理直至平稳,然后必须做协整,这个时候格兰杰检验就可以做可不做了。


http://chatgpt.dhexx.cn/article/qp33FhBE.shtml

相关文章

jquery变量var的使用

变量var的使用 js的变量没有类型 var $li $(# file.id),$percent $li.find(.progress span);//console.log("percentage:", percentage);// 避免重复创建if (!$percent.length) {$percent $(<p class"progress"><span></span></…

简单了解var

下面我会使用几个小例子简单说明var的使用方法和含义。 Var变量&#xff0c;要定义变量&#xff0c;可以使用 var 操作符&#xff08;注意 var 是一个关键字&#xff09;&#xff0c;后跟变量名&#xff08;即标识符&#xff09;也叫创建JavaScript变量是我们在前端里比较常用…

【FinE】在险价值(VaR)计算

导航 VaR模型案例&#xff1a;AAPL历史模拟法参数模型分析法非参数bootstrapMonte-Carlo模拟计算 参考资料 VaR模型 在险价值Value-at-risk的定义为&#xff0c;在一定时期 Δ t \Delta t Δt内&#xff0c;一定的置信水平 1 − α 1-\alpha 1−α下某种资产组合面临的最大损失…

VAR模型

文章目录 一、VAR是什么&#xff1f;1.引入库2.读入数据3.执行程序 总结 一、VAR是什么&#xff1f; 以金融价格为例&#xff0c;传统的时间序列模型比如ARIMA,ARIMA-GARCH等&#xff0c;只分析价格自身的变化&#xff0c;模型的形式为&#xff1a; 其中称为自身的滞后项。 但…

VaR 与 CVaR

VaR, value at risk, 风险价值&#xff0c;表示金融产品在给定置信水平 α \alpha α 下的最大损失。用 X X X 表示该随机波动的金融产品收益&#xff0c; F X ( x ) F_X(x) FX​(x) 为其累计概率分布&#xff0c;则 VAR 的数学表示式为&#xff1a; VaR α ( X ) − inf ⁡…

python实现VaR和CVaR的计算

python实现VaR和CVaR的计算 1.引言2.问题2.1问题描述2.2 问题解析 3. 数据导入与数据预处理4.VaR的计算4.1 参数法4.2 蒙特卡洛法4.3 历史模拟法4.4 不同方法的VaR比较 5.CVaR的计算5.1 CVaR的计算5.2 VaR和CVaR的比较 6.结语7.代码和数据集链接8.参考资料 1.引言 VaR和CVaR的…

【FinE】正态分布和t分布下的CVaR

导航 CVaR and VaRModelnormal distributionstudent t distribution Case StudyReference CVaR and VaR CVaR(Conditional Value-at-Risk)也被称为Expected Shortfall(ES) 或者 Expected Tail Loss(ETL)&#xff0c;可以解释超过给定VaR值的期望损失&#xff0c;在很多风险分析…

条件风险价值CVaR

产生背景 &ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace; \;\;\;\;\;\; CVaR即条件风险价值&#xff0c;是由RockafeUar和Uryasev等于1997年提出的一种较VaR更优的风险计量技术&#xff0c;其含义为在投资组合的损失超过某…

VaR和CVaR举例说明_笔记转载

风险价值VaR成为金融市场风险度量的主流指标 VaR自1993年发展至今已作为金融市场风险度量的主流指标被各银行、投资公司、证券公司及金融监管机构广泛采用。VaR不仅具有概念简单&#xff0c;易于沟通和理解的优点&#xff0c; 而且为不同金融工具构成的复杂的投资组合提供了一…

两个命令行应用程序的交互——使用Java的Process类完成复杂控制台程序的自动化操作(以围棋GTP协议为例)

GitHub地址链接&#xff1a;https://github.com/zhmgczh/GTPService 这个项目其实继承并发展于我的上一个项目——用模式识别实现围棋转接器的开源Java项目——一个类似GTool2.exe的工具&#xff0c;是一个变相的补充&#xff0c;主要解决如何使用Java完成两个控制台应用程序相…

GTP(GPRS Tunnelling Protocol)协议http://blog.csdn.net/stephen_yin/article/details/6951237

GTP&#xff08;GPRS Tunnelling Protocol&#xff09;协议 标签&#xff1a; extensionheaderinternet网络wapxhtml 2011-11-09 10:15 6097人阅读 评论(0) 收藏 举报 GTP&#xff08;GPRS Tunnelling Protocol&#xff09; 协议在 GPRS 骨干网中在GSNs 之间&#xff08;…

GTP(GPRS Tunnelling Protocol)协议

GTP&#xff08;GPRS Tunnelling Protocol&#xff09; 协议在 GPRS 骨干网中在GSNs 之间&#xff08;如 SGSN 和 GGSN&#xff09;提供协议信道&#xff0c;所有的 PTP 分组数据协议的PDUs 应由GTP 协议进行封装。 GTP概述 GTP 协议应用在SGSN 和GGSN 之间&#xff0c;为各…

移动互联网新协议 GTP 中被曝多个高危漏洞,影响4G和5G 用户

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;奇安信代码卫士团队 Positive Technologies 公司上周发布报告《2020年 LTE 和5G 网络中的漏洞》指出&#xff0c;移动网络运营商 (MNOs) 使用的当代通信协议中被曝多个高危漏洞&#xff0c;可被用于…

GPRS核心网-GTP-C协议解析

GPRS隧道协议&#xff08;GTP&#xff09;是3GPP标准定义的隧道协议&#xff0c;用于在3G /4G/5G网络中承载通用分组无线服务&#xff08;GPRS&#xff09;。 GTP用于在服务网关&#xff08;S-GW&#xff09;和分组数据网络网关&#xff08;P-GW&#xff09;以及S-GW和移动性管…

网络协议 终章 - GTP 协议:复杂的移动网络

前面都是讲电脑上网的情景&#xff0c;今天我们就来认识下使用最多的移动网络上网场景。 移动网络的发展历程 你一定知道手机上网有 2G、3G、4G 的说法&#xff0c;究竟这都是什么意思呢&#xff1f;有一个通俗的说法就是&#xff1a;用 2G 看 txt&#xff0c;用 3G 看 jpg&…

gtp传输java_一种GTP数据包传输方法、相关装置及存储介质与流程

本申请实施例涉及通信领域,尤其涉及一种GTP数据包传输方法、相关装置及存储介质。 背景技术: 通用分组无线服务隧道协议(General Packet Radio Service Tunnelling Protocol,GTP)是一种用于传输分组数据的通信协议。目前,己使用的GTP协议可被分为通用分组无线服务(General …

GTP协议

GTP协议 (2010-08-27 17:20:54) 转载▼ 标签&#xff1a; 杂谈 分类&#xff1a; 计算机网络 摘要&#xff1a;本文分析GPRS的GSN之间的GTP协议&#xff0c;阐述GTP协议的含义及用法。 关键词&#xff1a;GPRS GTP 协议 一、 引言 在GPRS系统的GSN&#xff08;GPRS Support …

GTP协议格式分析

点击上方↑↑↑蓝字 [ 协议分析与还原 ] 关注我们 “ 分析GTP协议。” 本文对比较枯燥的协议资料进行学习&#xff0c;有需要可继续阅读&#xff0c;找到自己关注的知识点&#xff0c;暂时无需要可直接拉到文末表示阅读结束&#xff0c;让微信记下热爱学习的你的痕迹。 如果说T…

关于GTPv1协议解析

概述&#xff1a; ***&#xff08;简单说一下&#xff0c;不重点讲述啦&#xff09; GPRS 隧道协议 (GTP) 是一种隧道协议&#xff0c;用于 GPRS、UMTS、LTE 和 5G 网络。它分为两个独立的协议&#xff1a;GTP-C 和 GTP-U。GTP-C用于GPRS核心网络中&#xff0c;用于不同网络节…

GTP-U协议总结

1、​参考资料 3gpp TS 29.060 V17.1.0-GPRS Tunnelling Protocol (GTP) TS 29.281 V17.1.0-GPRS Tunnelling Protocol User Plane (GTPv1-U) 2、GTP协议 GTP&#xff08;GPRS隧道协议(GPRSTunnelingProtocol)&#xff09;&#xff0c;可以分解成三种独立的协议&#xff0…