Hot answers tagged

16

You may want to first broadly categorize volatility models before comparing between them within each class, it does not make sense to compare standard deviation models with an implied vol model. I would broadly classify as follows: Historical realized volatility: Those include standard deviation (sum of squared deviations), realized range volatility ...


14

It doesn't matter if you use *100 or just pct_change, as long as you are consistent. However, in practice, due to underlying floating point numerical instabilities in the underlying optimization algorithms/default tolerances used in scipy/arch, having the returns expressed in %, i.e. multiplied by 100, will have a better chance of converging during the ...


14

Heston gives an expression for the characteristic function, from which option prices can be computed. Therefore it can be calibrated (statically) on a set of vanilla option prices with different strikes and maturities. Hence this produces risk neutral parameters that can be used to price other more exotic products. However, it is a pain to estimate the ...


13

Let’s take a simple example to answer a broad but interesting question: Imagine that we have a daily return serie denoted $r_{t}$ ( which is assumed to be stationary) and let's take a little time to define main concepts : Mean Process (First moment process) The unconditional mean of $r_{t}$ denoted $u$ is just its expectation $E(r_{t})$. It is not time ...


12

Let me start with a disclaimer that I have no interest in promoting GARCH models. However, I am aware of their history, their capabilities and some practical aspects of using them. That helps me come up with a few points to answer your question (Why is GARCH(1,1) so popular?): GARCH is inspired by ARMA, a classic time series model, and most likely the most ...


10

You want to set the parameter n.roll to the number of n.ahead, n.roll rolling forecasts you want. (The n.ahead parameter controls how many steps ahead you want to forecast for each roll date.) Thus by setting n.roll to a number almost equal to your sample size, and critically setting the out.sample parameter almost equal to your sample size, you're telling ...


10

You've found parameterizations where fantastically long samples are required for sample 4th moments to converge on population 4th moments. Quick evidence of imprecise estimation Let $k_i$ denote your estimated kurtosis in simulation $i$. Looking across your $i = (1,\ldots, 1000)$ simulations, your $k_i$ estimates are all over the place. What's your ...


9

The best answer to your question is probably given by the Nobel prize committee itself in "The Prize in Economic Sciences 2003 - Advanced Information" document. You should read it in full. Below is an excerpt. According to the committee: Financial economists have long since known that volatility in returns tends to cluster and that the marginal ...


7

I think there is some room for improvement here. 1. GARCH GARCH models are appropriate for modeling time series that exhibit a heavily-tailed distribution and display some degree of serial correlation. That's not the case. GARCH is used for modelling series where there is serial correlation in variance, not in actual observations. And heavy tails are ...


7

I personally use the simple Garch(1,1) for volatility filtering in the risk management area. In fact in most cases I don't even estimate the parameters, I stick 0.94 for mean reversion, 0.04 for the squared error and I get the constant by matching the series variance. My experience is that there is no point pretending to finetune parameters when vol is ...


7

In this context, unconditional variance refers to the stationary variance level predicted by your GARCH model. This quantity need not coincide with the sample variance of the data on which the latter model has been calibrated. That being said, in an effort to reduce the complexity of the GARCH parameters' estimation process (nasty non-linear optimisation ...


7

These are 2 completely different ways of estimating volatility. GARCH models are calibrated on historical time series i.e. information provided under the real-world measure $\mathbb{P}$. Although you can obviously use them for forecasting, the core information which is used to build the model is backward-looking in nature (historical behaviour of the stock)....


7

There exists a modification of the HAR model that accounts for leverage effect (á la GJR-GARCH) in a high-frequency setting. The semi-variance HAR model, termed the SHAR model of Patton and Sheppard (2015), decomposes the first volatility component in the original HAR model into realized semi-variances, and hence, tries to deal with the leverage effect in a ...


6

Ah, this is becoming a common question, just in R now. Please look at this [question] (GARCH model and prediction), it has R code to do the prediction. In brief, you keep predicting one day ahead. $\sigma_{t+k}^2 =w+\alpha u_{t+k-1}^2+\beta \sigma_{t+k-1}^2$. You already know $ w,\space \alpha \space and \space \beta $ the starting values are the last ...


6

Consider the GARCH(1,1) process \begin{align} r_{t+1} &= \sigma_{t+1} z_{t+1} \\ \sigma^2_{t+1} &= \omega+\alpha r^2_t +\beta \sigma^2_{t} \end{align} for the returns $r_t$, with ${z_t} \sim N (0,1)$ IID. In what follows, let us distinguish the conditional return variance $$ V [ r_{t+1} \vert \mathcal{F}_t ] = \sigma^2_{t+1} $$ from the ...


6

The ARMA(m,p) representation of GARCH(p,q) is : \begin{align*} \left[1-\alpha(L)-\beta(L)\right]r_{t}^{2} = w + [1- \beta(L)] v_{i} \end{align*} where \begin{align} &\alpha (L) =\sum_{i=1}^{q} \alpha_{i} L^{i} \qquad , \alpha (0)=0 \\ &\beta (L) =\sum_{i=1}^{p} \beta_{i} L^{i} \qquad , \beta (0)=0 \\ &m = \text{max}(p,q) \end{align} ...


6

GARCH models have little to do with the economics of the data generating process of the series you model, so both returns and excess returns (and log-returns, and inflation-adjusted ones, even ones measured in yen!) are valid input. However, there is usually the conditional mean equation besides the variance equation in a GARCH set-up, and your risk-free ...


6

Let me try to answer, this topic is much deeper than my answer 1. Why are these models like this unpopular? First, these models produce marginal distributions that does not fit the market, which means they cannot reproduce vanilla option prices traded in the market SV models, e.g. Heston model, may fit to a few vanilla prices, they cannot fit the entire ...


5

Which model to choose from a pool of candidate models depends on what you want to do with it. If you want to do forecasting, you should select a model that would be expected to deliver the most accurate forecasts. Akaike's information criterion (AIC) is known to asymptotically select a model (from a given pool) that will deliver the forecasts with the ...


5

No, a sum of two GARCH processes is generally not a GARCH process. (I am not even sure whether there exists a nontrivial special case where the opposite holds.) By GARCH I mean the classic definition of GARCH due to Bollerslev (1986), not an arbitrary variation like EGARCH, IGARCH, FIGARCH or whatever else. Let me provide an example. Take two ...


5

There is now a package for that: The MSGARCH package, you can find it on CRAN. You can find an exhaustive vignette here: David Ardia, Keven Bluteau, Kris Boudt, Denis-Alexandre Trottier: Markov-Switching GARCH Models in R: The MSGARCH Package (2016) Abstract Markov-switching GARCH models have become popular to model the structural break in the ...


5

The mean could be the long run variance which is sig2 = fit.Constant/(1-fit.GARCH{1}-fit.ARCH{1}); I hope this explains. If not, note I ran this model through Matlab, I get different values. you can paste your m1 and m2 values and some other intermediate results so I can see why Matlab differs. EDIT: The question refers to forecasting the returns. ...


5

Any ARCH type model always requires an additional model for the mean of the time series. If nothing is said about the mean model, then usually is simply a time average plus residual. So, if $y_t$ is your stationary time series, the mean model would be $$ y_t = \bar{y} + \epsilon_t $$ where $\bar{y}$ is the average value of $y_t$. And then $\epsilon_t$ would ...


5

To test for model misspeicfication: First ensure that auto correlation of standardized residuals resulted from the ARMA-GARCH model are not significant. Further, you can use Box-Ljung test. It test joint significance of auto correlation upto lag $K$. Leverage effect is tested by sign bias test. If $p$ value is less than .05 (assumed significance level) ...


5

Assume that your stationary time series (here a daily close-to-close log-returns' series) is modelled as follows $\forall t \in \mathcal{T}=\{1,...,N\}$ \begin{align} r_t &= E_{t-1}[r_t] + \epsilon_t \\ &= E_{t-1}[r_t] + \sigma_t z_t \end{align} with $z_t \sim N(0,1)$ and $\{z_t\}_{t \in \mathcal{T}}$ are IID. The above equations suggest that, ...


5

This is because $|z_t|$ is a standard half-normal random variable and have expectation $\sqrt{\frac{2}{\pi}}$. The expectation, $\mathbb{E}\left[|z_t|\right] = \sqrt{\frac{2}{\pi}}$ is true, when $z_t \overset{iid}{\sim}N(0,1)$. In this case, the absolute value of $z_t$ is called a (standard) half-normal variable that has known expectation. You can verify ...


4

There is no one right answer to this question, but a common starting place is to compare the bias and variance of the forecast vs. the realized variance. Take your forecasted variance $\hat y$ and regress them against the realized variance: $y = \beta_0 + \beta_1 \hat y + \epsilon$ A few things that you want to see: The forecast should be unbiased, ...


4

Squaring normally distributed variables results chi-square distributions, which (as you imply) is why the chi-square distribution is used in hypothesis tests for the variance. If you estimate a Garch model and obtain the conditional variance at every point in time, you could use a chi-squared hypothesis test to ask a question like is the variance in a ...


4

There is no guarantee that the optimization method always converges! In an introduction the author of the package recommends using the "hybrid" solver, which starts out with the "solnp" and goes through the other solvers, if it doesn't converge. According to him, this should at least guarantee convergence in 90 % of the cases. http://unstarched.net/r-...


Only top voted, non community-wiki answers of a minimum length are eligible