当前位置:网站首页 > 全部文章 > 正文

翻云覆雨逐艳曲代码 方差分解——matlab-金融计量学家

发布时间: 2017-07-19 浏览: 350
代码 方差分解——matlab-金融计量学家
封面图片源自网络:
接着前面两期分析,今天介绍期限结构和收益率的方差分解代码:



function var_plot= var_term( Phi_DRAW拔冗出席,OMIGA_ff_DRAW画客网 ,HH)
%%%% HH means the step length for forecast %%%%%%%%%%
%%%%%% get the forecast variance decomposition %%%%%%%
%%% SIGMA_u=P*P'%%%%
%%% OMIG=inv(P)*U %%%%
%%% Y=MU+SUM_(THITA_i*OMIG_i) %%%%%%%%%%
A_1=Phi_DRAW';
SIGMA_u=OMIGA_ff_DRAW;%%% the convriance matrix for error term %%%
L=HH;
%%% FOR THE VAR(1) process the MA representation :
%%% Y=MU+SUM_(PHI_i*U_i) %%%%%%%%%%
PHI = zeros(6柯棣华 ,6,L);
PHI(:,:,1)=A_1;
for i=2:L
PHI(:藤井美菜 ,:,i)=PHI(:,:,i-1)*A_1;
end
P= cholcov(SIGMA_u); %%上三角,要变成下三角
P=P';
H=HH; %%% SET the step forcest %%%
MSEJ= zeros(6,6唐子义 ,6);
for i=1:6
MSEJ(:翻云覆雨逐艳曲 ,:,i)=P(:,i)*P(:,i)';
end
sum_mse = zeros(6末日食金者 ,6);
for i=1:6
for j=1:H-1
MSEJ(:,:,i)=MSEJ(:,:神偷艳贼,i)+PHI(:,:,j)*P(:,i)*P(:,i)'* PHI(:,:,j)';
end
MSE_single(:,i)=diag(MSEJ(:,:奥洛沃坎迪 ,i)); %% 每一个变量对提前H期的MSE的贡献
end %%是对角线上的元素
sum_mse = sum(MSE_single艋舺怎么读,2);
var_de=zeros(6,6);
for i = 1:6
var_de(:,i)=MSE_single(:,i)./ sum_mse ;
end
var_plot = var_de(1:3,4:6);
disp(['the ' num2str(H) 'step' ' ' 'Horizon']);
一下内容可忽略:
function var_plot= var_term( Phi_DRAW,OMIGA_ff_DRAW,HH)
%%%% HH means the step length for forecast %%%%%%%%%%
%%%%%% get the forecast variance decomposition %%%%%%%
%%% SIGMA_u=P*P'%%%%
%%% OMIG=inv(P)*U %%%%
%%% Y=MU+SUM_(THITA_i*OMIG_i) %%%%%%%%%%
A_1=Phi_DRAW';
SIGMA_u=OMIGA_ff_DRAW;%%% the convriance matrix for error term %%%
L=HH;
%%% FOR THE VAR(1) process the MA representation :
%%% Y=MU+SUM_(PHI_i*U_i) %%%%%%%%%%
PHI = zeros(6,6,L);
PHI(:,:,1)=A_1;
for i=2:L
PHI(:,:ca969,i)=PHI(:,:,i-1)*A_1;
end
P= cholcov(SIGMA_u); %%上三角,要变成下三角
P=P';
H=HH; %%% SET the step forcest %%%
MSEJ= zeros(6,6,6);
for i=1:6
MSEJ(:,:,i)=P(:,i)*P(:,i)';
end
sum_mse = zeros(6,6);
for i=1:6
for j=1:H-1
MSEJ(:,:,i)=MSEJ(:,:碧岭生态村,魏哲鸣 i)+PHI(:,:,j)*P(:屈服心裳 ,i)*P(:,i)'* PHI(:,:,j)';
end
MSE_single(:此情可念 ,i)=diag(MSEJ(:,:,i)); %% 每一个变量对提前H期的MSE的贡献
end %%是对角线上的元素
sum_mse = sum(MSE_single,2);
var_de=zeros(6,6);
for i = 1:6
var_de(:,i)=MSE_single(:,i)./ sum_mse ;
end
var_plot = var_de(1:3,4:6);
disp(['the ' num2str(H) 'step' ' ' 'Horizon']);
TAGS: