资源描述:
《基于MATLAB的策略回测模板》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、%%简介:系统基于布林通道原理,是一个趋势追踪系统。%入场条件:%ROC大于0且价格突破布林带上轨就开多仓;%ROC小于0冃价格跌破布林带下轨就开空仓;%关键参数:%买卖滑点参数Slip%布林带的周期数BollLength;%布林带标准差的倍数Offset;%ROC的周期数ROCLength;%跟踪止损算法的周期数ExitLength;%%■■提取数据“user=input('请输入数据库用户名:7s*);password二input('请输入数据库密码:'/s');commodity=input('iW输入商
2、品(如RB888):'/s');Freq二input('请输入周期(如M5):'/s');conna=database('Futures_matlab'/user/password);cursor=exec(conna,strcat(*select*from',32,commodity,'_:Freq));%32是指空格的ASCLL码cursor二fetch(cursor);data=cursor.Data;Date=datenum(data(:,l));Open=cell2mat(data(:/2));Hig
3、h=cell2mat(data(:/3));Low=cell2mat(data(:,4));Close=cell2mat(data(:,5));Volume=cell2mat(data(:,6));Openlnterest=cell2mat(data(:,7));%日期时间%开盘价%最高价%最低价%收盘价%成交量%持仓量%%-定义参数(常量)-%策略参数Slip=2;BollLength=50;Offset=1.25;ROCLength=30;%滑点%布林线长度%布林线标准差倍数%ROC的周期数%品种参数Min
4、Move=l;PriceScale=l;TradingUnits=10;Lots=l;MarginRatio=0.07;TradingCost=0.0003;%簡品的最小变动量%商品的计数单位%交易单位%交易手数%保证金率%交易费用设为成交金额的万分之三%无风险收益率(计算夏普比率时需要)%上轨%下轨%中间线%标准差序列%ROC值%交易记录变量MyEntryPrice=zeros(length(data),l);MarketPosition=0;持仓,1表示持有多头pos=zeros(length(data),
5、l);无持仓,1表示持有多头Type=zeros(length(data),l);OpenPosPrice=zeros(length(data)J);ClosePosPrice=zeros(length(data)J);OpenPosNum=0;ClosePosNum=0;OpenDate二zeros(length(data)J);CloseDate=zeros(length(data)’l);NetMargin=zeros(length(data),l);CumNetMargin=zeros(length(d
6、ata)J);RateOfReturn=zeros(length(data),l);CumRateOfReturn=zeros(length(data),l);CostSeries=zeros(length(data)’l);BackRatio=zeros(length(data),l);%记录资产变化变量LongMargin=zeros(length(data)J);ShortMargin=zeros(length(data)J);Cash=repmat(le6,length(data),l);Dynamic
7、Equity=repmat(le6,length(data)’l);StaticEquity=repmat(le6Jength(data),l);%买卖价格%仓位状态,<L表示持有空头,0表示无%记录仓位情况,J表示持有空头,0表示%买卖类型,1标示多头,-1标示空头%记录建仓价格%记录平仓价格%建仓价格序号%平仓价格序号%建仓时间%平仓时间%净利%累计净利%收益率%累计收益率%记录交易成本%记录回测比例%多头保证金%空头保证金%可用资金,初始资金为10W%动态权益,初始资金为10W%静态权益,初始资金为10W
8、RiskLess=0.035;%%"定乂变量"%策略变量UpperLine二zeros(length(data)J);LowerLine二zeros(length(data),l);MidLine=zeros(length(data),l);Std=zeros(length(data)J);RocValue=zeros(length(data)J);%%-计算布林带和ROC-[Uppe