导航
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+α1at−12+⋯+αmat−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∏T2πσt21exp(−2σt2at2)×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[21ln(σt2)+21σt2at2]
其中,
σ
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+⋯+αmat−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−2xv
则
ε
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)σt1(1+(v−2)σt2at2)−(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+1ln(1+(v−2)σt2at2)+21ln(σ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)=⎩⎨⎧ξ+ξ12ϱf[ξ(ϱεt+ωˉ)∣v]εt<−ωˉ/ϱξ+ξ12ϱ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+ϕ1rt−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