Matlab的FIG信息粒化SVM对于上证指数的预测-FIG_SVM_sh.rar
秉承着这个帖子:
利用libsvm做回归分析的一个小例子 https://www.ilovematlab.cn/thread-47453-1-1.html对于上证指数的预测我又做了一些探究,这次我要做的是从20号开始对于未来五天内(20,21,24,25,26)[22,23两天关闭],上证指数的每日开盘数的变化空间(五日内的变化范围的预测,以及与前五日相比的趋势).
所采用的方法是FIG+SVM[信息粒化 支持向量机].
这回也加大了数据量,为上证指数从1990.12.19开盘以来到2009.8.19,4579个交易日内每日的开盘数.
原始数据如下:
========上证指数1990.12.19-2009.8.19每日开盘数
sh_8_19.jpg
========
我把每五日,放在一起对原始数据进行模糊信息粒化.[有关模糊信息粒化相关的代码我就不贴出来了,其他的代码可以共享]
得到原始数据的信息粒化图,三幅,分别是模糊数的三个部分: 最低,代表,最高.看图:
图的意义与那个帖子类似: 红色是原始数据,绿色是用SVM拟合的数据,下面的是归一化的数据,调试用的.
=====low=========
low.jpg
mse = 18.7764
r = 0.9960
=====R==========
|
R.jpg
| mse = 9.1019
r = 0.9980
=====up=========
up.jpg
| mse = 8.4657
r = 0.9982
=============================
利用上面训练得到的模型 对于从20号开始对于未来五天内(20,21,24,25,26)开盘指数的变化范围的预测是:
[2505.6,2951.8,3204.8]
所表示的意义是:
20,21,24,25,26这五天内开盘数的变化范围为 2505.6到3204.8,且五日内平均水平大概为2951.8.
由于20号的开盘指数已知为:20号的实际开盘是2798.4
验证一下是在上面的范围内的.
21,24,25,26可以每天验证一下看看这个模型预测的怎么样...
[不一定准哈,我就是做了个小探索.hehe.OO,要是准了.咱完后就靠这个模型天天预测大盘.炒股就成.了.so.......]
且20号往前五日[13,14,17,18,19]的变化范围是[2796.3 3138.2 3380.2]
这样比较起来说明:[2505.6,2951.8,3204.8] vs [2796.3 3138.2 3380.2]
趋势预测:
20号后面五日内的开盘数整体会比前五日有所降低.down..
代码如下:[信息粒化的我没贴出来,但接口给了,其他的我都贴上]
====FIG_SVM_sh.m=====%FIG SVM script by faruto to predict trend of the index of Shanghai
09.8.21
%Email:farutoliyang@gmail.com QQ:516667408 http://blog.sina.com.cn/faruto
%www.ilovematlab.cn
load sh_8_19;
TS = sh_open';
figure;
plot;
legend');
grid on;
len = length;
win_num = floor;
[low,R,up]=FIG_D;
% figure;
% plot;
% legend;
% grid on;
% figure;
% plot;
% legend;
% grid on;
% figure;
% plot;
% legend;
% grid on;
[pre_low,acc_low,model_low,ps_low] = SVM_regression;
[pre_up,acc_up,model_up,ps_up] = SVM_regression;
[pre_R,acc_R,model_R,ps_R] = SVM_regression;
prlow = svmpredict;
prlow = mapm
2021-11-14 09:59:51
287KB
matlab
1