您的位置:首页 > 理论基础 > 计算机网络

神经网络预测股票价格走势

2011-11-09 12:11 363 查看
神经网络怎么说呢,以下是BP神经网络的简单模型示意图





简单的说来,就是通过训练网络,调节各个神经元传输的权重,来模拟系统的输入与输出。

优点:可以模拟非常复杂的模型。

缺点:实际上这个模型还是经验模型,显然训练的历史数据越多,网络的“经验就越丰富”,对于一些突发事件显然没有应对能力。。

% 采用贝叶斯正则化算法提高 BP 网络的推广能力。在本例中,我们采用两种训练方法,即 L-M 优化算法

%(trainlm)和贝叶斯正则化算法(trainbr),

% 用以训练 BP 网络,使其能够拟合某一附加有白噪声的正弦样本数据。其中,样本数据可以采用如下

% MATLAB 语句生成:

% MATLAB 程序如下:

close all

clear all

clc

% NEWFF——生成一个新的前向神经网络

% TRAIN——对 BP 神经网络进行训练

% SIM——对 BP 神经网络进行仿真

% 定义训练样本矢量

% P 为输入矢量

stock=[002225]; %股票代码

[a b c d e f]=kline(stock,360); %取得股票日K线数据

aa=[a ;b; c ;d; e ;f ]; %搞成矩阵

aa(6,:)=aa(2,:)-aa(3,:); %开收盘价差

aa(7,:)=aa(4,:)-aa(1,:); %最高最低盘价差

while (1) %很恶心的代码,取出没开盘的时间数据

a=size(aa);

bexit=0;

for n=1:a(2)

if aa(7,n)==0

aa(:,n)=[];

bexit = 1;

break;

end

end

if bexit==0

break;

end

end

a=size(aa);

bb=aa;

bb(:,1)=[];

cc=aa;

cc(:,a(2))=[];

bb=bb-cc; %计算前后2天的差分数据,添加进训练数据。我们关系预测价差嘛

aa(8:14,2:a(2)) = bb;%计算前后2天的差分数据,添加进训练数据。我们关系预测价差嘛

%aa = aa';

aa(:,1)=[]; 既然是差分数据,第一天的数据不要了。

% 创建一个新的前向神经网络

net=newff(minmax(aa),[12,5],{'tansig','purelin'});

disp('1. L-M 优化算法 TRAINLM'); disp('2. 贝叶斯正则化算法 TRAINBR');

choice=input('请选择训练算法(1,2):');

if(choice==1)

% 采用 L-M 优化算法 TRAINLM

net.trainFcn='trainlm';

% 设置训练参数

net.trainParam.epochs = 500;

net.trainParam.goal = 1e-6;

% 重新初始化

net=init(net);

% pause;

elseif(choice==2)

% 采用贝叶斯正则化算法 TRAINBR

net.trainFcn='trainbr';

% 设置训练参数

net.trainParam.epochs = 1000;

net.trainParam.goal=0.001;

% 重新初始化

net = init(net);

% pause;

end

% 调用相应算法训练 BP 网络

a=size(aa);

[Pn,minP,maxP,Tn,minT,maxT]=premnmx(aa(:,1:a(2)),aa(1:5,1:a(2)));%归一化处理

[net,tr]=train(net,Pn(:,1:a(2)-1),Tn(:,2:a(2)));

%[net,tr]=train(net,aa(:,1:a(2)-1),aa(1:5,2:a(2)));

%[net,tr]=train(net,aa,T);

% 对 BP 网络进行仿真

%yn = sim(net,aa(:,1:a(2)-1));

yn=sim(net,Pn); %仿真 ,+ 同是把昨天数据加入仿真数据,看一下预测数据。

%E = yn - aa(1:5,2:a(2)); %%%看看误差

%MSE=mse(E) ;

y=postmnmx(yn,minT,maxT); %反归一化

figure %%把图画出来

subplot(2,1,1);

plot(aa(4,1:a(2)));

subplot(2,1,2);

plot(y(4,:));





这是仿真+预测数据。。

copy right by lwglucky

乖乖,预测出来明天要跌啊。!!

本文出自 “坐坐吧” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐