金融计算与编程上海财经大学金融学院曹志广1风险价值风险价值风险价值风险价值((((VaR))))和和和和条件风险价值条件风险价值条件风险价值条件风险价值((((CVaR))))VaR和和和和CVaR的定义的定义的定义的定义VaR是一定置信水平α下(比如:99%),投资组合面临的最大损失,具体地,我们用收益率分布的1α−百分位数来定义VaR:1()(1)rVaRFαα−=−−其中:()rFi为组合收益率的累积分布函数上面的定义是从收益分布的左尾定义VaR。有时候,我们需要从收益分布的右尾定义VaR:1()()rVaRFαα−=由于VaR不具有次可加性,即组合的VaR可能超过组合中各资产的加权平均VaR,因此,具有次可加性特点的CVaR常常被用来衡量组合的风险。CVaR衡量了一定置信水平α下发生损失超过VaR时的平均损失。具体地,其定义如下:()()()()()1VaRVaRrrrzfzdzzfzdzCVaRErrVaRFVaRαα−−−∞−∞=−≤−=−=−−−∫∫同样可以从右尾角度来定义CVaR:()()1rVaRzfzdzCVaRαα∞=−∫其中:()rfi为组合收益率的概率密度函数基于基于基于基于Cornish-Fisher展开式的展开式的展开式的展开式的VaR和和和和CVaRCornish-Fisher展开式将标准化之后的组合收益*r(*()/pprrμσ=−)的百分位数α近似表示为2332111()()1()3()[3]()5()62436pppqccscckccsαααααα=+−+−−−−其中:pμ为组合收益的均值,pσ为组合收益的标准差,()cα为标准正态分布α百分位数,ps为组合收益的偏度,pk为组合收益的峰度因此,组合收益r的百分位数α近似为:ppqμσ+,即(1)[]ppVaRqαμσ−=−+组合的CVaR为:12231311(1)((1)611(3)(3)(25))2436ppppCVaRMMsMMkMMsασ−=−+−+−−−−金融计算与编程上海财经大学金融学院曹志广2其中:()1()ciiMxfxdxαα−∞=∫,1,2,3i=;f(.)为标准正态分布的概率密度函数基于正态分布的基于正态分布的基于正态分布的基于正态分布的VaR和和和和CVaR(1)[()]ppVaRcαμσα−=−+(1)[(())]ppCVaRfcσαμαα−=−−基于基于基于基于历史模拟历史模拟历史模拟历史模拟的的的的VaR和和和和CVaR用组合收益率的历史观测值的经验分布来计算VaR和CVaR下面给出基于历史模拟、正态分布和Cornish-Fisher展开式计算VaR和CVaR的Matlab函数。function[VaR,CVaR]=var_cvar(r,alpha,method)n=length(r);mu=mean(r);sigma=std(r);switchmethodcase'hs'VaR=-prctile(r,alpha*100);CVaR=-(mean(r(r=-VaR)));case'norm'q_alpha=norminv(alpha,mu,sigma);VaR=-(q_alpha);CVaR=-(mu-sigma*normpdf((q_alpha-mu)/sigma,0,1)/alpha);case'cf'nr=(r-mu)/sigma;s=skewness(nr);k=kurtosis(nr)-3;q=norminv(alpha);VaR=-(mu+sigma*(q+1/6*(q^2-1)*s+1/24*(q^3-3*q)*k-1/36*(2*q^3-5*q)*s^2));symsxm1=double(int(x*1/sqrt(2*pi)*exp(-x^2/2),-inf,q))/alpha;m2=double(int(x^2*1/sqrt(2*pi)*exp(-x^2/2),-inf,q))/alpha;m3=double(int(x^3*1/sqrt(2*pi)*exp(-x^2/2),-inf,q))/alpha;CVaR=-(mu+sigma*(m1+1/6*(m2-1)*s+1/24*(m3-3*m1)*k-1/36*(2*m3-5*m1)*s^2));end下面以1997-1-2到2008-2-13期间上证综合指数的日收益为例,计算其99%VaR和CVaR。数据如下表所示,第一列为日期,第二列为上证综合指数的收盘价。文件名为'shindex.xls'。金融计算与编程上海财经大学金融学院曹志广3clearx=xlsread('shindex');x(:,1)=x2mdate(x(:,1));x(1:1526,:)=[];p=x(:,2);date=x(:,1);r=price2ret(p);M=1000;alpha=0.01;ndate=date(2+M:end);method='hs';fori=1:length(r)-Ma=r(i:i+M);[VaR1(i),CVaR1(i)]=var_cvar(a,alpha,method);endmethod='norm';fori=1:length(r)-Ma=r(i:i+M);[VaR2(i),CVaR2(i)]=var_cvar(a,alpha,method);endmethod='cf';fori=1:length(r)-Ma=r(i:i+M);[VaR3(i),CVaR3(i)]=var_cvar(a,alpha,method);endh=figure(1);金融计算与编程上海财经大学金融学院曹志广4set(h,'color','w')plot(ndate,VaR1','r-*')holdonplot(ndate,VaR2','b-*')plot(ndate,VaR3','m-*')datetick('x',23)legend('99%VaR-HS','99%VaR-NORM','99%VaR-CF',2)h=figure(2);set(h,'color','w')plot(ndate,CVaR1','r-*')holdonplot(ndate,CVaR2','b-*')plot(ndate,CVaR3','m-*')datetick('x',23)legend('99%CVaR-HS','99%CVaR-NORM','99%CVaR-CF',2)金融计算与编程上海财经大学金融学院曹志广5极值理论与风险价值极值理论与风险价值极值理论与风险价值极值理论与风险价值((((VaR))))和条件和条件和条件和条件风险价值风险价值风险价值风险价值((((CVaR))))极值理论极值理论极值理论极值理论考虑随机变量X,其概率密度函数和累积分布函数分别为()fx和()Fx,12,,...,nXXX为其独立同分布的随机变量序列定义max,12max(,,...,)nnXXXX=min,12min(,,...,)nnXXXX=则称max,nX和min,nX为序列12,,...,nXXX的极值,显然我们有min,12max(,,...,)nnXXXX=−−−−因此,以下讨论中极值单指max,nX则:max,nX的分布函数为:[()]nFx,概率密度函数为1[()]()nnFxfx−min,nX的分布函数为:1[1()]nFx−−,概率密度函数为1[1()]()nnFxfx−−如果随机变量X的分布未知,则可以用max,nX的渐进分布,广义极值(GEV)分布来近似表示max,nX的分布(Jenkinson,1955)。具体地,max,maxmax,()dnnXHX→其中:max()Hi为广义极值分布函数,max,1/max,max,maxmax,max,max,max,max,max,(;,,)exp{[1()]}nnnnnnnnnXHXξμξμσξσ−−=−+其中:max,max,max,max,1(()/)0nnnnXξμσ+−≥相应地其概率密度函数max,max,max,(1)/max,max,maxmax,max,max,max,max,max,max,1/max,max,max,max,1(;,,)[1()]exp{[1()]}nnnnnnnnnnnnnnnnXhXXξξξμξμσξσσμξσ−+−−=+−×−+max,nX的渐进分布还可以用广义帕累托分布(GPD)max()Gx来表示(Pickands,1975)maxmax()1ln(())GxHx=+金融计算与编程上海财经大学金融学院曹志广6即max,1/max,max,maxmax,max,max,max,max,max,(;,,)1[1()]nnnnnnnnnXGXξμξμσξσ−−=−+相应地,其概率密度函数为:max,max,(1)/max,max,maxmax,max,max,max,max,max,max,1(;,,)[1()]nnnnnnnnnnnXgXξξμξμσξσσ−+−=+渐进分布的参数渐进分布的参数渐进分布的参数渐进分布的参数估计方法估计方法估计方法估计方法(1)非线性回归方法Gumbel(1958)提出了使用非线性回归方法估计广义极值分布和广义帕累托分布中的参数max,max,max,(,,)nnnξμσ。已知max,nX的N个观测值:12maxmaxmax,,...,NXXX,其顺序统计量序列为12maxmaxmax,,...,NXXX,且满足12maxmaxmax...NXXX≤≤≤,显然max,1,2,...,rXrN=为随机变量,其概率密度函数为:1(1)(;,)(,1)rNrxxfxNrBrNr−−−=−+,01x≤≤其中:()Bi为贝塔函数。相应地,maxrX的均值为10(1)(,1)1rNrxxrdxBrNrN−−=−++∫同样,maxmax()rHX也为[0,1]区间上的随机变量,其均值为:max,1/maxmax,maxmaxmax,max,[()][exp{[1()]}]nrnrnnXEHXEξμξσ−−=−+令max,1/maxmax,max,max,[exp{[1()]}]1nrnnnXrENξμξσ−−−+=+,1,2,...,rN=则我们可以建立以下回归方程估计广义极值分布的参数max,max,max,(,,)nnnξμσmaxmax,max,max,max,1ln(1())rnnnnXyμξεξσ−=−++其中:ln(ln())1ryN=−+。给定观测值max(ln(ln()),)1rrXN−+,1,2,...,rN=,广义极值分布中的参数估计可以通过最小化回归方程中残差平方和得到。金融计算与编程上海财经大学金融学院曹志广7类似地,令max,1/maxmax,maxmaxmax,max,(())(1[1()])1nrnrnnXrEGXENξμξσ−−=−+=+,1,2,...,rN=则我们可以建立以下回归方程估计广义帕累托分布中的参数max,max,max,(,,)nnnξμσmaxmax,max,max,max,1ln(1())rnnnnXyμξεξσ−=−++其中:ln(1)1ryN=−+。给定观测值max(ln(1),)1rrXN−+,1,2,...,rN=,广义帕累托分布中的参数估计可以通过最小化回归方程中残差平方和得到。(2)极大似然估计方法给定max,nX的N个观测值:12maxmaxmax,,...,NXXX,如果max,nX服从广义极值分布,则相应其对数似然函数为:max,max,maxmax,max,max,1max,max,1/maxmax,max,1max,1ln()ln[1()][1()]niNnnHnninniNnninXLnLNNXξξμσξξσμξσ=−=+−=−−+−−+∑∑最大化上面似然函数得到广义极值分布的参数估计。类似地,如果服从广义帕累托分布,则相应其对数似然函数为:max,maxmax,max,max,1max,ma