How do I specify a general GARCH-M model using the rugarch package in R

Viewed 897

I am currently trying to fit a GARCH-M model for option pricing as proposed by Duan (1995).

Since this is my first post I cannot post pictures of the equation using the Google Chart API so I tried to create some HTML code below that displays the equations.

The GARCH dynamics are specified as

x_t = r + \lambda \sigma_t - \sigma_t^2 / 2 + \varepsilon_t

\sigma_t^2 = \omega + \alpha_1 \varepsilon_{t-1}^2 + \beta_1 \sigma_{t-1}^2

Equations in HTML below:

<a href="https://www.codecogs.com/eqnedit.php?latex=x_t&space;=&space;r&space;&plus;&space;\lambda&space;\sigma_t&space;-&space;\frac{\sigma_t^2}{2}&space;&plus;&space;\varepsilon_t&space;\\&space;\sigma_t^2&space;=&space;\omega&space;&plus;&space;\alpha_1&space;\varepsilon_{t-1}^2&space;&plus;&space;\beta_1&space;\sigma_{t-1}^2" target="_blank"><img src="https://latex.codecogs.com/gif.latex?x_t&space;=&space;r&space;&plus;&space;\lambda&space;\sigma_t&space;-&space;\frac{\sigma_t^2}{2}&space;&plus;&space;\varepsilon_t&space;\\&space;\sigma_t^2&space;=&space;\omega&space;&plus;&space;\alpha_1&space;\varepsilon_{t-1}^2&space;&plus;&space;\beta_1&space;\sigma_{t-1}^2" title="x_t = r + \lambda \sigma_t - \frac{\sigma_t^2}{2} + \varepsilon_t \\ \sigma_t^2 = \omega + \alpha_1 \varepsilon_{t-1}^2 + \beta_1 \sigma_{t-1}^2" /></a>

I am using the rugarch package in , but I cannot figure out how to specify the model. I know how to fit a standard GARCH-M model without the \sigma_t^2 / 2 term, but how (if possible) do I specify the above model?

Standard GARCH-M code with fixed mu (r):

library(rugarch)
data(sp500ret)
spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), external.regressors = NULL),
               mean.model = list(armaOrder = c(0,0), include.mean = TRUE, archm = TRUE, archpow = 1),
               fixed.pars = list(mu = 0))
fit <- ugarchfit(spec = spec, data = sp500ret)
fit

The flexibility seems quite limited in mean.model so I am seeking some input on how to do this.

0 Answers
Related