在Python中解释VECM模型时遇到的问题

2024-06-02 07:45:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为allret_q2btc的数据集,有3个变量列goldret、equityret和btcret。 我发现协整等级为3,我试着运行由statsmodels.tsa.vector_ar.vecm提供的VCEM模型,但是,我很难理解结果

VECM_res=VECM(allret_q2btc,k_ar_diff=1,coint_rank=3)
VECM_fit=VECM_res.fit()
VECM_fit.summary()

下图给出了上述代码的结果。然而,与R或Eviews不同,我无法理解结果的格式,我在解释结果时遇到了困难。请帮我做这个

同时,我想知道是否有人使用过上述软件包。如果是,请告诉我VECMResult模块在其中有什么用途。如果附上任何示例,请谅解

Image1Image2


Tags: 数据resfitarvectorstatsmodelstsaallret
1条回答
网友
1楼 · 发布于 2024-06-02 07:45:38

首先,请记住statsmodel对VECM使用的方程:Δyt=∏yt−1+Γ1Δyt−1+…+Γkar−1Δyt−kar+1+ut

您在图1的前3个表中看到的是kar的估计值−1(=在这种情况下为1)参数矩阵Γ1,…,Γkar−1个VECM(kar−1) 模型。您可以使用VECM_fit.gamma获得精确的系数

其他表格是关于α和β的估计值。您可以直接使用VECM_fit.alphaVECM_fit.beta获得这两个neqxconcent_秩(本例中为3x3)矩阵

注意:π=αβ′(π=VECM_fit.alpha.dot(VECM_fit.beta.T)

您可以在此处阅读有关VECMResult属性的更多信息:https://www.statsmodels.org/stable/generated/statsmodels.tsa.vector_ar.vecm.VECMResults.html#statsmodels.tsa.vector_ar.vecm.VECMResults

您还可以通过VECM_fit.var_rep获得VECM(1)模型的VAR(2)表示

最后,您可以检查:

  • VECM_fit.var_rep[0]=VECM_fit.gamma + VECM_fit.alpha.dot(VECM_fit.beta.T) + np.diag(v=[1,1,1])
  • VECM_fit.var_rep[1]=-VECM_fit.gamma

相关问题 更多 >