[R-SIG-Finance] Detail analysis of solvers' results

GALIB KHAN ghk18 @ending from @c@rletm@il@rutger@@edu
Mon Aug 20 22:29:25 CEST 2018


Alexios,

I updated my script to use multiple solvers and compare results.

It looks like nlminb is the most accurate solver for this generic dataset
that I am using.

I posted the results on stack exchange so its easier to view the results.

If you want, I can post the results here.

Here is the url with the updated script and results:

https://stackoverflow.com/questions/51900177/should-the-positioning-of-the-external-regressors-change-the-output-of-arma-garc/


On Mon, Aug 20, 2018, 7:29 AM GALIB KHAN <ghk18 using scarletmail.rutgers.edu>
wrote:

> Alexios,
>
> I changed the solver to "hybrid" but kept the scaling that you provided
> and got different results when switching the positions for the external
> regressors.
>
> ugarchfit(spec = spec, data = as.matrix(temp$y),solver =
> "hybrid",fit.control=list(scale=1))
>
> So it looks like you have to change the solver to "nlminb" and update
> fit.control with the scaling that you provided.
>
> Galib
>
>
> On Sun, Aug 19, 2018 at 11:41 PM, GALIB KHAN <
> ghk18 using scarletmail.rutgers.edu> wrote:
>
>> Alexios,
>>
>>
>> Veryyyy interesting!!!!! No I cannot see any differences at all lol.
>>
>> I updated the code and indeed you are correct sir. Thank you for your
>> time in investigating this.
>>
>> I will update my stack exchange post to reflect your answer in the
>> morning.
>>
>> Again thank you for all your help!!!!
>>
>> Best,
>> Galib Khan
>>
>>
>> On Sun, Aug 19, 2018 at 11:19 PM, alexios galanos <alexios using 4dscape.com>
>> wrote:
>>
>>> 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 using scarletmail.rutgers.edu>
>>> wrote:
>>> >
>>> > 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 using 4dscape.com>
>>> wrote:
>>> > I run the code you provided and obtain the following results related
>>> to the external parameters:
>>> >
>>> >
>>> > 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.
>>> >
>>> > Alexios
>>> >
>>> > > On Aug 19, 2018, at 5:46 PM, GALIB KHAN <
>>> ghk18 using scarletmail.rutgers.edu> wrote:
>>> > >
>>> > > Recently I have discovered a problem with a package called rugarch
>>> that
>>> > > creates arma-garch models. The issue is that if you literally change
>>> the
>>> > > 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
>>> move
>>> > > 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
>>> output
>>> > > of arma-garch? (Possible rugarch bug/error)
>>> > > <
>>> https://stackoverflow.com/questions/51900177/should-the-positioning-of-the-external-regressors-change-the-output-of-arma-garc
>>> >
>>> > >
>>> > > Any feedback is welcomed.
>>> > >
>>> > > Thanks
>>> > >
>>> > >       [[alternative HTML version deleted]]
>>> > >
>>> > > _______________________________________________
>>> > > R-SIG-Finance using r-project.org mailing list
>>> > > https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>>> > > -- Subscriber-posting only. If you want to post, subscribe first.
>>> > > -- Also note that this is not the r-help list where general R
>>> questions should go.
>>> > >
>>> >
>>> >
>>>
>>>
>>
>
> Galib Khan
>
>
> On Sun, Aug 19, 2018 at 11:41 PM, GALIB KHAN <
> ghk18 using scarletmail.rutgers.edu> wrote:
>
>> Alexios,
>>
>>
>> Veryyyy interesting!!!!! No I cannot see any differences at all lol.
>>
>> I updated the code and indeed you are correct sir. Thank you for your
>> time in investigating this.
>>
>> I will update my stack exchange post to reflect your answer in the
>> morning.
>>
>> Again thank you for all your help!!!!
>>
>> Best,
>> Galib Khan
>>
>>
>> On Sun, Aug 19, 2018 at 11:19 PM, alexios galanos <alexios using 4dscape.com>
>> wrote:
>>
>>> 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 using scarletmail.rutgers.edu>
>>> wrote:
>>> >
>>> > 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 using 4dscape.com>
>>> wrote:
>>> > I run the code you provided and obtain the following results related
>>> to the external parameters:
>>> >
>>> >
>>> > 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.
>>> >
>>> > Alexios
>>> >
>>> > > On Aug 19, 2018, at 5:46 PM, GALIB KHAN <
>>> ghk18 using scarletmail.rutgers.edu> wrote:
>>> > >
>>> > > Recently I have discovered a problem with a package called rugarch
>>> that
>>> > > creates arma-garch models. The issue is that if you literally change
>>> the
>>> > > 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
>>> move
>>> > > 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
>>> output
>>> > > of arma-garch? (Possible rugarch bug/error)
>>> > > <
>>> https://stackoverflow.com/questions/51900177/should-the-positioning-of-the-external-regressors-change-the-output-of-arma-garc
>>> >
>>> > >
>>> > > Any feedback is welcomed.
>>> > >
>>> > > Thanks
>>> > >
>>> > >       [[alternative HTML version deleted]]
>>> > >
>>> > > _______________________________________________
>>> > > R-SIG-Finance using r-project.org mailing list
>>> > > https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>>> > > -- Subscriber-posting only. If you want to post, subscribe first.
>>> > > -- Also note that this is not the r-help list where general R
>>> questions should go.
>>> > >
>>> >
>>> >
>>>
>>>
>>
>

	[[alternative HTML version deleted]]



More information about the R-SIG-Finance mailing list