python - ugarchforecast 似乎无法识别我的外部回归器
问题描述
我是 R 的新手,并且使用带有外部回归器的 rugarch 包 一切似乎都适用于拟合步骤,但我在预测中苦苦挣扎。请参阅下面的拟合代码和预测,以使其变得简单,模型中没有 ARMA 和恒定均值。所以通常我希望我的预测(平均模型)仅取决于外部回归器及其负载
模型规格规格 = ugarchspec(variance.model=list(garchOrder=c(1,1)),
mean.model=list(armaOrder =c(0,0),include.mean=FALSE,external.regressors=pca_factor[-nrow(db_sel),]),distribution.model="std")
合身
def.fit=ugarchfit(spec = spec, data = rets_sel[,1],solver = 'hybrid')
拟合参数
GARCH Model Fit *
---------------------------------
条件方差动力学
GARCH 模型:sGARCH(1,1) 平均模型:ARFIMA(0,0,0) 分布:std
最佳参数
Estimate Std. Error t value Pr(>|t|)
mxreg1 -0.000079 0.000068 -1.154394 0.24834 mxreg2 0.000205 0.000210 0.975847 0.32914 mxreg3 0.000504 0.000514 0.980258 0.32696 omega 0.000000 0.000001 0.000000 1.00000 alpha1 0.000046 0.001816 0.025302 0.97981 beta1 0.998771 0.002060 484.876499 0.00000 shape 21.454153 31.537211 0.680281 0.49633
稳健的标准错误:估计标准。Error t value Pr(>|t|) mxreg1 -0.000079 0.000067 -1.169832 0.24207 mxreg2 0.000205 0.000276 0.744341 0.45667 mxreg3 0.000504 0.000560 0.898923 0.36869 omega 0.000000 0.000006 0.000000 1.00000 alpha1 0.000046 0.000666 0.068985 0.94500 beta1 0.998771 0.001158 862.159146 0.00000 shape 21.454153 55.198058 0.388676 0.69752
但在这里我得到的平均模型预测值为 0
预报
ugarchforecast(def.fit, n.ahead = 1,external.forecasts =list(-6,-2.3,3.2))
------------------------------------ * GARCH 模型预测 * --------- --------------------------------------- 型号:sGARCH 地平线:1 滚动步数:0 样本外:0
0-roll 预测 [T0=2012-11-02]:Sigma 系列 T+1 0 0.007263
我认为,这个 external.forecasts =list(-6,-2.3,3.2) 不能正常工作?
有谁知道这样做的正确方法?
谢谢
解决方案
我有一个类似的问题。默认情况下,ugarchfit 中的拟合算法具有非负约束这在估计 GARCH 模型的标准系数时是有意义的,但在使用外部回归器时则不然。
因此,您需要重置规范对象的边界以允许负值。请记住,这不仅是最终系数的界限,而且是求解例程期间任何点的系数值的界限。因此,即使您的系数在求解程序结束时可能为正,您仍然需要让求解器自由操作。
rugarch::setbounds(model.spec,list("vxreg1" = c(-2,2)))
这将允许外部回归数据 ( vxreg1
) 中第一列的系数在例程中的任何时候取值从 -2 到 2。
推荐阅读
- unity3d - Google Cardboard:如何在 Unity 中使用自动行走时旋转对象?
- git - 如何在git中保持历史清晰
- javascript - 在 React 组件之前等待外部脚本加载
- angularjs - ng-show 如果子数组在应用过滤器后有任何元素
- c - 如何使用 madvise 和相关的宏?
- c# - Entity Framework Add-Migration 命令以错误的顺序生成架构更改
- python - 使用 selenium python 定位填充输入元素
- git - 嗨,我要在网站上重命名 GiTlab 上的文件吗
- sql - 通过 EF Core 使用 Always Encrypted 并将主密钥存储在 Azure Key Vault 中
- java - 评估扑克手德州扑克问题