{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# GARCH模型" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 原理讲解\n", "### GARCH 模型\n", "在 ARCH ( $p$ )模型中,如果 $p$ 很大,则要估计很多参数,会损失样本容量。Bollerslev(1986)提出 GARCH,使得待估计参数减少,而对未来条件方差的预测更加准确。其基本思想是,在 ARCH 模型的基础上,再加上 $\\sigma_{t}^{2}$ 的自同归部分, 即 $\\sigma_{t}^{2}$ 还是 $\\left\\{\\boldsymbol{\\sigma}_{t-1}^{2}, \\cdots, \\sigma_{t-p}^{2}\\right\\}$ 的函数。 GARCH $(p,$ $q$ ) 的模型设定为:\n", "\n", "$$\\sigma_{t}^{2}=\\alpha_{0}+\\alpha_{1} \\varepsilon_{t-1}^{2}+\\cdots+\\alpha_{q} \\varepsilon_{t-q}^{2}+\\gamma_{1} \\sigma_{t-1}^{2}+\\cdots+\\gamma_{p} \\sigma_{t-p}^{2}\\tag{1}$$\n", "\n", "其中,p 为 $\\sigma_{t}^{2}$ 的自回归阶数,而 $q$ 为 $\\varepsilon_{t}^{2}$ 的滞后阶数。称 $\\varepsilon_{t-i}^{2}$ 为“ARCH 项”,而称 $\\sigma_{t-i}^{2}$ 为“GARCH 项”。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 何时使用 ARCH 或 GARCH 模型\n", "* 首先,用 OLS 估计原方程“ $y_{t}=x_{t}^\\prime \\boldsymbol{\\beta}+\\varepsilon_{t}$,得到残差序列 $\\left\\{e_{t}\\right\\}_{\\circ}$ 其次,用 $0 \\mathrm{LS}$ 估计辅助同归 $, e_{t}^{2}=\\alpha_{0}+\\alpha_{1} e_{t-1}^{2}+\\cdots+\\alpha_{p} e_{t-p}^{2}+e r r o r_{t},$ 并检验原假设“ $H_{0}: \\alpha_{1}=\\alpha_{2}=\\cdots=\\alpha_{p}=0 \"($ 不存在条件异方差 )。Engle(1982)提出进行 LM 检验,其检验统计量为 $T R^{2} \\stackrel{d}{\\longrightarrow} \\chi^{2}(p)$,其中 $T$ 为样本 容量, $R^{2}$ 为上述辅助同归的可决系数。如果拒绝 $H_{0},$ 则认为应使用 ARCH 或 GARCH 模型。\n", "\n", "* 可以对残差平方序列 $\\left|e_{t}^{2}\\right|$ 进行 $Q$ 检验, $,$ 检验其序列相关性。如果 $\\left\\{e_{t}^{2}\\right\\}$ 存在自相关,则认为 $\\varepsilon_{t}$ 存在条件异方差。\n", "\n", "* 最为直接的方法是,在估计 ARCH 或 GARCH 模型之后,看条件方差方程中的系数 (即所有 $\\alpha$ 与 $\\gamma$ ) 是否显著。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ARCH 与 GARCH 模型的扩展\n", "* ARCH-M:金融理论认为,金融资产的风险越高,其期望收益率也应该越高,这样才会有人愿意持有它。超出正常期望收益率的部分,称为\"风险溢价\"(riskpremium)。但在标准的 ARCH 模型中,变量的均值与条件方差却没有关系。Engle,Lilien and Robins (1987)提出了如下\"ARCH - in - Mean 模型\"(简记 ARCH - M)。\n", "\n", "* TARCH:\"坏消息\"对资产价格波动性的影响可能大于好消息的影响。Glosten,Jagannathanand Runkle ( 1993)提出了非对称( asymmetric)的\"门限 GARCH\"模型( Threshold GARCH,简记 TARCH)。\n", "\n", "* EGARCH:在标准的 GARCH 模型中,对参数的取值有所限制,给 MLE 估计带来不便。为此,使用对数形式的条件方差方程\n", "\n", "* 带 ARMA 的 GARCH\n", "\n", "* 在条件方差方程中引入解释变量\n", "\n", "* 使用非正态扰动项" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## KS 检验与QQ 图原理讲解\n", "### KS 检验\n", "Kolmogorov-Smirnov 检验是基于累计分布函数的,用于检验一个分布是否符合某种理论分布或比较两个经验分布是否有显著差异。\n", "\n", "单样本 K-S 检验是用来检验一个数据的观测经验分布是否符合已知的理论分布。\n", "\n", "两样本 K-S 检验由于对两样本的经验分布函数的位置和形状参数的差异都敏感,所以成为比较两样本的最有用且最常用的非参数方法之一。\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### QQ 图原理\n", "任何分布都能化为 [0, 1] 均匀分布\n", "\n", "假设 $F_{X}(a)=p(x \\leq a)$ 为累积分布函数,$f(x)$ 为概率密度函数, $F_{X}(a)=\\int_{-\\infty}^{a} f(x) d x,$ 则存在如下等式:\n", "\n", "$$P\\left(F_{X}(X) \\leq a\\right)=P\\left(X \\leq F_{X}^{-1}(a)\\right)=F_{X}\\left(F_{X}^{-1}(a)\\right)=a\\tag{2}$$\n", "\n", "则累积分布函数 $Y=F_{X}(X)$ 服从 [0, 1] 间的均匀分布。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## arch 模块实现" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import datetime as dt\n", "\n", "import arch.data.sp500\n", "\n", "st = dt.datetime(1988, 1, 1)\n", "en = dt.datetime(2018, 1, 1)\n", "data = arch.data.sp500.load()\n", "market = data['Adj Close']\n", "returns = 100 * market.pct_change().dropna()\n", "ax = returns.plot()\n", "xlim = ax.set_xlim(returns.index.min(), returns.index.max())" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteration: 1, Func. Count: 6, Neg. LLF: 6955.831420300672\n", "Iteration: 2, Func. Count: 16, Neg. LLF: 6951.317990771391\n", "Iteration: 3, Func. Count: 24, Neg. LLF: 6947.0646164023\n", "Iteration: 4, Func. Count: 32, Neg. LLF: 6946.364741603253\n", "Iteration: 5, Func. Count: 39, Neg. LLF: 6942.159596737265\n", "Iteration: 6, Func. Count: 46, Neg. LLF: 6939.773381475562\n", "Iteration: 7, Func. Count: 53, Neg. LLF: 6938.412846197003\n", "Iteration: 8, Func. Count: 60, Neg. LLF: 6936.760037838338\n", "Iteration: 9, Func. Count: 66, Neg. LLF: 6936.742006327482\n", "Iteration: 10, Func. Count: 72, Neg. LLF: 6936.718529994181\n", "Iteration: 11, Func. Count: 78, Neg. LLF: 6936.7184774904035\n", "Optimization terminated successfully. (Exit mode 0)\n", " Current function value: 6936.718476989043\n", " Iterations: 11\n", " Function evaluations: 79\n", " Gradient evaluations: 11\n" ] }, { "data": { "text/html": [ "<table class=\"simpletable\">\n", "<caption>Constant Mean - GARCH Model Results</caption>\n", "<tr>\n", " <th>Dep. Variable:</th> <td>Adj Close</td> <th> R-squared: </th> <td> -0.001</td> \n", "</tr>\n", "<tr>\n", " <th>Mean Model:</th> <td>Constant Mean</td> <th> Adj. R-squared: </th> <td> -0.001</td> \n", "</tr>\n", "<tr>\n", " <th>Vol Model:</th> <td>GARCH</td> <th> Log-Likelihood: </th> <td> -6936.72</td>\n", "</tr>\n", "<tr>\n", " <th>Distribution:</th> <td>Normal</td> <th> AIC: </th> <td> 13881.4</td>\n", "</tr>\n", "<tr>\n", " <th>Method:</th> <td>Maximum Likelihood</td> <th> BIC: </th> <td> 13907.5</td>\n", "</tr>\n", "<tr>\n", " <th></th> <td></td> <th> No. Observations: </th> <td>5030</td> \n", "</tr>\n", "<tr>\n", " <th>Date:</th> <td>Thu, Jun 04 2020</td> <th> Df Residuals: </th> <td>5026</td> \n", "</tr>\n", "<tr>\n", " <th>Time:</th> <td>09:09:56</td> <th> Df Model: </th> <td>4</td> \n", "</tr>\n", "</table>\n", "<table class=\"simpletable\">\n", "<caption>Mean Model</caption>\n", "<tr>\n", " <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>95.0% Conf. Int.</th> \n", "</tr>\n", "<tr>\n", " <th>mu</th> <td> 0.0564</td> <td>1.149e-02</td> <td> 4.906</td> <td>9.302e-07</td> <td>[3.384e-02,7.887e-02]</td>\n", "</tr>\n", "</table>\n", "<table class=\"simpletable\">\n", "<caption>Volatility Model</caption>\n", "<tr>\n", " <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>95.0% Conf. Int.</th> \n", "</tr>\n", "<tr>\n", " <th>omega</th> <td> 0.0175</td> <td>4.683e-03</td> <td> 3.738</td> <td>1.854e-04</td> <td>[8.328e-03,2.669e-02]</td>\n", "</tr>\n", "<tr>\n", " <th>alpha[1]</th> <td> 0.1022</td> <td>1.301e-02</td> <td> 7.852</td> <td>4.105e-15</td> <td>[7.665e-02, 0.128]</td> \n", "</tr>\n", "<tr>\n", " <th>beta[1]</th> <td> 0.8852</td> <td>1.380e-02</td> <td> 64.125</td> <td>0.000</td> <td>[ 0.858, 0.912]</td> \n", "</tr>\n", "</table><br/><br/>Covariance estimator: robust" ], "text/plain": [ "<class 'statsmodels.iolib.summary.Summary'>\n", "\"\"\"\n", " Constant Mean - GARCH Model Results \n", "==============================================================================\n", "Dep. Variable: Adj Close R-squared: -0.001\n", "Mean Model: Constant Mean Adj. R-squared: -0.001\n", "Vol Model: GARCH Log-Likelihood: -6936.72\n", "Distribution: Normal AIC: 13881.4\n", "Method: Maximum Likelihood BIC: 13907.5\n", " No. Observations: 5030\n", "Date: Thu, Jun 04 2020 Df Residuals: 5026\n", "Time: 09:09:56 Df Model: 4\n", " Mean Model \n", "============================================================================\n", " coef std err t P>|t| 95.0% Conf. Int.\n", "----------------------------------------------------------------------------\n", "mu 0.0564 1.149e-02 4.906 9.302e-07 [3.384e-02,7.887e-02]\n", " Volatility Model \n", "============================================================================\n", " coef std err t P>|t| 95.0% Conf. Int.\n", "----------------------------------------------------------------------------\n", "omega 0.0175 4.683e-03 3.738 1.854e-04 [8.328e-03,2.669e-02]\n", "alpha[1] 0.1022 1.301e-02 7.852 4.105e-15 [7.665e-02, 0.128]\n", "beta[1] 0.8852 1.380e-02 64.125 0.000 [ 0.858, 0.912]\n", "============================================================================\n", "\n", "Covariance estimator: robust\n", "\"\"\"" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from arch import arch_model\n", "\n", "model_arch = arch_model(y=returns, mean='Constant', lags=0, vol='GARCH',p=1,\n", " o=0, q=1, dist='normal') # 构建 GARCH(1,1)模型\n", "res = model_arch.fit()\n", "res.summary()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pic = res.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## matlab 实现\n", "牛津大学教授代码:https://pan.baidu.com/s/1N_J_cYhRq-b_jfPaO_qL2g#list/path=%2F\n", "\n", "GARCH 估计与残差分布检验\n", "```matlab\n", "% 1.导入数据\n", "data = xlsread('C:\\Users\\Administrator\\Desktop\\各市场收益率');\n", "rst = data(:,2); %WTI市场现货原始收益率\n", "mldate = x2mdate(data(:,1)); % 导入日期\n", "\n", "% 2.处理汇率收益率序列\n", "epsilon=rst-mean(rst); %现货原始收益率残差\n", "T=length(epsilon);\n", "\n", "% 3.构建GARCH(1,1)模型\n", "options=optimset('fminunc');\n", " \n", "options=optimset(options,'TolFun',1e-005); \n", " \n", "options=optimset(options,'TolX',1e-005); \n", " \n", "options=optimset(options,'Display','off'); \n", " \n", "options=optimset(options,'Diagnostics','off'); \n", " \n", "options=optimset(options,'LargeScale','off');\n", " \n", "options=optimset(options,'MaxFunEvals',2000);\n", " \n", "[garch11p,garch11LL,garch11ht,garch11vcvrobust]=tarch(epsilon,1,0,1,'SKEWT',[],[],options);\n", "[garch11text,garch11AIC,garch11BIC]=tarch_display(garch11p,garch11LL,garch11vcvrobust,epsilon,1,2,1);\n", "\n", "% 4.检验残差分布选择是否合理(可以利用AIC值、QQ图、KS检验、标准残差做ARCH检验)\n", "% 4.1 KS检验\n", "ehat = epsilon./sqrt(garch11ht); %标准残差\n", "u = skewtcdf(ehat,garch11p(4,1),garch11p(5,1)); %概率积分变换\n", "v = unifrnd(0,1,T,1);\n", "[H, pValue, KSstatistic] = kstest2(u,v);\n", "\n", "% 4.2 QQ图\n", "fig=figure;\n", "set(fig,'Position',[100 100 550 500],'Color',[1 1 1])\n", "y = unifinv((1:T)'/(T+1),0,1);\n", "LB = 0;\n", "UB=1;\n", "h=plot([LB UB],[LB UB],sort(u),y);\n", "set(h(1),'LineStyle','--','Color',[1 0 0],'LineWidth',1)\n", "set(h(2),'LineStyle','none','Marker','o','MarkerSize',1,'Color',[0 0 1])\n", "axis tight\n", "set(gca,'FontSize',16)\n", "a = 'WTI';\n", "title(['' a '原油现货收益率Q-Q图'],'FontSize',16)\n", "xlabel('U(0,1)')\n", "ylabel('残差概率值');\n", "\n", "% 4.3 标准残差做ARCH检验,p值高说明无法拒绝原假设(不存在条件异方差)\n", "[h,p,stat,cValue] = archtest(ehat,'lags',10);\n", "if p<=0.01\n", " arch{1,1} = ['' num2str(stat,'%3.3f') '***'];\n", " elseif p<=0.05\n", " arch{1,1} = ['' num2str(stat,'%3.3f') '**'];\n", " elseif p<=0.1\n", " arch{1,1} = ['' num2str(stat,'%3.3f') '*'];\n", " else arch{1,1} = ['' num2str(stat,'%3.3f') ''];\n", "end\n", "```" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }