微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用Python解释VECM模型的问题

如何解决用Python解释VECM模型的问题

我有一个名为 null 的数据集,其中包含 3 个变量列 goldret、equityret 和 btcret。 我发现协整等级为 3,我尝试运行 allret_q2btc 提供的 VCEM 模型,但是,我无法理解结果。

statsmodels.tsa.vector_ar.vecm

下图给出了上述代码的结果。但是,与 R 或 Eviews 不同,我无法理解结果的格式,我无法解释结果。请帮我解决这个问题。

同时我想知道是否有人使用过上述包。如果是,请告诉我其中的 VECMResult 模块有什么用处。附上任何示例,不胜感激。

Image1 Image2

解决方法

首先,记住 statsmodel 用于 VECM 的这个方程:Δyt=Πyt−1+Γ1Δyt−1+…+Γkar−1Δyt−kar+1+ut

您在 image1 的前 3 个表中看到的是 VECM(kar-1) 模型的 kar−1(在本例中为 1)参数矩阵 Γ1,...,Γkar−1 的估计值。您可以使用 VECM_fit.gamma 获得准确的系数。

其他表格是关于 alpha 和 beta 的估计值。您可以直接使用 VECM_fit.alphaVECM_fit.beta 获得这两个 neqsxcoint_rank(在本例中为 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。