interest rate volatility modeling I need to model interest rate volatility with GARCH(1,1) by using $IR_t = c + IR_{-1} +e_t$ as the mean equation. In other words, I should obtain the conditional variance using $IR_t = c + IR_{-1} + e_t$ where $c$ is constant and $e$ is error term.
$IR$ stands for interest rate.
How can I exercise this process? Actually, I am confused with the mean equation and how to specify it in Stata or in the others.
 A: In general, a GARCH model can be written as:
\begin{align}
r_t&=\mu_t+\epsilon_t \\
\epsilon_t &=\sigma_t z_t \, ,z_t \overset{iid}{\sim}(0,1)
\end{align}
Where $\mu_t=E(r_t\vert {\cal F}_{t-1})$ is the expected value of $r_t$ given the information set ${\cal F}_{t-1}$ and $\epsilon_t$ is the error term. $\mu_t$ is often called the mean equation, since dynamics in the mean of the time series are modeled by $\mu_t$. Dependence in the second moments are modeled by using the variance equation, i.e. the functional form of $\sigma_t^2$ since $Var(r_t \vert {\cal F}_{t-1})=\sigma_t^2$.
Depending on the functional form of $\mu_t$ and $\sigma_t^2$ and also the distribution assumption for $z_t$, you get a different model. However, your mean equation is known and you want to use a GARCH(1,1)-model for the variance equation, so you have the model:
\begin{align}
IR_t&=c+IR_{t-1}+\epsilon_t \\
\epsilon_t&=\sigma_t z_t \\
\sigma_t^2&=\alpha_0+\alpha_1\epsilon_{t-1}^2+\beta_1\sigma_{t-1}^2
\end{align}
So the only thing you need to specify in this case is the distribution of $z_t$. Standard assumptions are the standard normal distribution or standardized t- distribution. Now you can estimate your model via ML.
A quick example using rugarch package in R:
library(rugarch)
#Specify GARCH(1,1)-model with normal innovations
Model<-ugarchspec(variance.model = list(model = sGARCH, garchOrder = c(1,1)),  
                  mean.model = list(armaOrder = c(1,0), include.mean = TRUE, 
                  archm =FALSE), distribution.model = "norm",
                  fixed.pars = list(ar1 = 1))


#Estimate model, I assume IR is the vector of interest rates
Model_Fit<-ugarchfit(spec = Model, data = IR, solver = "hybrid")

