如何优化r rbreaker策略代码

@2015 微盘
您还不是 微盘会员
开通立享签到涨空间特权文档分类:
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表程序化交易系列研究之六:r-breaker模型后续测试及优化.pdf
文档介绍:
请务必阅读正文之后的免责条款部分[Table_MainInfo][Table_Title]R-Breaker模型后续测试及优化——程序化交易系列研究之六杨喆(分析师)蒋瑛琨(分析师)耿帅军(研究助理)---yangzhe@jiangyingkun@gengshuaijun@证书编号SSS本报告导读:模型数据敏感性测试、参数敏感性测试、改进R-Breaker模型等摘要:[Table_Summary]前期报告回顾?我们在前期报告中对R-Breaker模型进行了详细介绍和沪深指数期货的数据测试。在年月日至年月日的测试区间内,总交易笔,盈利交易比例为.%,合计盈利.个指数点。扣除交易及冲击成本后,盈利.个指数点,折合元,假设万初始资金的累计收益率为.%,最大回撤率为.%。本期报告要点?在本报告中,我们从多方面对该模型进行更详细的测试和分析,包括数据质量的改进、采用指数数据对结果的影响、采用不同频率的数据对结果的影响、不同止损位的测试、触发条件敏感性测试、趋势与反转交易分类测试等。在进行了不同方面的敏感性测试后,我们针对测试结果对模型进行了改进,最后我们将Improved
R-Breaker Model(IRBM)测试结果展示给大家。本期报告结论?经过多方面测试,我们得到的几点结论如下:?模型测试效果对数据质量高度依赖?指数测试收益显著低于同期期货?不同参数组合的测试结果显示,绝大多数参数组合可以让我们取得较为稳定的收益。仅有.%的参数获得的收益率为负。有.%的参数可以获得%以上的收益率。?采用分钟数据可以获得比采用分钟数据更优的收益。?一定的止损,能提升整体收益并且降低风险。?改进模型Improved
Model(IRBM):针对R-Breaker模型高度数据依赖和条件依赖的特点,为了更好地反应R-Breaker模型的思想,我们对R-Breaker模型进行适度优化。经过改进后,IRBM模型将不带杠杆收益率提升至了%(年化.%),最大回撤降低至.%,总交易笔数有所上升,胜率有所下降,但整体收益与风险特性显得更优。[Table_Summary]?[Table_Report]相关报告《全球顶尖程序化交易模型研究——程序化交易系列研究之五》..《股指期货量价结合交易策略探索——程序化交易系列研究之四》..《股指期货改进布林交易模型(IBTM)——程序化交易系列研究之三》..《股指期货即日交易模型(DTM)——程序化交易系列研究之二》..《程序化交易的模型和应用——程序化交易系列研究之一》..程序化交易研究..金融工程金融工程证券研究报告程序化交易研究请务必阅读正文之后的免责条款部分of 目录.前期报告回顾和本期要点...............................................................................................................R-Breaker模型条件敏感性测试.....................................................................................................模型测试效果对数据质量高度依赖...........................................................................................................指数测试收益显著低于同期期货...............................................................................................................模型触发条件敏感性测试...........................................................................................................................数据频率对于测试结果的影响...................................................................................................................不同止损位对交易结果的影响.................................................................................................................趋势与反转交易分类测试........................................................................................................................改进R-Breaker模型(IRBM).......................................................................................................程序化交易研究请务必阅读正文之后的免责条款部分of .前期报告回顾和本期要点我们在前期报告中对R-Breaker模型进行了详细介绍和沪深指数期货的数据测试。我们选取期货连续合约的分钟高频数据,交易一手合约。假定万分之三的交易及冲击成本、%的止损线和个点的波幅过滤。在年月日至年月日的测试区间内,总交易笔,盈利交易比例为.%,合计盈利.个指数点。扣除交易及冲击成本后,盈利.个指数点,折合元,最大回撤元。假设万初始资金只交易一手合约,期指推出以来的累计收益率为.%,最大回撤率为.%。图 模型累计收益率变化情况(Q-Q)%%%%%%%%%%%原累计收益率数据来源:国泰君安证券研究在本报告中,我们首先将考虑数据质量对测试结果的影响。而后我们以数据质量改进后的测试结果为比较基准,从多方面对该模型进行更详细的测试和分析,包括采用指数数据对结果的影响、采用不同频率的数据对结果的影响、不同止损位的测试、触发条件敏感性测试、趋势与反转交易分类测试等。在进行了不同方面的敏感性测试后,我们针对测试结果对模型进行了改进,最后我们将优化后的模型Improved
R-Breaker Model(IRBM)测试结果展示给大家。我们先对模型原理进行回顾,R-Breaker是一种短线交易策略,它结合了趋势和反转两种交易方式。其基本原理如下:.根据前一个交易日的收盘价、最高价和最低价数据通过一定方式计算出六个价位,从大到小依次为:突破买入价、观察卖出价、反转卖出价、反转买入价、观察买入价、突破卖出价。由这六个价格来形成当前交易日盘中交易的触发条件。对计算方式的调整,可以调节六个价1
内容来自淘豆网转载请标明出处.
浏览:16次当前位置:
源码内容:
//------------------------------------------------------------------------
// 简称: R_Breaker
Numeric notbef(9.00);
Numeric notaft(14.55);
Numeric f1(0.35);
Numeric f2(0.07);
Numeric f3(0.25);
Numeric reverse(1.00);
Numeric rangemin(0.2);
Numeric xdiv(3);
NumericSeries ssetup(0);
NumericSeries bsetup(0);
NumericSeries senter(0);
NumericSeries benter(0);
NumericSeries bbreak(0);
NumericSeries sbreak(0);
NumericSeries ltoday(0);
NumericSeries hitoday(9999);
NumericSeries startnow(0);
NumericSeries div(0);
BoolSeries rfilter(false);
Numeric i_
Numeric i_
Numeric i_vB;
Numeric i_vS;
i_reverse = reverse*(OpenD(0)/100);
i_rangemin = rangemin*(OpenD(0)/100);
if(BarStatus==0)
&&&&&&& startnow=0;
&&&&&&& div=max(xdiv,1);
if(Date != Date[1])
&&&&&&& SetGlobalVar(0,0);
&&&&&&& SetGlobalVar(1,0);
&&&&&&& startnow=startnow+1;
&&&&&&& ssetup=hitoday[1]+f1*(Close[1]-ltoday[1]);
&&&&&&& senter=((1+f2)/2)*(hitoday[1]+Close[1])-(f2)*ltoday[1];
&&&&&&& benter=((1+f2)/2)*(ltoday[1]+Close[1])-(f2)*hitoday[1];
&&&&&&& bsetup=ltoday[1]-f1*(hitoday[1]-Close[1]);
&&&&&&& bbreak=ssetup+f3*(ssetup-bsetup);
&&&&&&& sbreak=bsetup-f3*(ssetup-bsetup);
&&&&&&& hitoday=H
&&&&&&& ltoday=L
&&&&&&& rfilter=(hitoday[1]-ltoday[1])&=i_
if(High&hitoday)
&&&&&&& hitoday=H
if(Low&ltoday)
&&&&&&& ltoday=L
if(Time*100&=notbef and Time*100&notaft and startnow&=2 and rfilter)
&&&&&&& if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
&&&&&&&&&&&&&&& SetGlobalVar(1,10000);
&&&&&&& if(hitoday&=ssetup and marketposition&-1 and GetGlobalVar(1)&1)
&&&&&&&&&&&&&&& If(Low&=(senter+(hitoday-ssetup)/div))
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& SellShort(1,senter+(hitoday-ssetup)/div);
&&&&&&&&&&&&&&&&&&&&&&& SetGlobalVar(1,Time);
&&&&&&&&&&&&&&&&&&&&&&& R
&&&&&&&&&&&&&&& }
&&&&&&& if(ltoday&=bsetup and marketposition&1& and GetGlobalVar(1)&1)
&&&&&&&&&&&&&&& If(High&=(benter-(bsetup-ltoday)/div))
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& Buy(1,benter-(bsetup-ltoday)/div);
&&&&&&&&&&&&&&&&&&&&&&& SetGlobalVar(1,Time);
&&&&&&&&&&&&&&&&&&&&&&& R
&&&&&&&&&&&&&&& }
&&&&&&& if(marketposition==-1)
&&&&&&&&&&&&&&& SetGlobalVar(0,1);
&&&&&&&&&&&&&&& if(High-EntryPrice&=i_reverse)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& BuyToCover(1,entryprice+i_reverse);
&&&&&&&&&&&&&&&&&&&&&&& R
&&&&&&&&&&&&&&& }
&&&&&&& }//来源:
&&&&&&& if(marketposition==1)
&&&&&&&&&&&&&&& SetGlobalVar(0,1);
&&&&&&&&&&&&&&& if(EntryPrice-Low&=i_reverse)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& Sell(1,entryprice-i_reverse);
&&&&&&&&&&&&&&&&&&&&&&& R
&&&&&&&&&&&&&&& }
&&&&&&& if(marketposition==0)
&&&&&&&&&&&&&&& if(High&=bbreak and GetGlobalVar(0) == 0)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& Buy(1,bbreak);
&&&&&&&&&&&&&&&&&&&&&&& R
&&&&&&&&&&&&&&& }
&&&&&&& if(marketposition==0)
&&&&&&&&&&&&&&& if(low&=sbreak& and GetGlobalVar(0) == 0)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& SellShort(1,sbreak);
&&&&&&&&&&&&&&&&&&&&&&& R
&&&&&&&&&&&&&&& }
if(Time*100&=notaft and Time&0.1600)
&&&&&&& if(marketposition==-1)
&&&&&&&&&&&&&&& BuyToCover(1,Open);
&&&&&&& if(marketposition==1)
&&&&&&&&&&&&&&& Sell(1,Open);
//====================================
思路解析:
中轨上顶部区间:ssetup:=昨日最高+0.35*(昨天收盘-昨天最低);
中轨上区间:senter+(昨最高-中轨上顶部区间)/3& //& senter:=((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最低;
中轨下区间:benter-(中轨下顶部区间-昨最低)/3&& // benter:=((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最高;
中轨下顶部区间:bsetup:=昨最低-0.35*(昨最高-昨收盘);
上轨:bbreak:=(ssetup+0.25*(ssetup-bsetup);
下轨:sbreak:=bsetup-0.25*(ssetup-bsetup);
当价格直接突破上轨,开多。 否则, 当今日最高价大于中轨上区间,并且小于上轨运行,价格如果下穿中轨上区间后,开空。
当价格直接突破下轨,开空。 否则, 当今日最低价小于中轨下区间,并且大于下轨运行,价格如果上穿中轨下区间后,开多。
?上一软件:
?下一软件:
& &评论摘要(共 0 条,得分 0 分,平均 0 分)
* 下载方法:点击上面的绿色图片(图片有“下载地址”文字),就新开一个页面,点击“本地高速下载”,或者点击文字“下载地址1”即可下载软件
* 本网发布的公式指标和股票软件绝大部分是来源于各大论坛,例如:理想论坛,老钱庄,创幻,MACD等论坛,谢谢各位老师的原创软件。为了达到最快的下载速度,推荐使用或下载本站软件。
* 请一定升级到最新版才能正常解压本站提供的软件!
本网提供的公式文件说明:
* alg格式股票公式,仅仅可以用飞狐交易师股票软件引入使用;
* fnc格式股票公式,可以用股票软件使用,少部分可以用股票软件引入使用;
* exp格式股票公式,仅可以用股票软件引入使用;
* tnc和tni格式股票公式,仅可以用通达信新引入使用,例如可以用股票软件引入使用;
* tne格式公式,可以用通达信公式编辑器5.0版导入,推荐版本,高版本兼容低版本;
* hxf格式股票公式,仅可以用股票软件引入使用。
以上的各种软件都可以在本网股票软件栏目找到并下载!
* 关于股票公式时间限制,如果在引入公式的时候,发现公式名称栏是空白的,这时候调整电脑时间到1997年,又能出现公式名称
,并且能正常显示,可能是公式使用期限已过。
* 关于公式解密收费破解大智慧公式(FNC格式)大智慧股票池,同花顺公式(hxf格式),操盘手公式(daf),飞狐公式(alg),博易大师公式,文华公式等等源码,可解密完全加密定向加密公式或延时,收费服务无意勿扰,联系QQ。
* 关于股票公式源码编辑
本网提供的源码,一般都可以编辑成公式,如果不明白公式的编辑,在本页右侧教程录像可参考,或者找公式教程资料学习,请搜索:教程
* 如果您发现下载链接错误,请点击谢谢!
* 站内提供的所有软件包含破解及注册码均是由网上搜集,若侵犯了你的版权利益,通知我们!
声明:本站以非盈利为目的,所有软件和信息均免费。站内所有广告,如有收费行为,均与本站无任何关系!请广大网友小心谨慎。
Copyright &
. All Rights Reserved .页面执行时间:5,156.25000 毫秒网站备案信息:您现在的位置:>>
>>正文内容
关于两个著名模型r-breaker和dualthrust策略组合分析[古期心得]
r-Breaker和dualthrust是两个经典的日内交易模型,其简单的逻辑和稳定的收益(尤其在指数期货上)使得它们一直被个人与机构,CTA推崇。这两个模型的主要细节在此不多介绍,这里我想和大家分享的是如何把两个模型综合起来,从而获得更平滑的资金曲线。大多分析只是个人看法,其可行性还请大家探讨:)
多策略组合要想成功需要至少两点要求:
1. 其所有子策略均为正收益的稳定系统;这一点需要投资者对每个模型有较深入的理解。
2. 子策略的叠加起到对冲风险的作用。这一点可以从模型收益的相关性来分析。
那么,为什么r-Breaker和dualthrust可以作为策略组合使用呢?
第一,dualthrust和r-Breaker都是具有长期正收益期望的系统。下面贴出的是其在SPX指数期货上的资金曲线。
在单独模拟的情况下,dualthrust和rbreaker可以分别获得1.31和1.40的夏普比例。其回测区间累积收益都在150%左右,最大回撤在8%左右。
第二,他们的模型收益具有风险对冲的效果。其实,正如有些人知道的,dualthrust和r-breaker都是典型的短线区间突破模型,其收益程度取决于短期的市场波动性。在市场波动性比较小的年份,他们的收益很有限;然而,在波动性较大的年份,比如08年,该类模型的收益都会较理想。通过对dualthrust和r-Breaker的收益进行相关性计算,我们发现了0.42的正相关性。我相信这0.4的相关性应该大多归咎于模型对波动性的共同依赖。其实,在我个人看来,对于同一单资产的策略,0.4的相关性并不算高,因此通过策略的组合,我们可以进一步控制风险。下图是双策略投资组合在SPX指数期货的资金曲线:
此时,资金曲线变的更平滑了,双策略组合的组合夏普比例从之前的1.40升至了现在的1.81。虽然总收益下降了,我们的年化最大回撤从8%降到了3.48%,收益标准差从7.29降到了4.38。这是一个不错的提高哦:
Ann. Returns: 7.90, Ann. Std: 4.38, Sharpe: 1.81
Year&&&& Ann.Ret.&&&&& Std&&&&&&& Maxdd
1997&&&&&& -0.72&&&&&&& 2.09&&&&&&& 0.93
1998&&&&&&& 8.22&&&&&&& 4.31&&&&&&& 1.67
1999&&&&&&& 6.31&&&&&&& 3.69&&&&&&& 1.77
2000&&&&&&& 4.37&&&&&&& 4.73&&&&&&& 2.92
2001&&&&&& 11.33&&&&&&& 4.42&&&&&&& 2.36
2002&&&&&& 11.92&&&&&&& 5.36&&&&&&& 1.78
2003&&&&&&& 5.86&&&&&&& 3.03&&&&&&& 2.57
2004&&&&&&& 2.00&&&&&&& 2.60&&&&&&& 2.13
2005&&&&&&& 1.49&&&&&&& 2.08&&&&&&& 1.94
2006&&&&&&& 3.13&&&&&&& 2.14&&&&&&& 1.27
2007&&&&&&& 6.55&&&&&&& 3.90&&&&&&& 1.19
2008&&&&&& 20.64&&&&&&& 8.25&&&&&&& 3.48
2009&&&&&& 13.92&&&&&&& 5.84&&&&&&& 2.87
2010&&&&&&& 8.23&&&&&&& 3.73&&&&&&& 1.59
2011&&&&&&& 9.91&&&&&&& 4.44&&&&&&& 1.70
2012&&&&&&& 6.53&&&&&&& 3.20&&&&&&& 1.30
2013&&&&&& -0.15&&&&&&& 1.15&&&&&&& 0.30
AllPrds&& 119.54&&&&&&& 4.36&&&&&&& 3.48
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ:
&进行 有偿 编写!
【字体: 】【】【】
没有相关内容
&本月热门排行
&用户常看内容
会员登录/注册

我要回帖

更多关于 rbreaker 的文章

 

随机推荐