资源简介
matlab量化择时模型回测代码
代码片段和文件信息
%% Test回测程序
% 脚本程序
%@ xuhuaxuan
% 程序实现测试所使用的MATLAB版本:MATLAB R2010b(7.11.0)
%% clean work
clear;
clc;
close all;
%% Load Data
A = xlsread(‘IF_5min_20100826-20130315.xlsx‘);
%% Initialization
% 构造IF(每日K线)
per = 54;
IF=zeros(length(A)/per5);
IF(:1) = 1:length(A)/per;
for t1=1:length(A)/per
midHigh = A((t1-1)*per+13);
midLow = A((t1-1)*per+14);
for t2=1:per
midHigh = max([A((t1-1)*per+t23)midHigh]);
midLow = min([A((t1-1)*per+t24)midLow]);
IF(t12:5)=[A((t1-1)*per+12)midHighmidLowA(t1*per5)];
end
end
len = length(A);
EquityDay = zeros(length(IF)1);
EquityDay(22) = 50e4;
RSV9 = zeros(length(IF)1);
%RSV9= RSV9(20:end);
K9=zeros(length(IF)1);
%K9 = K9(20:end);
D9 = zeros(length(IF)1);
%D9 = D9(20:end);
RSV14 = zeros(length(IF)1);
%RSV14= RSV14(20:end);
K14=zeros(length(IF)1);
%K14 = K14(20:end);
D14 = zeros(length(IF)1);
%D14 = D14(20:end);
TR = zeros(length(IF)1);
%TR = TR(20:end);
ATR = zeros(length(IF)1);
%ATR = ATR(20:end);
ADX = zeros(length(IF)1);
%% 策略过程初始化
% 开多标签 1 多一手 0 无
LongFlag = 0;
% 开空标签 1 空一手 0 无
ShortFlag = 0;
% 记录多头序列
LongS = zeros(len1);
LongSmax = zeros(len1);
LongSlen = 1;
% 记录空头序列
ShortS = zeros(len1);
ShortSmin = zeros(len1);
ShortSlen = 1;
% 记录操作胜率次数
winLen=0;
%% calc ADX
HIGH=A(13);
HIGH1=A(13);
LOW =A(14);
LOW1 =A(14);
CLOSE = A(15);
N=14;
M=14;
K9(221) = (IF(215)-min(IF(13:214)))/(max(IF(13:213))-min(IF(13:214)))*100;
D9(221)=K9(221);
K14(221)= (IF(215)-min(IF(8:214)))/(max(IF(8:213))-min(IF(8:214)))*100;
D14(221)=K14(221);
currentLow = A(22*per+14);
currentHigh = A(22*per+13);
ATR(221)=max([IF(223)-IF(224)abs(IF(223)-IF(225))abs(IF(224)-IF(225))]);
ADX(221)=max([IF(223)-IF(224)abs(IF(223)-IF(225))abs(IF(224)-IF(225))]);
for i=23:length(IF)
if i >=23
EquityDay(i1) = EquityDay(i-11);
end
% 计算当天资金流
if LongFlag == 1 && ShortFlag == 0
EquityDay(i1) = EquityDay(i-11) + (IF(i5)-IF(i-15))*300;
end
if ShortFlag == 1 && LongFlag == 0
EquityDay(i1) = EquityDay(i-11) + (IF(i-15)-IF(i5))*300;
end
L9 = min(IF((i-9):(i-1)4));
H9 = max(IF((i-9):(i-1)3));
RSV9(i-11)=(IF(i-15)-L9)/(H9-L9)*100;
K9(i-11)=2/3*K9(i-21)+1/3*RSV9(i-11);
D9(i-11)=2/3*D9(i-21)+1/3*K9(i-11);
L14 = min(IF((i-14):(i-1)4));
H14 = max(IF((i-14):(i-1)3));
RSV14(i-11)=(IF(i-15)-L14)/(H14-L14)*100;
K14(i-11)=2/3*K14(i-21)+1/3*RSV14(i-11);
D14(i-11)=2/3*D14(i-21)+1/3*K14(i-11);
for j =1:per
MA5 = (IF(i-4:i-15)+A((i-1)*per+j5))/5;
MA10 = (IF(i-9:i-15)+A((i-1)*per+j5))/10;
MA20 = (IF(i-19:i-15)+A((i-1)*per+j5))/20;
LongSmax(LongSlen) = max([LongSmax(LongSlen)A((i-1)*per+j5)]);
ShortSmin(LongSlen) = min([ShortSmin(LongSlen)A((i-1)*per+j5)]);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5243 2013-07-11 23:43 huice2.m
----------- --------- ---------- ----- ----
5243 1
- 上一篇:求解四步相移法的光栅相位的matlab程序
- 下一篇:极化SAR图像分类数据
相关资源
- 求解四步相移法的光栅相位的matlab程
- 多目标跟踪时的逻辑航迹起始算法
- 级联H桥三相七电平matlab仿真
- matlab实现加权最小二乘拟合
- MATLAB实现协同过滤算法
- matlab编写运动视频检测
- 分数阶傅里叶变换
- Bouc-wen模型模拟隔震支座
- LBM格子波尔兹曼 matlab范例
- 中重频PD雷达仿真
- 《神经模糊预测控制及其matlab实现》
- matlab程序求解供应链网络问题
- KKSVD
- matlab GUI编程实现模拟车辆进入和离开
- 单相PWM整流的Matlab仿真模块
- 三相电压型PWM逆变电路 MATLAB仿真模型
- image-forgery-with-siftand-ransac
- 信号累积量的计算程序
- 独立分量ICA图像特征提取程序和图片
- 二次相关时延估计算法
-
永磁无刷直流电机matlab/simuli
nk模型 - 声音响度计算matlab程序(Loudness calc
- Matlab飞行控制工具箱 (Aircraft Contro
- 1.5维谱
- Matlab封装进行期货交易
- 风电场风速的威布尔拟合(weibull)
- 微多普勒处理雷达数据
- 雨流计数法(rainflow)的各种matlab程序
- 一种阴影检测的新的方法
- FISTA 压缩感知的图像使用快速迭代s
评论
共有 条评论