The model of daily volatility most used in finance: a day's
return is mu + sigma(t) * z(t), where z follows a Student-t distribution
scaled to a variance of 1 and sigma(t)^2 follows garch_variance(). The
parameters are fitted by maximum likelihood with stats::optim(), in a
form that keeps omega positive, alpha and beta positive with
alpha + beta below 1, and nu above 2.