MATLAB中copula函数的程序,Copula理论MATLAB应用实例.doc

Copula理论MATLAB应用实例.doc

%--------------------------------------------------------------------------

% Copula理论及其在matlab中的实现程序应用实例

%--------------------------------------------------------------------------

%******************************读取数据*************************************

% 从文件hushi.xls中读取数据

hushi = xlsread('hushi.xls');

% 提取矩阵hushi的第5列数据,即沪市的日收益率数据

X = hushi(:,5);

% 从文件shenshi.xls中读取数据

shenshi = xlsread('shenshi.xls');

% 提取矩阵shenshi的第5列数据,即深市的日收益率数据

Y = shenshi(:,5);

%****************************绘制频率直方图*********************************

% 调用ecdf函数和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轴加标签

%****************************计算偏度和峰度*********************************

% 计算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,normcdf(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检验

%****************************求经验分布函数值*******************************

% 调用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] = ecdf(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);

%*****************************

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值