I did use the seed you provided.
Use the following code for estimation:
fit <- ugarchfit(spec = spec, data = as.matrix(temp$y),solver = "nlminb",
fit.control=list(scale=1))
model_maker(var1)
Estimate Std. Error t value Pr(>|t|)
mu -7.3998577 0.69086641 -10.7109821 0.0000000000
ar1 0.3387323 0.08280162 4.0908900 0.0000429721
ar2 -0.8834201 0.06569477 -13.4473414 0.0000000000
ma1 -0.2902069 0.08598589 -3.3750525 0.0007380161
ma2 0.8660807 0.06778418 12.7770320 0.0000000000
mxreg1 1.6782992 0.12769644 13.1428825 0.0000000000
mxreg2 2.5225382 0.04292728 58.7630625 0.0000000000
omega 12.0047145 0.82986864 14.4658010 0.0000000000
alpha1 0.0000000 0.07358520 0.0000000 1.0000000000
shape 63.0103309 98.49188643 0.6397515 0.5223341761
model_maker(var2)
Estimate Std. Error t value Pr(>|t|)
mu -7.3998549 0.69086651 -10.7109764 0.000000e+00
ar1 0.3387334 0.08280150 4.0909088 4.296861e-05
ar2 -0.8834206 0.06569433 -13.4474406 0.000000e+00
ma1 -0.2902081 0.08598562 -3.3750776 7.379487e-04
ma2 0.8660811 0.06778412 12.7770487 0.000000e+00
mxreg1 2.5225383 0.04292728 58.7630642 0.000000e+00
mxreg2 1.6782987 0.12769640 13.1428817 0.000000e+00
omega 12.0047142 0.82992363 14.4648419 0.000000e+00
alpha1 0.0000000 0.07359329 0.0000000 1.000000e+00
shape 63.0105962 98.49368444 0.6397425 5.223400e-01
I can?t see any ?significant? differences, can you?
It?s completely related to the optimization/starting parameters. The
?scale? is documented and not on by default (perhaps it should be).
Alexios
On Aug 19, 2018, at 9:02 PM, GALIB KHAN <ghk18 at scarletmail.rutgers.edu>
Sorry for sending this again, I didn't include r-sig-finance in the
email address. I'm still adjusting in how to respond.
Alexios,
Did you set the set the seed to 1, because I'm looking at your results
and the numbers do not match with the numbers that I have provided.
I understand why the coefficients' estimates are similar but it doesn't
explain why other columns such as the t-value and pr are off by a large
margin. Also estimates for mu, ar*, ma*, omega, alpha1, and shape may have
large differences.
Take mu as an example:
-7.538187e+00 - (-7.877120e+00) = 0.338933, isn't that considered a
large difference to the point where it's safe to say that these two values
are not similar?
Another example is the t-values for x1 and x2:
x1 = 8.799994e+01 - 5.509361e+02 = -462.9362
x2 = 8.508606e+01 - 5.287634e+02 = -443.6773
An more alarming case that unfortunately I cannot share due to the data
being sensitive is that when the x variables' positions are switched, the
p-values are not the same. The p-value for a particular external regressor
went from 0 to 0.4385.
I will attempt to re-create a separate generic dataset that is similar
to the sensitive data that I am using.
Galib Khan
On Sun, Aug 19, 2018 at 10:06 PM, alexios galanos <alexios at 4dscape.com>
I run the code you provided and obtain the following results related to
Case 1 (x1,x2)
# x2 is second
Estimate Std. Error t value Pr(>|t|)
mxreg1 1.6724148 1.203377e-01 1.389767e+01 0.0000000
mxreg2 2.5310286 1.878833e-02 1.347128e+02 0.0000000
Case 2 (x2,x1)
# i.e. x2 is now first
mxreg1 2.5225382 0.04292725 58.7631024 0.000000e+00
mxreg2 1.6782986 0.12769622 13.1428990 0.000000e+00
Small differences in the coefficients are the result of the optimizer.
There may be an issues in the
way starting parameters are being generated based on some recent input
from Josh Ulrich (still to investigate)
and related to arima0 (used to generate start parameters), but otherwise
don?t see a large problem at first glance.
On Aug 19, 2018, at 5:46 PM, GALIB KHAN <ghk18 at scarletmail.rutgers.edu>
Recently I have discovered a problem with a package called rugarch that
creates arma-garch models. The issue is that if you literally change
positions of the x variables (external regressors) then you get two
completely different results.
In other words:
- model1 = (arma(2,2) + garch(1,0) + x1 + x2)
- model2 = (arma(2,2) + garch(1,0) + x2 + x1)
- rugarch's output is essentially saying that model1 != model2
- When the correct result should be model1 == model2
I may not know a lot of statistics but I know for a fact that if you
the x variables around, the output should still be the same.
Am I wrong on this?
Here's my stack exchange post that shows a generic R script proving my
point: Should the positioning of the external regressors change the
positioning-of-the-external-regressors-change-the-output-of-arma-garc>
Any feedback is welcomed.
Thanks
[[alternative HTML version deleted]]