data { int n; real y[n]; real sigma1; } parameters { real mu; real alpha0; real alpha1; real beta1; } transformed parameters { real sigma[n]; sigma[1] = sigma1; for (t in 2:n) sigma[t] = sqrt(alpha0 + alpha1 * pow(y[t-1] - mu, 2) + beta1 * pow(sigma[t-1], 2)); } model { y ~ normal(mu, sigma); }