资源描述:
《copula理论及matlab应用实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、%--------------------------------------------------------------------------%Copula理论及其在matlab中的实现程序应用实例%--------------------------------------------------------------------------%******************************读取数据*************************************%从文件
2、hushi.xls中读取数据hushi=xlsread('hushi.xls');%提取矩阵hushi的第5列数据,即沪市的日收益率数据X=hushi(:,5);%从文件shenshi.xls中读取数据shenshi=xlsread('shenshi.xls');%提取矩阵shenshi的第5列数据,即深市的日收益率数据Y=shenshi(:,5);%****************************绘制频率直方图*********************************%调用ecdf函数
3、和ecdfhist函数绘制沪、深两市日收益率的频率直方图[fx,xc]=ecdf(X);figure;ecdfhist(fx,xc,30);xlabel('沪市日收益率');%为X轴加标签ylabel('f(x)');%为Y轴加标签[fy,yc]=ecdf(Y);figure;ecdfhist(fy,yc,30);xlabel('深市日收益率');%为X轴加标签ylabel('f(y)');%为Y轴加标签%****************************计算偏度和峰度**************
4、*******************%计算X和Y的偏度xs=skewness(X)ys=skewness(Y)%计算X和Y的峰度kx=kurtosis(X)ky=kurtosis(Y)%******************************正态性检验***********************************%分别调用jbtest、kstest和lillietest函数对X进行正态性检验[h,p]=jbtest(X)%Jarque-Bera检验[h,p]=kstest(X,[X,nor
5、mcdf(X,mean(X),std(X))])%Kolmogorov-Smirnov检验[h,p]=lillietest(X)%Lilliefors检验%分别调用jbtest、kstest和lillietest函数对Y进行正态性检验[h,p]=jbtest(Y)%Jarque-Bera检验[h,p]=kstest(Y,[Y,normcdf(Y,mean(Y),std(Y))])%Kolmogorov-Smirnov检验[h,p]=lillietest(Y)%Lilliefors检验%*********
6、*******************求经验分布函数值*******************************%调用ecdf函数求X和Y的经验分布函数[fx,Xsort]=ecdf(X);[fy,Ysort]=ecdf(Y);%调用spline函数,利用样条插值法求原始样本点处的经验分布函数值U1=spline(Xsort(2:end),fx(2:end),X);V1=spline(Ysort(2:end),fy(2:end),Y);%调用ecdf函数求X和Y的经验分布函数[fx,Xsort]=e
7、cdf(X);[fy,Ysort]=ecdf(Y);%提取fx和fy的第2个至最后一个元素,即排序后样本点处的经验分布函数值fx=fx(2:end);fy=fy(2:end);%通过排序和反排序恢复原始样本点处的经验分布函数值U1和V1[Xsort,id]=sort(X);[idsort,id]=sort(id);U1=fx(id);[Ysort,id]=sort(Y);[idsort,id]=sort(id);V1=fy(id);%*******************************核分布估
8、计**********************************%调用ksdensity函数分别计算原始样本X和Y处的核分布估计值U2=ksdensity(X,X,'function','cdf');V2=ksdensity(Y,Y,'function','cdf');%**********************绘制经验分布函数图和核分布估计图**********************[Xsort,id]=sort(X);%为了作