You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GARCH(1,1)递归公式运作原理及输入参数咨询

GARCH(1,1) Practical Inputs for S&P 500 Monthly Returns

Great question—let’s break this down clearly using your 10-year monthly S&P 500 return example, since that’s a super common use case for GARCH models.

First, a quick tiny correction to your equation: the standard GARCH(1,1) variance recursion uses the lagged squared residual (not lagged variance times $\eta_{t-1}^2$), though the two are equivalent because $\epsilon_{t-1} = \sigma_{t-1}\eta_{t-1}$. The standard form is:
$$\sigma_{t}^{2} = \alpha_0 + \alpha_1 \epsilon_{t-1}^2 + \beta_1 \sigma_{t-1}^{2}$$
No big deal, but it helps align with how we’ll map your data to the model.

Core Raw Data You Need

The only fundamental input you start with is 10 years of monthly S&P 500 total returns (that’s 120 data points). For accuracy, use total returns (price changes plus dividends) instead of just price returns—dividends add up over 10 years and affect return volatility.

How This Data Feeds Into the GARCH Equation

GARCH models don’t take returns directly—they work with residuals from a mean equation. Here’s the step-by-step flow:

  1. Estimate a mean equation for your returns: For stock returns, the mean equation is almost always a simple constant (since short-term stock returns are nearly unpredictable):
    $$r_t = \mu + \epsilon_t$$
    • $r_t$ = your monthly S&P 500 return (log returns are preferred here, calculated as $\ln(P_t/P_{t-1})$ because they’re additive over time)
    • $\mu$ = the average monthly return across your 10-year sample
    • $\epsilon_t$ = the residual (the difference between the actual return and the average return—this is the "unexpected" part of the return)
  2. These residuals are the key input: The $\epsilon_{t-1}^2$ term in the GARCH equation is just the squared residual from the previous month. And since $\epsilon_{t-1} = \sigma_{t-1}\eta_{t-1}$, that squared residual equals $\sigma_{t-1}2\eta_{t-1}2$—which matches the term in your original equation.

Preprocessing: What You Need (and Don’t Need)

You mentioned de-trending and other adjustments—let’s clear that up:

  • De-trending: You don’t need to de-trend stock returns. GARCH models are built for stationary time series, and stock returns are already stationary (they don’t have a long-term upward/downward trend; stock prices do, but returns are price changes, so they eliminate the trend). If you accidentally used price levels instead of returns, you’d need to difference them to get returns (a form of de-trending), but since you’re starting with returns, you’re set.
  • Other essential preprocessing steps:
    • Calculate returns correctly: Log returns are standard for time series work, but simple returns ($(P_t-P_{t-1})/P_{t-1}$) work too. Stick with one consistently.
    • Check for stationarity: Run a quick Augmented Dickey-Fuller (ADF) test to confirm your returns are stationary—stock returns almost always pass this, but it’s a good sanity check.
    • Handle outliers (optional but recommended): Extreme returns (like the 2020 COVID crash) can skew GARCH estimates. You can either winsorize outliers (cap extreme values at a threshold) or use a fat-tailed distribution (like Student’s t) for the $\eta_t$ term instead of a normal distribution—stock returns often have fatter tails than normal.

Mapping to the Recursive Equation (Step-by-Step)

Using your 10-year monthly data:

  1. Calculate all 120 monthly returns ($r_1$ to $r_{120}$).
  2. Estimate the mean equation to get your residuals $\epsilon_1$ to $\epsilon_{120}$.
  3. Initialize the first variance estimate $\sigma_1^2$: Most software uses either the sample variance of all residuals or the first squared residual ($\epsilon_1^2$) as the starting point.
  4. Run the recursion for each month from $t=2$ to $t=120$:
    $$\sigma_{t}^{2} = \alpha_0 + \alpha_1 \epsilon_{t-1}^2 + \beta_1 \sigma_{t-1}^{2}$$
    • The inputs to each step are the lagged squared residual ($\epsilon_{t-1}^2$) and the lagged variance ($\sigma_{t-1}^2$).
    • The parameters $\alpha_0$, $\alpha_1$, and $\beta_1$ are what you estimate using software (like R’s rugarch package, Python’s arch library, or EViews)—they’re not inputs you provide; the model learns them from your data.

Quick Concrete Example

Suppose:

  • First residual $\epsilon_1 = 0.02$ (2% deviation from the mean return)
  • Initial variance $\sigma_1^2 = 0.0004$ (0.04% variance)
  • Estimated parameters: $\alpha_0=0.0001$, $\alpha_1=0.1$, $\beta_1=0.85$

Then the second month’s variance is:
$$\sigma_2^2 = 0.0001 + 0.1*(0.02)^2 + 0.85*0.0004 = 0.0001 + 0.00004 + 0.00034 = 0.00048$$

That’s exactly how your monthly return data flows through the GARCH(1,1) recursion.


内容的提问来源于stack exchange,提问作者Coolio2654

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:24:32