【TS】GARCH模型(2)

    科技2026-10-09  3

    导航

    ARCH模型的优点与缺点ARCH建模细节阶的确定估计厚尾分布有偏分布广义误差分布(GED) Demo: Estimate Mean and Variance Modeldata preprocessing and model buildingestimate model parametersinfer conditional variances and residualsCompare Model Fits 参考资料

    ARCH模型的优点与缺点

    优点: (1).该模型可以产生波动率聚集 (2).模型的扰动 a t a_t at​具有厚尾部 缺点: (1).模型设置了正向扰动和负向扰动对波动率有着相同的影响,由于波动率依赖于过去扰动的平方,实际上金融资产的价格对正向扰动和负向扰动是不同的. (2).ARCH模型对参数具有较强的限制. (3).ARCH模型给出的波动率预报值会偏高,因为它对收益率序列大的孤立的“扰动”反应缓慢.

    ARCH建模细节

    阶的确定

    如果在统计检验中发现了明显的ARCH效应,可以使用 a t 2 a_t^2 at2​的偏自相关函数(PACF)确定模型的阶,由模型定义可以得到 σ t 2 = α 0 + α 1 a t − 1 2 + ⋯ + α m a t − m 2 \sigma_t^2=\alpha_0+\alpha_1a_{t-1}^2+\dots+\alpha_ma_{t-m}^2 σt2​=α0​+α1​at−12​+⋯+αm​at−m2​ 对于给定样本, a t 2 a_t^2 at2​是 σ t 2 \sigma_t^2 σt2​的无偏估计,由于单个 a t 2 a_t^2 at2​不是 σ t 2 \sigma_t^2 σt2​的有效估计,但是可以作为估计值的近似,在确定阶 m m m时提供信息.

    估计

    ε t \varepsilon_t εt​的假定分布确定了ARCH模型估计中使用的似然函数,在正态假定下,ARCH(m)的似然函数为 f ( a 1 , a 2 , ⋯ ∣ α ) = f ( a T ∣ F T − 1 ) f ( a T − 1 ∣ F T − 2 ) … f ( a m + 1 ∣ F m ) f ( a 1 , … , a m ∣ α ) = ∏ t = m + 1 T 1 2 π σ t 2 exp ⁡ ( − a t 2 2 σ t 2 ) × f ( a 1 , … , a m ∣ α ) f(a_1, a_2, \dots \mid \pmb{\alpha})=f(a_T\mid F_{T-1})f(a_{T-1}\mid F_{T-2})\dots f(a_{m+1}\mid F_m)f(a_1, \dots, a_m\mid \pmb{\alpha})\\ =\prod_{t=m+1}^T\frac{1}{\sqrt{2\pi\sigma_t^2}}\exp(-\frac{a_t^2}{2\sigma_t^2})\times f(a_1, \dots, a_m\mid\pmb{\alpha}) f(a1​,a2​,⋯∣ααα)=f(aT​∣FT−1​)f(aT−1​∣FT−2​)…f(am+1​∣Fm​)f(a1​,…,am​∣ααα)=t=m+1∏T​2πσt2​ ​1​exp(−2σt2​at2​​)×f(a1​,…,am​∣ααα) 根据一般MLE方法得到对数似然函数为 l = − ∑ t = m + 1 T [ 1 2 ln ⁡ ( σ t 2 ) + 1 2 a t 2 σ t 2 ] l=-\sum_{t=m+1}^T[\frac{1}{2}\ln(\sigma_t^2)+\frac{1}{2}\frac{a_t^2}{\sigma_t^2}] l=−t=m+1∑T​[21​ln(σt2​)+21​σt2​at2​​] 其中, σ t 2 = α 0 + a 1 α t − 1 2 + ⋯ + α m a t − m 2 \sigma_t^2=\alpha_0+a_1\alpha_{t-1}^2+\dots+\alpha_ma_{t-m}^2 σt2​=α0​+a1​αt−12​+⋯+αm​at−m2​可以递推计算

    厚尾分布

    在金融资产收益率序列中,设置 ε t \varepsilon_t εt​服从t分布会更加符合数据具有尖峰厚尾的特征,设置随机变量 x v x_v xv​是一个自由度为 v v v的 t t t分布,当 v > 2 v>2 v>2时,有 V a r ( x v ) = v v − 2 Var(x_v)=\frac{v}{v-2} Var(xv​)=v−2v​ 使用 ε t = x v v / v − 2 \varepsilon_t=\frac{x_v}{\sqrt{v/v-2}} εt​=v/v−2 ​xv​​ 则 ε t \varepsilon_t εt​的概率密度函数为 f ( ε t ∣ v ) = Γ ( ( v + 1 ) / 2 ) Γ ( v / 2 ) ( v − 2 ) π ( 1 + ε t 2 v − 2 ) − ( v + 1 ) / 2 v > 2 f(\varepsilon_t\mid v)=\frac{\Gamma((v+1)/2)}{\Gamma(v/2)\sqrt{(v-2)\pi}}(1+\frac{\varepsilon_t^2}{v-2})^{-(v+1)/2}\quad v>2 f(εt​∣v)=Γ(v/2)(v−2)π ​Γ((v+1)/2)​(1+v−2εt2​​)−(v+1)/2v>2 由 a t = σ t ε t a_t=\sigma_t\varepsilon_t at​=σt​εt​可以得到 a t a_t at​的条件似然函数 f ( a m + 1 , … , a T ∣ α , A m ) = ∏ t = m + 1 T Γ ( ( v + 1 ) / 2 ) Γ ( v / 2 ) ( v − 2 ) π 1 σ t ( 1 + a t 2 ( v − 2 ) σ t 2 ) − ( v + 1 ) / 2 f(a_{m+1}, \dots, a_T\mid \pmb{\alpha}, A_m)=\prod_{t=m+1}^T\frac{\Gamma((v+1)/2)}{\Gamma(v/2)\sqrt{(v-2)\pi}}\frac{1}{\sigma_t}(1+\frac{a_t^2}{(v-2)\sigma_t^2})^{-(v+1)/2} f(am+1​,…,aT​∣ααα,Am​)=t=m+1∏T​Γ(v/2)(v−2)π ​Γ((v+1)/2)​σt​1​(1+(v−2)σt2​at2​​)−(v+1)/2 其中 v v v表示自由度,可以由先验信息给出,一般取值在 3 ∼ 6 3\sim 6 3∼6之间. 在给定 v v v时,条件对数似然函数为 l ( a m + 1 , … , a T ∣ α , A m ) = − ∑ t = m + 1 T [ v + 1 2 ln ⁡ ( 1 + a t 2 ( v − 2 ) σ t 2 ) + 1 2 ln ⁡ ( σ t 2 ) ] l(a_{m+1}, \dots, a_T\mid\pmb{\alpha}, A_m)=-\sum_{t=m+1}^T[\frac{v+1}{2}\ln(1+\frac{a_t^2}{(v-2)\sigma_t^2})+\frac{1}{2}\ln(\sigma_t^2)] l(am+1​,…,aT​∣ααα,Am​)=−t=m+1∑T​[2v+1​ln(1+(v−2)σt2​at2​​)+21​ln(σt2​)] 如果需要将参数 v v v同时估计出来,那么包含自由度的对数似然函数为 l ( a m + 1 , … , a T ∣ α , v , A m ) = ( T − m ) [ ln ⁡ ( Γ ( ( v + 1 ) / 2 ) ) − ln ⁡ ( Γ ( v / 2 ) ) − 0.5 ln ⁡ ( ( v − 2 ) π ) ] + l ( a m + 1 , … , a T ∣ α , A m ) l(a_{m+1}, \dots, a_T\mid\pmb{\alpha}, v, A_m)=(T-m)[\ln(\Gamma((v+1)/2))-\ln(\Gamma(v/2))-0.5\ln((v-2)\pi)]+\\ l(a_{m+1}, \dots, a_T\mid\pmb{\alpha}, A_m) l(am+1​,…,aT​∣ααα,v,Am​)=(T−m)[ln(Γ((v+1)/2))−ln(Γ(v/2))−0.5ln((v−2)π)]+l(am+1​,…,aT​∣ααα,Am​)

    有偏分布

    实际数据收益率还会出现有偏的情况,为了处理这种特征Fernandez和Steel1开发了有偏版本的 t t t分布,该方法可以在任何连续单峰和关于0对称的一元分布中引入偏性,对于ARCH过程中的新息 ε t \varepsilon_t εt​, Lambert和Laurent2得到一个标准化的有偏 t t t分布,pdf为 g ( ε t ∣ ξ , v ) = { 2 ξ + 1 ξ ϱ f [ ξ ( ϱ ε t + ω ˉ ) ∣ v ] ε t < − ω ˉ / ϱ 2 ξ + 1 ξ ϱ f [ ( ϱ ε t + ω ˉ ) / ξ ∣ v ] ε t ≥ ω ˉ / ϱ g(\varepsilon_t\mid \xi, v)= \begin{cases} \frac{2}{\xi+\frac{1}{\xi}}\varrho f[\xi(\varrho_{\varepsilon_t}+\bar{\omega})\mid v]\quad \varepsilon_t<-\bar{\omega}/\varrho\\ \frac{2}{\xi+\frac{1}{\xi}}\varrho f[(\varrho_{\varepsilon_t}+\bar{\omega})/\xi\mid v]\quad \varepsilon_t\geq \bar{\omega}/\varrho \end{cases} g(εt​∣ξ,v)=⎩⎨⎧​ξ+ξ1​2​ϱf[ξ(ϱεt​​+ωˉ)∣v]εt​<−ωˉ/ϱξ+ξ1​2​ϱf[(ϱεt​​+ωˉ)/ξ∣v]εt​≥ωˉ/ϱ​ 其中, f ( ⋅ ) f(\cdot) f(⋅)是标准化学生 t t t分布的pdf函数, ξ \xi ξ是偏度参数, v > 2 v>2 v>2是自由度,参数 ϱ \varrho ϱ和 ω ˉ \bar{\omega} ωˉ的定义如下 { ω ˉ = Γ ( ( v − 1 ) / 2 ) v − 2 π Γ ( v / 2 ) ( ξ − 1 ξ ) ϱ 2 = ( ξ 2 + 1 ξ 2 − 1 ) − ω ˉ 2 \begin{cases} \bar{\omega}=\frac{\Gamma((v-1)/2)\sqrt{v-2}}{\sqrt{\pi}\Gamma(v/2)}(\xi-\frac{1}{\xi})\\ \varrho^2=(\xi^2+\frac{1}{\xi^2}-1)-\bar{\omega}^2 \end{cases} {ωˉ=π ​Γ(v/2)Γ((v−1)/2)v−2 ​​(ξ−ξ1​)ϱ2=(ξ2+ξ21​−1)−ωˉ2​ 方程中, ξ 2 \xi^2 ξ2等于在分布的众数下概率和众数上概率的比值,是偏度的一个度量.

    广义误差分布(GED)

    GED的概率密度函数为 f ( x ) = v exp ⁡ ( − 1 2 ∣ x / λ ∣ v ) λ 2 1 + 1 / v Γ ( 1 / v ) − ∞ < x < ∞ 0 < v < ∞ f(x)=\frac{v\exp(-\frac{1}{2}|x/\lambda|^v)}{\lambda 2^{1+1/v}\Gamma(1/v)}\quad -\infty<x<\infty\quad 0<v<\infty f(x)=λ21+1/vΓ(1/v)vexp(−21​∣x/λ∣v)​−∞<x<∞0<v<∞ 其中 λ \lambda λ的一般取值为 λ = [ 2 − 2 / v Γ ( 1 / v ) Γ ( 3 / v ) ] 1 2 \lambda=[2^{-2/v}\Gamma(1/v)\Gamma(3/v)]^{\frac{1}{2}} λ=[2−2/vΓ(1/v)Γ(3/v)]21​

    Demo: Estimate Mean and Variance Model

    data preprocessing and model building

    载入NASDAQ数据并进行预处理

    %% load and preprocess data load Data_EquityIdx nasdaq = DataTable.NASDAQ; r = 100*price2ret(nasdaq); % 使用百分制表示,保证数值稳定性 T = length(r);

    建立AR(1)和GARCH(1, 1)模型 { r t = c + ϕ 1 r t − 1 + ε t σ t 2 = κ + γ 1 σ t − 1 2 + α 1 ε t − 1 2 \begin{cases} r_t=c+\phi_1r_{t-1}+\varepsilon_t\\ \sigma_t^2=\kappa+\gamma_1\sigma_{t-1}^2+\alpha_1\varepsilon_{t-1}^2 \end{cases} {rt​=c+ϕ1​rt−1​+εt​σt2​=κ+γ1​σt−12​+α1​εt−12​​

    %% 建立模型 VarMdl=garch(1, 1); Mdl=arima('ARLags', 1, 'Variance', VarMdl);

    estimate model parameters

    %% 参数估计 EstMdl = estimate(Mdl, r);

    估计参数结果如下图所示

    可以发现GARCH(1,1)项和AR(1)项均为显著(所有的 t t t值均大于2),因此模型为 { r t = 0.073 + 0.138 r t − 1 + ε t σ t 2 = 0.022 + 0.873 σ t − 1 2 + 0.119 ε t − 1 2 \begin{cases} r_t=0.073+0.138r_{t-1}+\varepsilon_t\\ \sigma_t^2=0.022+0.873\sigma_{t-1}^2+0.119\varepsilon_{t-1}^2 \end{cases} {rt​=0.073+0.138rt−1​+εt​σt2​=0.022+0.873σt−12​+0.119εt−12​​

    infer conditional variances and residuals

    %% 模型推断 [res, v, logL]=infer(EstMdl, r); figure; subplot(2, 1, 1); plot(v); xlim([0, T]); title('Conditional Variance'); % 条件方差 subplot(2, 1, 2); plot(res./sqrt(v)); xlim([0, T]); title('Standardized Residuals'); % 标准化残差

    可以发现从2000个样本点之后,条件方差(conditional variance)开始增加,标准化残差(standardized residuals)中很多值都超过了2或者3,表示残差序列具有较厚的尾部,因此使用 t t t分布描述 ε t \varepsilon_t εt​项更合适.

    %% t分布拟合模型 MdlT = Mdl; MdlT.Distribution='t'; % 设置使用t分布拟合 % 设置模型常数项的起始值 Variance0 = {'Constant0', 0.001}; EstMdl = estimate(MdlT, r, 'Variance0', Variance0);

    可以发现t分布给出的自由度(DoF)为8,即和正态分布有着明显地偏离.

    Compare Model Fits

    %% 模型对比(Gaussian & stu. T) summ = summarize(EstMdl); summT = summarize(EstMdlT); % 模型需要估计的参数数量 numparams = summ.NumEstimatedParameters; numparamsT = summT.NumEstimatedParameters; logT = summT.LogLikelihood; % 信息准则判定模型 [aic, bic]=aicbic([logL, logT], [numparams, numparamsT], T)

    对比发现 t t t拟合下的aic和bic更小,所以使用 t t t分布拟合更加合理

    参考资料

    金融数据分析导论 基于R语言 TSay Estimate Conditional Mean and Variance Model


    on bayesian modeling of fat tails and skewness ↩︎

    Modelling financial time series using GARCH-type models ↩︎

    Processed: 0.010, SQL: 9