期货策略matlab,用BP神经网络,分析期货数据,附详细代码
clr;
load('data7.mat');
%% 倒转数据
CLOSE = CLOSE0';
OPENINTCHG=OPENINTCHG0';
VOL=VOL0'/10;
HIGH = HIGH0';
LOW = LOW0';
PEN = PEN0';
CLOSENEXTT=CLOSENEXT';
%%
num = 1;
endNum = 3;%截止到end-endNum,作为测试
no_use = 0;%最后no_use个不用
v0 = [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,[4,3],{'tansig','tansig','purelin'},'traingdm');% 0.00179
%% 训练参数
net.trainParam.epochs = 9000;% 最多训练多少次
net.trainParam.goal = 0.002;% 训练到什么程度才算成功
%% 开始训练
[net,tr] = train(net,v,p);
% &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
%% 存储训练好的神经网络
save net01 net;
load('net01.mat');
%% 使用网络
v_test0=[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);%测试的结果
%% 误差
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;
for i=1:lg
close_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;
else
win = close_pre_value-result_value;
end
if(win>=0)
winnum=winnum+1;
end
windata(1,i) = win;
end
compare(line_compare+1,:) = windata
% 成功率
win_rate = winnum/lg
期货策略matlab,用BP神经网络,分析期货数据,附详细代码相关推荐
- 【智能控制实验】基于MATLAB的BP神经网络设计
实验五:基于MATLAB的BP神经网络设计 一.实验要求: 重点是掌握BP神经网络的学习算法原理和代码设计方法,应用MATLAB编写BP神经网络训练方法:应用神经网络工具箱设计BP神经网络实现对输入输 ...
- python爬取二手房信息_刚刚接触PythonR?教你爬取分析赶集网北京二手房数据(附详细代码)...
原标题:刚刚接触Python&R?教你爬取分析赶集网北京二手房数据(附详细代码) 源 /数据森麟文 /徐涛 前言: 本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的 ...
- matlab耀输,基于 Matlab的BP神经网络在太阳耀斑级别预测中的应用
第 42卷 第 3期 2014年 5月 河南师范大学学报(自然科学版) Journal of Henan Normal University(Natural Science Edition) Z.42 ...
- MATLAB基于BP神经网络的手势识别
MATLAB基于BP神经网络的手势识别 摘 要:给出了采用MATLAB来识别五个手指和手背的同心圆距离,并通过颜色肤色的方法来提取手势特征量,同时利用BP神经网络算法进行误差分析来实现手势识别的设计方 ...
- MATLAB中用BP神经网络预测人体脂肪百分比数据
原文链接:http://tecdat.cn/?p=22739 这个例子说明了一个函数拟合的神经网络如何根据测量结果来估计脂肪百分比(BFP) (点击文末"阅读原文"获取完整代码数据 ...
- MATLAB实现BP神经网络预测汽油辛烷值
MATLAB实现BP神经网络预测汽油辛烷值 今天学习的新内容,在这里记录一下便于日后复习 1.清空变量,做好准备工作 %% I. 清空环境变量 clear all clc 2.导入数据,划分前50个为 ...
- 机器学习 | MATLAB实现BP神经网络newff参数设定(下)
机器学习 | MATLAB实现BP神经网络newff参数设定(下) 目录 机器学习 | MATLAB实现BP神经网络newff参数设定(下) 基本介绍 程序设计 参考资料 致谢 基本介绍 newff搭 ...
- 机器学习 | MATLAB实现BP神经网络newff参数设定(上)
机器学习 | MATLAB实现BP神经网络newff参数设定(上) 目录 机器学习 | MATLAB实现BP神经网络newff参数设定(上) 基本介绍 程序设计 参考资料 致谢 基本介绍 newff搭 ...
- 机器学习 | MATLAB实现BP神经网络newff参数设定(中)
机器学习 | MATLAB实现BP神经网络newff参数设定(中) 目录 机器学习 | MATLAB实现BP神经网络newff参数设定(中) 基本介绍 程序设计 参考资料 致谢 基本介绍 newff搭 ...
最新文章
- SQL脚本--有关压缩数据库日志
- ECMAScript 5 —— 单体内置对象之Math对象
- python语言程序设计计算机二级难不难_全国计算机二级的难度有多大?
- Javascript之ES7详解
- mysql 5.6 2002_MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server
- php推送mip示例,首页—mip推送软件—首页
- Hadoop学习之web查看HADOOP以及文件的上传和下载
- 计算机专业技术面试题
- 如何在word中的图片上画圈标注_word文字下怎么画圈标记
- 如何在古董级IPAD上修改植物大战僵尸游戏金币
- 什么是 Rax,以及 Rax 的特点
- 冬瓜哥原创装b文 :《觉醒》
- 安卓Behavior用法
- android4.4中添加方案,Android4.0-4.4 添加实体按键振动支持的方法(java + smali版本)
- 基于Vue.js活动倒计时组件
- 国产arm芯片CH32F103芯片开发下载使用简介
- 十年磨一剑,你要的低代码平台在这里
- 二项式系数(枚举+二分+二项式定理)
- java hasnext_Java扫描仪的hasNext()方法与示例
- 监控FTP服务状态,并自动重启servU