Tag Info

Hot answers tagged

12

First, Garch models stochastic volatility. Thus its use should be limited to estimating the volatility component. The difference in some of the volatility models is the assumption made of the random variance process components. I believe it has been popular because it is an extension of the ARCH family of models and it is relatively easy to setup and ...


10

I think there are a lot of different ways to specify this problem. For simplicity, consider independent Garch processes $$ r_{1,t} \sim N\left(0,\sigma_{1,t}^{2}\right) $$ $$ \sigma_{1,t}^{2} = \beta_{1,1}+\beta_{1,2}\varepsilon_{1,t-1}^{2}+\beta_{1,3}\sigma_{1,t-1}^{2} $$ and $$ r_{2,t} \sim N\left(0,\sigma_{2,t}^{2}\right) $$ $$ \sigma_{2,t}^{2} = ...


7

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 ...


7

Okay just to wind things down here, I think an important clarification is needed if readers might come and seek to a similar solution. The Geometric Brownian Motion (GBM) is a model of asset prices dynamics which is usually given as follows: $$ dS_t = \mu S_t dt + \sigma S_t dB_t$$ where $B_t$ is a standard brownian motion which has several important ...


5

I'm guessing, and correct me if I'm wrong, you want to create a number of possible paths the stock price could follow with the local volatilty given by GARCH depending on the simulated history, or in pseudocode: N <- numberOfPaths T <- numberOfSteps for (i in 1:N) { newSeries <- pastPrices for (t in 1:T) { epsilon <- normrnd(0,1) ...


5

You can have a look at rgarch. It's quite versatile. From what I remember, you have to get it explicitly from R-Forge, as it's not available from CRAN. See the rgarch website for more details. Last time I checked, usage was something like this: spec.gjrGARCH = ugarchspec(variance.model=list(model="gjrGARCH", garchOrder=c(1,1)), ...


5

ARCH and GARCH are, by essence heteroskedastic models, that is, with non-constant volatility. If you fit these models to your sample, it will provide you with a time series of the volatility for each point (you can construct it actually). If the values are not the same for all $t$, then the volatility is not constant, according to these models. What you ...


4

The general procedure is to start out simple, real simple, and build your model up only as necessary. AR(q), q=0 to start with. Test the lagged autocorrelations of the error terms, and increase q until they are no longer significant. Test for ARCH, and if it's significant, you have an ARCH(q) model. Then move on with GARCH(1,q), GARCH(2,q), and when the ...


4

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 ...


4

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 ...


2

I would recommend to use simple standard deviation (among the 2 options you offered). You are performing time series analysis of historical data points, you are not forecasting. Thus, why exposing yourself to a much more computationally intensive method? May I also point you to a related (not duplicate) thread: Why are GARCH models used to forecast ...


2

To quickly answer and address your first question. ARMA - Fractionally integrated GARCH or FIGARCH is one of the more common methods used at higher frequencies, it handles some properties required for higher frequency that standard ARMA-GARCH does not There are also a few other so called long memory volatility models, and there are other models which i ...


2

CRAN has a few: bayesGARCH gogarch ccgarch


2

I am going to supply an answer that is quite similar to SRKX's (which is very very good) because I want to discuss in more detail a few important things. First, you cannot use a stochastic volatility model for the SDE that you've provided as that's GBM with constant diffusion. However, based on what you've said it's obvious you wish to model a discretized ...


2

The following thesis deals with VaR back testing procedures in the Basel framework link. In chapter 7 tests for violation clustering are presented. An R implementation of the runs test is e.g. given in the tseries package.


2

You would want to use garchfit if you have it. If you don't have access to that you could use http://www.kevinsheppard.com/wiki/MFE_MATLAB_Introduction. Anyway, as for the inputs, it could be a vector with a constant mean of zero. This would be like fitting an AR(p) model to the prices and then estimating the Garch parameters on the residuals.


2

I don't use Stata often, but the help() function is typically very good. Try help(garch). It looks like the command is garch _depvar_ _indepvars_ _options_ Here's the help page on the web.


2

You need to find the values of the GARCH parameters which fit best your data. To do so, you usually create a function simulating a GARCH simulation taking, as input the parameters, and you run it through an optimizer to that the sum of the squares of the differences of the simulations points and the sample points are minimal. Note that it will not give you ...


1

Neither of the options is strictly superior over the other. I agree with Freddy about the disadvantages of GARCH. On the other hand, correcting for heteroskedasticity can help your model and forecasts* if it is present and persistent. Whether GARCH is your best choice is debatable. You could look at other sources to determine the volatility or, as an option ...


1

In terms of ARCH conditional variance is the variance conditional on past information (i.e. the history of the process). This is useful for modeling a process that exhibits volatility clustering. Perhaps he means that starting with the standard deviation (unconditional volatility) of stock returns one can then use that as an input to estimate the conditional ...


1

For the univariate case, consider X which is the log prices of some stock. First, fit X with an AR(p) model and collect the residuals. Next, fit a Garch(p,q) model and collect the conditional standard deviations. Scale the initial residuals by the conditional standard deviations to produce a new series that has mean of 0 and variance 1. For the sake of ...


1

You will probably be interested in the following papers: Ang & Chen: Asymmetric Correlations of Equity Portfolios Longin & Solnik: Extreme Correlation of International Equity Markets Hong et al: Asymmetric Correlation of Stock Returns: Statistical Tests and Economic Evaluation The last paper goes further into exploring the implications of ...


1

"How can I understand if the volatility is not constant reading ARCH/GARCH model ": By analyzing the error terms/residuals. There is not much more magic going on than just this and the following rather introductory level paper should get you started: http://archive.nyu.edu/bitstream/2451/26577/2/FIN-01-030.pdf Garch models essentially add conditional ...



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