股市预测代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

clc;clear;%%导入数据stock=xlsread('stock60001.xlsx')[n,m]=size(stock);Time=(1:n)CLOSE=stock(:,5)';OPENINTCHG=stock(:,2)';VOL=stock(:,7)'/1000;HIGH=stock(:,3)';LOW=stock(:,4)';PEN=stock(:,8)'/1000;CLOSENEXTT=stock(:,6)';figure(1)plot(Time,CLOSE,'linewidth',1.5);gridon;h=legend('收盘价');set(h,'location','SouthEast');title('收盘价');xlabel('时间序号');ylabel('收盘价');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=1;endNum=50;%截止到end-endNum,作为测试no_use=0;%最后no_use个不用v0=[Time(num:end-endNum);CLOSE(num:end-endNum);OPENINTCHG(num:end-endNum);VOL(num:end-endNum);HIGH(num:end-endNum);LOW(num:end-endNum);PEN(num:end-endNum)];%对应的结算价p0=[CLOSENEXTT(num:end-endNum)];%%输入输出归一化[v,vps]=mapminmax(v0);[p,pps]=mapminmax(p0);%%建立网络net=newff(v,p,[5,4],{'tansig','tansig','purelin'},'traingdm');%0.00179%%训练参数net.trainParam.epochs=100000;%最多训练多少次net.trainParam.goal=0.002;%训练到什么程度才算成功%%开始训练[net,tr]=train(net,v,p);%此处用xlsread函数来阅读excel文件%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%存储训练好的神经网络savenet01net;load('net01.mat');%%使用网络v_test0=[Time(end-endNum+1:end-no_use);CLOSE(end-endNum+1:end-no_use);OPENINTCHG(end-endNum+1:end-no_use);VOL(end-endNum+1:end-no_use);HIGH(end-endNum+1:end-no_use);LOW(end-endNum+1:end-no_use);PEN(end-endNum+1:end-no_use)];p_test=[CLOSENEXTT(end-endNum+1:end-no_use)];%期望的结果close_pre=[CLOSE(end-endNum+1:end-no_use)];%之前的收盘价%测试数据归一化[v_test,v_testps]=mapminmax('apply',v_test0,vps);result0=sim(net,v_test);%测试结果,反归一化result=mapminmax('reverse',result0,pps);%测试的结果figure(2)plot(Time(end-endNum+1:end-no_use),CLOSENEXTT(end-endNum+1:end-no_use),Time(end-endNum+1:end-no_use),result,'linewidth',1.5);gridon;h=legend('实际收盘价','预测收盘价');set(h,'location','SouthEast');title('实际收盘价和预测收盘价');xlabel('时间序号');ylabel('收盘价');%%误差error=result-p_test;%对比之前收盘价,期望收盘价(实际),网络预测的收盘价,compare=[close_pre;p_test;result;error];%%详细盈亏lg=length(close_pre);[line_compare,xx]=size(compare);windata=ones(1,lg);winnum=0;fori=1:lgclose_pre_value=close_pre(1,i);p_test_value=p_test(1,i);result_value=result(1,i);win=0;%盈亏钱数if(p_test_value=close_pre_value)win=result_value-close_pre_value;elsewin=close_pre_value-result_value;endif(win=0)winnum=winnum+1;endwindata(1,i)=win;endcompare(line_compare+1,:)=windata%成功率win_rate=winnum/lg

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功