简介
本次项目使用了2017年5月之前近1000天的英国富时100指数(FTSE)作为训练数据,试图根据之前的数据预测未来一天的指数走向。
富时100指数数据库
线性回归
% 清空matlab中的数据
clear all;
close all;
% 打开文件
data=csvread('TR4DER_^FTSE_20170512.csv');
[raw col]=size(data);
D=raw;
p=20;
X=data(:,4);
% 原始数据归一化
mean_X=mean(X);
std_X=std(X);
X=X-mean_X;
X=X/std_X;
% 产生训练集和测试集
for i=1:1:D-p
for j=1:1:p
x_train(i,j)=X(i+j-1);
end
y_train(i,1)=X(i+p);
end;
for i=1:1:p
x_test(1,i)=X(D-p-1+i);
end
% 使用线性回归法预测
w = inv(x_train'*x_train)*x_train'*y_train;
predict_1=x_train*w;
% 计算实际股价变动趋势和预测股价变动趋势,1为上涨,-1为下跌
for i=1:1:D-p
trend_true(i)=sign(y_train(i)-x_train(i,p));
trend_predict_1(i)=sign(predict_1(i)-x_train