Jointly Estimating AR(1) Dynamics and Stochastic Volatility
Summary
The question asks whether estimating an AR(1) mean model first and then fitting a stochastic volatility model could introduce bias, especially into the autoregressive estimate. The response points to a joint Bayesian approach that includes an AR(1) structure in the stochastic volatility model, avoiding the proposed two-stage procedure. It describes a package option for specifying the model’s design matrix and notes that help-file examples illustrate fitting exchange-rate data and generating predictive volatilities and return draws.
The material offers a practical modeling direction, but it does not present a bias analysis, simulation, or empirical comparison between sequential and joint estimation. The response also says the feature is not yet well documented, and the example code is illustrative rather than evidence that one approach performs better in all settings.
Key ideas
- Fitting an AR(1) model before a stochastic volatility model raises a question about bias from staged estimation.
- A joint Bayesian AR(1)-stochastic-volatility model can represent the mean dynamics and volatility together.
- The response describes specifying an AR(1) design matrix in the stochastic volatility package.
- The exchange-rate example demonstrates fitting and prediction, but it does not compare estimation bias across methods.
Tags
Full text
# Filtering out AR(1) effects before using stochastic volatility model
# Filtering out AR(1) effects before using stochastic volatility model
I wonder if I first filter out AR(1) (autoregressive model with lag 1) effects from univariate time series and then fit stochastic volatility model does above procedure introduce any bias at first or second step (first step - fitting AR(1), second step - fitting SV model) ? I'm especially interested in potential bias in fitting AR(1) model. This question have came to my mind after using 'stochvol' R package, where I can't add autoregressive part to stochastic volatility model.
## Answer by Gregor Kastner (score 4)
https://quant.stackexchange.com/a/21209
Even though it's a straightforward extension, it took me a while (a year? yikes!); but now you can easily incorporate Bayesian ar(1) (or more generally, Bayesian regression) in joint estimation by using `designmatrix = "ar(1)"` as an argument to `svsample`. It's not well documented yet (except in the help files), but I nevertheless hope easy to use.
From the help file of `svsample`:
```
## Another example, this time with an AR(1) structure for the mean
## Not run:
data(exrates)
y <- exrates$USD
## Fit AR(1)-SV model to EUR-USD exchange rates
res <- svsample(y, designmatrix = "ar1")
## Use predict.svdraws to obtain predictive volatilities
ahead <- 100
predvol <- predict(res, steps = ahead)
## Use arpredict to obtain draws from the posterior predictive
preddraws <- arpredict(res, predvol)
## Calculate predictive quantiles
predquants <- apply(preddraws, 2, quantile, c(.1, .5, .9))
## Visualize
ts.plot(y, xlim = c(length(y) - ahead, length(y) + ahead),
ylim = range(predquants))
for (i in 1:3) {
lines((length(y) + 1):(length(y) + ahead), predquants[i,],
col = 3, lty = i
}
## End(Not run)
```
Please let me know if you find any glitches!Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.