What model did you run in rugarch and lm?  Are you trying to predict
variance or the mean?  Or both?

We'll need some code and further explanation of your problem.....

John

On Thu, Oct 27, 2011 at 1:29 PM, <johnzli@comcast.net> wrote:

> Dear all:
>
> I posted this question before, and did not receive feedback. If I posted in
> the wrong mailing list, I apologize here in advance, and will post it to the
> right place next time.
>
> I am building a model for forecasting using rugarch package (version 1.0-5,
> R version 2.13.2). To verify the behavior of rugarch model, I also performed
> the same exercise using simple linear regression lm. All the data here is
> return times 100, so 0.5 represents 0.5%. If we look at the regression
> coefficients obtained from rugarch and lm, they are fairly close. So for
> practical purpose, I would argue that the DAC number given by DACTest from
> rugarch package should be very close to each other, and they are widely
> different.
>
> I suspect that when you perform regression in rugarch armaOrder = c(0, 0),
> and define regressors by using external.regressors, somehow the forecast
> function ugarchforecast will give results that are different from prediction
> given by predict.lm function.
>
> Can anyone kindly provide your feedback?
>
> Thank you very much.
>
>
>
>  The code and selected output looks like this:
>
>
> >min.model <- lm(yCL05 ~ -1, data = data.frame(yCL05, xCL05))
> >fwd.model <- step(min.model, direction = "forward", scope = (~CL05_1 +
> CL05_2 + CL05_3 + CL05_4), trace = 0)
> >summary(fwd.model)
> >
> > summary(fwd.model)
>
> Call:
> lm(formula = yCL05 ~ CL05_1 + CL05_4 + CL05_2 - 1, data = data.frame(yCL05,
>    xCL05))
>
> Residuals:
>     Min       1Q   Median       3Q      Max
> -0.48690 -0.07605  0.00166  0.07853  0.64095
>
> Coefficients:
>       Estimate Std. Error t value Pr(>|t|)
> CL05_1  0.98036    0.01746   56.16  < 2e-16 ***
> CL05_4 -0.14149    0.01228  -11.53  < 2e-16 ***
> CL05_2 -0.11615    0.02038   -5.70 1.31e-08 ***
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> Residual standard error: 0.1312 on 3217 degrees of freedom
> Multiple R-squared: 0.7201,     Adjusted R-squared: 0.7199
> F-statistic:  2759 on 3 and 3217 DF,  p-value: < 2.2e-16
>
> >pred <- predict(fwd.model, newdata = tail(xCL05, (dailyDataPoint + 1)))
> >obsx <- tail(yCL05, dailyDataPoint + 1)
> > print(DACTest(as.matrix(pred), as.matrix(obsx), test = "PT", conf.level =
> 0.95))
> $Test
> [1] "Pesaran and Timmermann"
>
> $Stat
> [1] 12.43268
>
> $p.value
> [1] 0
>
> $H0
> [1] "Independently Distributed"
>
> $Decision
> [1] "Reject  H0"
>
> $DirAcc
> [1] 0.8452012
> > print(DACTest(as.matrix(pred), as.matrix(obsx), test = "AG", conf.level =
> 0.95))
> $Test
> [1] "Anatolyev and Gerko"
>
> $Stat
> [1] 12.59703
>
> $p.value
> [1] 0
>
> $H0
> [1] "No Predictability"
>
> $Decision
> [1] "Reject  H0"
>
> $DirAcc
> [1] 0.8452012
>
> # Now results from rugarch using sGARCH(1, 1) + ARMA(0, 0) + XREG(M)
> >ext <- data.matrix(xCL05)
> >startPar = as.list(coef(m.fit))
> >m.spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder =
> c(1, 1)), mean.model = list(armaOrder = c(0, 0), include.mean = FALSE,
> external.regressors = ext), distribution.model = "std", start.pars =
> startPar, fixed.pars = list(mxreg3 = 0,omega = 0))
> m.fit <- ugarchfit(data = yCL05, spec = m.spec, out.sample = 322, solver =
> "solnp", fit.control = list(scale = 1))
> >m.fit
> *---------------------------------*
> *          GARCH Model Fit        *
> *---------------------------------*
>
> Conditional Variance Dynamics
> -----------------------------------
> GARCH Model     : sGARCH(1,1)
> Mean Model      : ARFIMA(0,0,0)
> Distribution    : std
>
> Optimal Parameters
> ------------------------------------
>        Estimate  Std. Error  t value Pr(>|t|)
> mxreg1  0.975195    0.013854  70.3926        0
> mxreg2 -0.119729    0.015947  -7.5080        0
> mxreg3  0.000000          NA       NA       NA
> mxreg4 -0.132482    0.009730 -13.6159        0
> omega   0.000000          NA       NA       NA
> alpha1  0.035356    0.004597   7.6919        0
> beta1   0.963644    0.004773 201.9094        0
> shape  10.396033    1.192115   8.7207        0
>
> Robust Standard Errors:
>        Estimate  Std. Error  t value Pr(>|t|)
> mxreg1  0.975195    0.014851  65.6665        0
> mxreg2 -0.119729    0.016830  -7.1139        0
> mxreg3  0.000000          NA       NA       NA
> mxreg4 -0.132482    0.010469 -12.6544        0
> omega   0.000000          NA       NA       NA
> alpha1  0.035356    0.006289   5.6217        0
> beta1   0.963644    0.006833 141.0259        0
> shape  10.396033    1.182089   8.7946        0
>
> LogLikelihood : 3895.616
>
> Information Criteria
> ------------------------------------
>
> Akaike       -1.5092
> Bayes        -1.4990
> Shibata      -1.5092
> Hannan-Quinn -1.5056
> ...
> >m.pred <- ugarchforecast(cl_ar4.fit, data = yCL05, external.forecasts =
> list(mregfor = ext), n.ahead = 1, n.roll = 322)
> >fpm(m.pred, summary = TRUE)
>         MSE       MAE       DAC
> 1 0.09805421 0.2428945 0.5434783
>
> The problem arises when you compare DAC given by rugarch package and the
> one given by DACTest from rugarch package for lm regression. In another test
> (the results are not listed here), I ran AR(4) model in rugarch with
> ugarchspec like:
> >m.spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder =
> c(1, 1)), mean.model = list(armaOrder = c(4, 0), include.mean = FALSE),
> distribution.model = "std", start.pars = startPar, fixed.pars = list(ar33 =
> 0,omega = 0))
> and then ran
> >fpm(m.pred, summary = TRUE)
>
> then it will give a results similar to DAC from the one obtained from lm
> package.
>
> It seems the problem arises when you try to perform regression with
> external regressors with armaOrder = c(0, 0) ...
>
> Any help will be greatly appreciated..
>
>
> Thank you.
>
> John Li
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-SIG-Finance@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]]

