建设银行网站模板,做h5的网站哪个好,安徽省城乡建设厅官网,广州网站制作托管目录 #x1f4a5;1 概述
#x1f4da;2 运行结果
#x1f389;3 参考文献
#x1f468;#x1f4bb;4 Matlab代码 #x1f4a5;1 概述
时间序列预测有很多方法#xff0c;如传统的时序建模方法ARIMA、周期因子法、深度学习网络等#xff0c;本次实验采用最简单的… 目录 1 概述
2 运行结果
3 参考文献
4 Matlab代码 1 概述
时间序列预测有很多方法如传统的时序建模方法ARIMA、周期因子法、深度学习网络等本次实验采用最简单的卷积神经网络进行训练。对于用CNN处理时序数据通常使用一维卷积网络Conv1d。
随着我国资本市场的快速发展和居民收入水平的逐步提升,股票市场吸引了越来越多的投资者参与其中,特别是在2020年新冠疫情影响下,为提振经济实行的较为宽松的货币政策令股票市场表现不俗,股市吸引了大量新增投资者。数据显示,截至2020年12月,中国A股投资者共计1.77亿户,户均市值达到45万,全年新增投资者1802.11万户,同比增加了36.02%。股市的参与人数众多说明市场交易活跃,但是,个人投资者在交易中存在非理性投机倾向,盲目地追涨杀跌不利于股票市场的健康发展。倘若能够利用技术手段对股票价格走势进行预测,同时为投资者提供投资参考建议,那么此举将会促进资本市场的良性发展并提升投资者的收益水平,具有较强的理论和现实意义。本文在股票价格趋势预测中引入深度学习神经网络算法,使用CNN进行股价预测。
从结果来看使用CNN来处理时间序列数据产生的预测值总体来说还行但与真实值存在一定出入。对于股票来说影响股价波动因素繁多单单从历史股价进行预测未来股价是不足够的这也符合弱式有效市场假说即技术分析失败另一方面本次实验采用的网络结构较简单采用更强大的网络进行回归预测任务则会得到更好的效果。
2 运行结果 主函数部分代码
%% 清除工作空间中的变量和图形
clear,clc
close all %% 1.加载337期上证指数开盘价格
load elm_stock whos
rng(now)
priceprice(:); train_num280;
price1price(1:train_num); %前280个数据为训练组
price2price(train_num1:337); %后面的数据为测试组 xprice1;
%[x,ps]mapminmax(x,0,1); %归一化处理可自行添加或不加 lag6; % 自回归阶数
iinputx; % x为原始序列行向量
nlength(iinput); %准备输入和输出数据
inputszeros(n-lag,lag);
for i1:n-lag inputs(i,:)iinput(i:ilag-1);
end
targetsx(lag1:end); %创建网络
Pinputs;
PP;
Ttargets;
netnewff(minmax(P),[10,1],{logsig,purelin},trainlm);
inputWeightsnet.IW{1,1} ;
inputbiasnet.b{1};
layerWeightsnet.LW{2,1} ;
layerbiasnet.b{2,1} ; % 避免过拟合划分训练测试和验 net.trainParam.show 50;
net.trainParam.lr 0.1;
net.trainParam.mc 0.04;
net.trainParam.epochs 1000;
net.trainParam.goal 1e-5; %训练网络
[net,tr] train(net,P,T); %% 根据图表判断拟合好坏
ynnet(P);
errorsT-yn; figure(1)
plot(T,b-);
hold on
plot(yn,r--)
legend(股价真实值,BP网络输出值)
title(训练数据的测试结果); % 显示均方误差
mse1 mse(errors);
fprintf( mse \n %f\n, mse1)
figure(2) title(训练数据测试结果的残差) % 显示相对误差
disp( 相对误差)
fprintf(%f , (T - yn)./T );
fprintf(\n) %% 预测
% 2.显示测试数据的测试结果 %预测
fn57; %预测步数为fn。 f_iniinput(n-lag1:end);
f_outzeros(1,fn); %预测输出
% 多步预测时用下面的循环将网络
for i1:fn f_out(i)net(f_in); f_in[f_in(2:end);f_out(i)];
end
figure(3)
% 显示真实值
x21:length(price2);
plot(price2,b-);
hold on
% 显示神经网络的输出值
plot(f_out,r--)
legend(initial data,prediction result);
title(BP prediction);
hold off
grid on % 显示残差
figure(4)
errors2price2-f_out;
mse2mse(errors2);
plot(mse2)
title(测试数据测试结果的残差) % 显示均方误差
mse2 mse(errors2);
fprintf( mse \n %f\n, mse2) % 显示相对误差
disp( 相对误差)
fprintf(%f , errors2./price2 );
fprintf(\n)
3 参考文献
[1]李晨阳. 基于CNN-LSTM的股票价格预测及量化选股研究[D].西北大学,2021.DOI:10.27405/d.cnki.gxbdu.2021.001928.
4 Matlab代码