⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qihuo.m

📁 对金融数据(股票
💻 M
📖 第 1 页 / 共 5 页
字号:
nih=B_DSHY2'*[db_zhsh',obv1_gp']';
       nihez_DSHY2(1)=gp(2,1);
       for i=2:gp_length 
         nihez_DSHY2(i)=exp(nih(i)+log(gp(2,i-1)));
       end
        R_DSHY2=nihez_DSHY2-gp(2,:);
%-------计算D。W值
S=0; S1=R_DSHY2(1)^2;
for i=2:gp_length
    S=S+R_DSHY2(i)*R_DSHY2(i-1);
    S1=S1+R_DSHY2(i)^2;
end
STATS_DSHY2(4)=2*(1-S/S1);
%-------计算对数似然值
sigma2=std(R_DSHY2);
L=-(gp_length)*(1+log(2*pi)+log(R_DSHY2*R_DSHY2'/gp_length))/2;
STATS_DSHY2(5)=L;
%-------计算AIC值
STATS_DSHY2(6)=2*(-L+2)/gp_length;
%-------计算SC值
STATS_DSHY2(7)=2*(-L+2*log(gp_length))/gp_length;
%------------计算相对误差
xr_DSHY2=100*R_DSHY2'./gp(2,:)';
xr_min=min(xr_DSHY2);%最小值
xr_max=max(xr_DSHY2);%最大值

STATS_DSHY2(8)=xr_min;
STATS_DSHY2(9)=xr_max;
nu=mean(gp(2,:));
STATS_DSHY2(10)=dot(gp(2,:)-nihez_DSHY2,gp(2,:)-nihez_DSHY2)/dot(gp(2,:)-nu,gp(2,:)-nu);
 switch states(3)
    case 0
        msgbox(' 请选择数据查看方式')
    case 1
       
       figure
   plot(gp(2,:),'-+');
hold on
plot(nihez_DSHY2,'r.');
legend('股价真实值','拟合股价');

txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY2(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY2(2)),'(Vp(t)*hp(t))'];
txt1=['训练样本开始时间:',num2str(zhsh(1,ll+1)),';结束时间:',num2str(zhsh(1,d+ll)),'。共',num2str(d),'天数据'];
txt2=['样本决定系数(R^2):',num2str(STATS_DSHY2(1)),';AIC值:',num2str(STATS_DSHY2(4)) ,';股票和指数相关系数:',num2str(cor(1,2))];
 g_max=max(ylim);
 g_min=min(ylim);
text(10,g_min+(g_max-g_min)*0.975,txt1);
text(10,g_min+(g_max-g_min)*0.925,txt2);
 disp('考虑单支成交量的对数收益率指数模型为:'); disp(txt);
hold on 
plot(ll+d,gp(2,ll+d),'ko','Markersize',20)
plot(ll,gp(2,ll),'ko','Markersize',20)
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
figure
plot(xr_DSHY2);
legend('相对误差','相对误差=100*(拟合值-真实值)/真实值');
txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY2(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY2(2)),'(Vp(t)*hp(t))'];
hold on 
plot(ll+d,xr_DSHY2(ll+d),'k.','Markersize',20)
plot(ll,xr_DSHY2(ll),'k.','Markersize',20)
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
figure
normplot(R_DSHY2);
legend('误差对于正态分布的Q-Q图');
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);

    case 2
          gp1=gp(:,ll:end);
          nihez1_DSHY2=nihez_DSHY2(ll:end);
          xr1_DSHY2=xr_DSHY2(ll:end);
          figure
   plot(gp1(2,:),'-+');
hold on
plot(nihez1_DSHY2,'r.');
legend('股价真实值','拟合股价');

txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY2(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY2(2)),'(Vp(t)*hp(t))'];
txt1=['训练样本开始时间:',num2str(zhsh(1,ll+1)),';结束时间:',num2str(zhsh(1,d+ll)),'。共',num2str(d),'天数据'];
txt2=['样本决定系数(R^2):',num2str(STATS_DSHY2(1)),';AIC值:',num2str(STATS_DSHY2(4)) ,';股票和指数相关系数:',num2str(cor(1,2))];
 g_max=max(ylim);
 g_min=min(ylim);
text(10,g_min+(g_max-g_min)*0.975,txt1);
text(10,g_min+(g_max-g_min)*0.925,txt2);
 disp('考虑单支成交量的对数收益率指数模型为:'); disp(txt);
hold on 
plot(1+d,gp(2,ll+d),'ko','Markersize',20)
plot(1,gp(2,ll),'ko','Markersize',20)
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
figure
plot(xr1_DSHY2);
legend('相对误差','相对误差=100*(拟合值-真实值)/真实值');
txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY2(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY2(2)),'(Vp(t)*hp(t))'];
hold on 
plot(1+d,xr_DSHY2(ll+d),'k.','Markersize',20)
plot(1,xr_DSHY2(ll),'k.','Markersize',20)
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
figure
normplot(R_DSHY2);
legend('误差对于正态分布的Q-Q图');
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
          


     case 3      
       gp2=gp(:,lll:end);
          nihez2_DSHY2=nihez_DSHY2(lll:end);
          xr2_DSHY2=xr_DSHY2(lll:end);
         figure
   plot(gp2(2,:),'-+');
hold on
plot(nihez2_DSHY2,'r.');
legend('股价真实值','拟合股价');

txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY2(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY2(2)),'(Vp(t)*hp(t))'];
txt1=['训练样本开始时间:',num2str(zhsh(1,ll+1)),';结束时间:',num2str(zhsh(1,d+ll)),'。共',num2str(d),'天数据'];
txt2=['样本决定系数(R^2):',num2str(STATS_DSHY2(1)),';AIC值:',num2str(STATS_DSHY2(4)) ,';股票和指数相关系数:',num2str(cor(1,2))];
 g_max=max(ylim);
 g_min=min(ylim);
text(5,g_min+(g_max-g_min)*0.975,txt1);
text(5,g_min+(g_max-g_min)*0.925,txt2);
 disp('考虑单支成交量的对数收益率指数模型为:'); disp(txt);

title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
figure
plot(xr2_DSHY2);
legend('相对误差','相对误差=100*(拟合值-真实值)/真实值');
txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY2(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY2(2)),'(Vp(t)*hp(t))'];

title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
figure
normplot(R_DSHY2);
legend('误差对于正态分布的Q-Q图');
title('考虑单支成交量的对数收益率指数模型')
xlabel(txt);
       
end      
 end




M_DSHY=get(handles.radiobutton5,'Value');
C_GP3=get(handles.radiobutton2,'Value');
if M_DSHY&C_GP3
%---9.对数收益率指数模型3:(P(t)-P(t-1))/P(t-1)=a1(H(t)-H(t-1))/H(t-1)+a2(Vp(t)*(1-exp(P(t-1)-P(t)))/(1+exp(H(t-1)-H(t)))+a3(Vh(t)*(1-exp(H(t-1)-H(t)))/(1+exp(H(t-1)-H(t)))
[B_DSHY3,BINT_DSHY3,R_DSHY3,RINT_DSHY3,STATS_DSHY3]=regress(db_gp(ll+1:ll+d)',[db_zhsh(ll+1:ll+d)',obv1_gp(ll+1:ll+d)',obv1_zhsh(ll+1:ll+d)'],alpha);
nih=B_DSHY3'*[db_zhsh',obv1_gp',obv1_zhsh']';
       nihez_DSHY3(1)=gp(2,1);
       for i=2:gp_length 
          nihez_DSHY3(i)=exp(nih(i)+log(gp(2,i-1)));;
       end
        R_DSHY3=nihez_DSHY3-gp(2,:);
%-------计算D。W值
S=0; S1=R_DSHY3(1)^2;
for i=2:gp_length
    S=S+R_DSHY3(i)*R_DSHY3(i-1);
    S1=S1+R_DSHY3(i)^2;
end
STATS_DSHY3(4)=2*(1-S/S1);
%-------计算对数似然值

L=-(gp_length)*(1+log(2*pi)+log(R_DSHY3*R_DSHY3'/gp_length))/2;
STATS_DSHY3(5)=L;
%-------计算AIC值
STATS_DSHY3(6)=2*(-L+3)/gp_length;
%-------计算SC值
STATS_DSHY3(7)=2*(-L+3*log(gp_length))/gp_length;
%------------计算相对误差
xr_DSHY3=100*R_DSHY3'./gp(2,:)';
xr_min=min(xr_DSHY3);%最小值
xr_max=max(xr_DSHY3);%最大值

STATS_DSHY3(8)=xr_min;
STATS_DSHY3(9)=xr_max;
nu=mean(gp(2,:));
STATS_DSHY3(10)=dot(gp(2,:)-nihez_DSHY3,gp(2,:)-nihez_DSHY3)/dot(gp(2,:)-nu,gp(2,:)-nu);


switch states(3)
    case 0
        msgbox(' 请选择数据查看方式')
    case 1
        figure

 plot(gp(2,:),'-+');
hold on
plot(nihez_DSHY3,'r.');
legend('股价真实值','拟合股价');
txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY3(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY3(2)),'(Vp(t)*hp(t))+',num2str(B_DSHY3(3)),'(VH(t)*h(t))'];
txt1=['训练样本开始时间:',num2str(kd),';结束时间:',num2str(ld),'。共',num2str(d),'天数据'];
txt2=['样本决定系数(R^2):',num2str(STATS_DSHY3(1)),';AIC值:',num2str(STATS_DSHY3(4))];
    txt3=['股票和指数相关系数:',num2str(cor(1,2))];
   g_max=max(ylim);
 g_min=min(ylim);
text(5,g_min+(g_max-g_min)*0.975,txt1);
text(5,g_min+(g_max-g_min)*0.925,txt2);
text(5,g_min+(g_max-g_min)*0.875,txt3);
disp('考虑成交量的对数收益率指数模型:'); 
disp(txt);
hold on 
plot(ll+d,gp(2,ll+d),'ko','Markersize',20)
plot(ll,gp(2,ll),'ko','Markersize',20)
 title('考虑成交量的对数收益率指数模型')
xlabel(txt)
figure
plot(xr_DSHY3);
legend('相对误差','相对误差=100*(拟合值-真实值)/真实值');
title('考虑成交量的对数收益率指数模型')
xlabel(txt)
hold on 
plot(ll+d,xr_DSHY3(ll+d),'k.','Markersize',20)
plot(ll,xr_DSHY3(ll),'k.','Markersize',20)
      
figure
normplot(R_DSHY3);
legend('误差对于正态分布的Q-Q图');
 title('考虑成交量的对数收益率指数模型')
xlabel(txt)

    case 2
        
          gp1=gp(:,ll:end);
          nihez1_DSHY3=nihez_DSHY3(ll:end);
          xr1_DSHY3=xr_DSHY3(ll:end);
        
          figure

 plot(gp1(2,:),'-+');
hold on
plot(nihez1_DSHY3,'r.');
legend('股价真实值','拟合股价');
txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY3(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY3(2)),'(Vp(t)*hp(t))+',num2str(B_DSHY3(3)),'(VH(t)*h(t))'];
txt1=['训练样本开始时间:',num2str(kd),';结束时间:',num2str(ld),'。共',num2str(d),'天数据'];
txt2=['样本决定系数(R^2):',num2str(STATS_DSHY3(1)),';AIC值:',num2str(STATS_DSHY3(4))];
    txt3=['股票和指数相关系数:',num2str(cor(1,2))];
   g_max=max(ylim);
 g_min=min(ylim);
text(5,g_min+(g_max-g_min)*0.975,txt1);
text(5,g_min+(g_max-g_min)*0.925,txt2);
text(5,g_min+(g_max-g_min)*0.875,txt3);
disp('考虑成交量的对数收益率指数模型:'); 
disp(txt);
hold on 
plot(1+d,gp(2,ll+d),'ko','Markersize',20)
plot(1,gp(2,ll),'ko','Markersize',20)
 title('考虑成交量的对数收益率指数模型')
xlabel(txt)
figure
plot(xr1_DSHY3);
legend('相对误差','相对误差=100*(拟合值-真实值)/真实值');
title('考虑成交量的对数收益率指数模型')
xlabel(txt)
hold on 
plot(1+d,xr_DSHY3(ll+d),'k.','Markersize',20)
plot(1,xr_DSHY3(ll),'k.','Markersize',20)
      
figure
normplot(R_DSHY3);
legend('误差对于正态分布的Q-Q图');
 title('考虑成交量的对数收益率指数模型')
xlabel(txt)

     case 3   
         
       gp2=gp(:,lll:end);
          nihez2_DSHY3=nihez_DSHY3(lll:end);
          xr2_DSHY3=xr_DSHY3(lll:end);
         figure

 plot(gp2(2,:),'-+');
hold on
plot(nihez2_DSHY3,'r.');
legend('股价真实值','拟合股价');
txt=['ln(P(t)-P(t-1))=',num2str(B_DSHY3(1)),'*ln(H(t)-H(t-1))',num2str(B_DSHY3(2)),'(Vp(t)*hp(t))+',num2str(B_DSHY3(3)),'(VH(t)*h(t))'];
txt1=['训练样本开始时间:',num2str(kd),';结束时间:',num2str(ld),'。共',num2str(d),'天数据'];
txt2=['样本决定系数(R^2):',num2str(STATS_DSHY3(1)),';AIC值:',num2str(STATS_DSHY3(4)),';股票和指数相关系数:',num2str(cor(1,2))];
g_max=max(ylim);
 g_min=min(ylim);
text(5,g_min+(g_max-g_min)*0.975,txt1);
text(5,g_min+(g_max-g_min)*0.925,txt2);

disp('考虑成交量的对数收益率指数模型:'); 
disp(txt);
hold on 

 title('考虑成交量的对数收益率指数模型')
xlabel(txt)
figure
plot(xr2_DSHY3);
legend('相对误差','相对误差=100*(拟合值-真实值)/真实值');
title('考虑成交量的对数收益率指数模型')
xlabel(txt)

      
figure
normplot(R_DSHY3);
legend('误差对于正态分布的Q-Q图');
 title('考虑成交量的对数收益率指数模型')
xlabel(txt)

          
  end
end
% --- Executes on button press in pushbutton3.% --- Executes on button press in radiobutton7.function radiobutton7_Callback(hObject, eventdata, handles)% hObject    handle to radiobutton7 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)C_A=get(hObject,'Value');
if C_A==1
set(handles.radiobutton1,'Value',1);
set(handles.radiobutton2,'Value',1);
set(handles.checkbox1,'Value',1);
else 
set(handles.radiobutton1,'Value',0);
set(handles.radiobutton2,'Value',0);  
set(handles.checkbox1,'Value',0);
end% Hint: get(hObject,'Value') returns toggle state of radiobutton7% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject    handle to edit1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction edit1_Callback(hObject, eventdata, handles)% hObject    handle to edit1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)global ll
global lll
global d
global states
global gp_length
global gp
global zhsh
switch states(2)
    case 0
        msgbox('请选择训练方式');
      
    case 1
        s=get(handles.edit1,'string');
        kd =str2num(s);
    if kd==0
        kd=zhsh(1,1);
        ll=0;
    else
        is_ll=0;
        for i=1:gp_length
           if gp(1,i)==kd
                is_ll=1; ll=i;
          end
          end
    end
      if is_ll==0
          msgbox('起始日期错误,请重新输入,0为从第一个数据开始');
      end
    
      case 2
        s=get(handles.edit1,'string');
        kd =str2num(s);
    if kd==0
        kd=zhsh(1,1);
        ll=0;
    else
        is_ll=0;
        for i=

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -