受伤的小鱼 发表于 2012-11-28 02:34:45

跟我改RangeBreak(清仓出金,过路TX们来踩死我,让我死了回的心

本帖最后由 受伤的小鱼 于 2012-12-23 01:46 编辑

曾经我受过伤,并且现在也在持续的受伤ING中,曾经删了TB,曾经想离开期货,但回想十年来所经历过的,所为期货付出的时间和精力,不想就这样放下了,感慨的话我会后续写上。。。先聊RangeBreak吧,下面将以CU000 的K1H,进行测试,测试数据源选择2005年底至2011年底,然后我会以优化后的系数及各种附加的方法做2012年的行情,并比较结果,优化目标为TB系数最大,为便于比较2012的测试结果仅以收益金额为准
测试成本为1%%的手续费+2*minmove*pricescale

受伤的小鱼 发表于 2012-11-28 02:52:05

本帖最后由 受伤的小鱼 于 2012-11-28 02:58 编辑

以下是TR的取值为前1日的H-L,下轨系数为0.64下轨0.64,顺便带一句,我用于优化的计算机是双至强X5460*2@3.16G的CPU,24G内存,15000转的硬盘转速,测试结果为
2006年        202405.40
2007年        345768.02
2008年        102852.54
2009年        208680.38
2010年        178381.03
2011年        161431.11,(当然此时的程序还有不严谨的地方,比如在同根K线同时上穿下越上下轨),我们假设认为历史,5年有效的历史,去做2012年的行情,结果会怎么样:
2012年2月        (24392.28)
2012年3月        (6673.32)
2012年4月        9740.03
2012年5月        (8363.76)
2012年6月        (28840.11)
2012年7月        7646.62
2012年8月        (7123.36)
2012年9月        (4507.58)
2012年10月        (8491.32)
2012年11月        (4537.39)残酷,异常的残酷,不说一句假话,在得出这个数据之前我还真没有测试过,也真想不到居然会怎么的惨烈,以至于我写不下去了,于时,我只好在这个改RB的原有步骤之前再加一步,

PS:一月分的复制丢了,应该是盈利的,在此这么说一句,或许很多人说程序化交易在于坚持(我感觉现在这样说的人少了,我初学程序化好象都是这么个说的),2012年一手铜超过7万的亏损是不是坚持所换来的悲剧。。。。。不过我还是比较偏向于坚持没错。。。。这样的系数他还是会有发光的一天甚至一年的。

受伤的小鱼 发表于 2012-11-28 03:13:20

本帖最后由 受伤的小鱼 于 2012-12-9 16:34 编辑

因为2012这样的表现我写不下去了,所以我就把TR的取值定义为前max(highd(1)-lowd(1),highd(2)-lowd(2)),这样优化出来的上下轨系数为0.34和0.38,测试结果为
2006年        348545.08
2007年        330131.86
2008年        31343.93
2009年        162132.56
2010年        193962.46
2011年        136647.99,很明显在年度收益上和前述的参数有区别,PS:组合一下是不是挺好!!!同样用这样的参数测试2012

2012年        7458.68,哈哈,能做到正收益,暂且咱就YY为依然有效,但反观这11个月的过程

2012年1月        6568.04
2012年2月        (1541.75)
2012年3月        (2573.36)
2012年4月        6199.59
2012年5月        2752.92
2012年6月        (2952.23)
2012年7月        136.58
2012年8月        (5758.37)
2012年9月        15682.18
2012年10月        (9417.61)
2012年11月        (1637.32),PS:这样的过程,程序化又何来稳定一说呢???或者说,能不在乎几个月的亏损的真的就是交易大师了,但谁又能保证这个系数不会沦为与之前那个系数一样的下场呢!!!
既然YY为2012年有效了,那么开始着手改吧,测试数据依旧为2005年底至2011年底,并以附加方法后的优化参数测试2012年的结果

受伤的小鱼 发表于 2012-11-28 03:57:10

本帖最后由 受伤的小鱼 于 2012-11-28 04:33 编辑

我所想到第一种方法,就是给开仓加上一个氛围条件,就是多头氛围下突破时做仅只开多(平空),空头氛围下仅只开空(平多),于是定义氛围就好办了,找根均线呗,均线向上时仅开多仓,均线向下时仅开空仓,可以用开盘价均线,也可以用收盘价均线,(对了,略提一下,初学者很容易犯的一个错误提一下,用收盘价均线时注意时序,比如不能写成MA而应该是MA),这样同时也解决了同根K线上穿下破的问题。个人认为在铜上面用收盘价均线能定义出之前的的氛围,因为铜的每日开盘是和外盘紧密相关的,用开盘价均线则。。。。(但如果用长周期线的均线我想差别不大,也就臭美下,这也算是对市场的理解吧),由于用了前两日的TR,于是用1-10(两天*5个K线)进行短周线的均线优化后的测试结果如下:
2006年        381267.27
2007年        233335.87
2008年        159435.61
2009年        155173.88
2010年        201616.95
2011年        165314.87 ,优化的参数为均线周期为3(也不知道3个周期的均线能说明啥,说明三个周期前的氛围呗),上下轨0.41,0.37
这种行为是曲线拟合还是。。。。。。,个人认为是曲线拟合。。。。。那么看看2012吧,是不是比没做拟合之前有提高(再次声明一下,优化数据源不包括2012)

受伤的小鱼 发表于 2012-11-28 04:10:25

本帖最后由 受伤的小鱼 于 2012-11-28 04:27 编辑

PS:似乎年度间收益差别比之前未做修改前有缩小!!!不管过去的,看看将来的吧,其实也已经是过去。。。。。,2012年的表现
2012年1月        12035.17
2012年2月        (5692.14)
2012年3月        5647.99
2012年4月        12456.78
2012年5月        6568.20
2012年6月        (5525.57)
2012年7月        2663.29
2012年8月        2369.58
2012年9月        11381.88
2012年10月        (6111.79)
2012年11月        (6887.55)PS:比之前大有改观!!!这样就能否定不是曲线拟合了吗?个人认为不能。。。,但还真不用怕拟合,拟合后的系数不会比不拟合的实盘差,即使真差了也代表不了什么。但前提不是针对特例进行的拟合,但。。。。但。。。。就算是针对特例又怎么样。。。。。。不过可以这么说,对程序化趋势交易策略来说,一切看似完美的曲线就是拟合过来的(如果不是,那么人家是也只是给你看看的,不会拿出来和大家分享的,或者说根本不可能,因为趋势策略本身建立在行情基础上,没行情,哪来的曲线,扯多了,不扯了)。。。。。。。。。。

PS:个人认为,一切以历史数据优化的系数均是拟合,但不拟合又怎么样???所以不存在正优化和负优化一说!!!还是行情说了说,不是策略所能决定的!
今天先聊到这儿吧,入场条件附加了,接下来再附加一个出场条件吧。

sorakiraa 发表于 2012-11-28 09:24:41

我就说一句
波动性是这个系统的生命
你调出日线看看这几年的ATR走势吧
你会发现2012全年ATR都在1000点以下:L

不是因为你的模型有大问题
而是市场行情不适合做波段突破

受伤的小鱼 发表于 2012-11-28 12:22:24

本帖最后由 受伤的小鱼 于 2012-11-28 12:24 编辑

sorakiraa 发表于 2012-11-28 09:24 static/image/common/back.gif
我就说一句
波动性是这个系统的生命
你调出日线看看这几年的ATR走势吧


并没有不适合啊,初步改后2012还是取得了50%的收益,虽说这不是实盘得来的,但就算实盘了,也成为过去了。(再次说明一下,优化系数是只对2011.12.31前的数据进行优化得到的)
我写此不是想说这个系统怎么样,其中一部分想说的是关于曲线拟合或者怎么看历史回测报告的想法,其实我也不知道我想说啥,想到啥说啥吧,盘后我会继续写此贴)

受伤的小鱼 发表于 2012-11-28 12:40:45

本帖最后由 受伤的小鱼 于 2012-11-28 12:52 编辑

其实关于入场的附加条件还会有很多,比如均线,比如开仓前的ATR,比如开仓前K线排列的多空力量(多:C-L,空:H-C,写程序时同样要注意时序),比如K线形态(其实所谓的经典K线形态理论同样假设于市场有行情的基础上,拿成功率来说的,就是50%的事儿),既然前面的朋友提到ATR,就先给系统加上ATR吧,开仓先不说,就先说说ATR离场吧,记得曾经在百度文库里有提到,ATR用于离场可能比进场更有效(我认为其实有效无效还是市场说了算)
对了,顺便提一句,开此贴所写的代码并不是十分严谨,我尽量做到严谨些,由于程序附加了均线离场条件,它已经不是一个直接反手的程序,会有marketposition==0的情况,那么代码的对于开多开空平多平空就有个顺序问题,这需要变量或者全局变量介入去解决这个问题,新手写代码时要注意这个问题

nestneptune 发表于 2012-11-28 15:40:06

支持下...

受伤的小鱼 发表于 2012-11-28 15:56:59

本帖最后由 受伤的小鱼 于 2012-12-9 16:35 编辑

多头ATR倍数             空头ATR倍数            盈利      胜率       平均盈利    交易次数     最大回撤       TB系数    增长系数    收益风险比 R平方值    回撤计算   平均回撤   调整收益风险比    夏普比率
1.60                     2.20                  1279211.23          54.17              3135.32        408          -49288.43        108.40        0.6513            4.09                 0.9860        10         -33994.90           5.94                        0.0795
10.00                   10.00                  1301278.10          53.49              3498.06        372          -61148.84          95.90        0.6356            3.36                 0.9812        10         -38993.03        5.26                        0.0747
好了,在加了ATR离场方法后,可以看到加不加这种方法的两个结果(暂且算10倍的ATR相当于不会触发ATR止盈损,或者他早就被RB的上下轨给处理掉持仓了,同时说一下,处理多头时,ATR的止盈损值我在代码里附加了条件要stopprice<RB的上轨,处理空头时则>RB的下轨),对了这里是取了20个周期的优化值,至于20怎么来的呢,优化来的。。。。
PS:我也常问自已为什么要把多空的系数分开呢,包括RB上下轨的系数都是分开的,甚至现在也在纠结,也许有人说多空走势是不一样的,但我还是把这走分开的做法归类为曲线拟合的一种,不过在此我想起一位曾带我入们的老师说的话,顺便打个广告,南证期货的一个老师。他说“病来如山倒,病去如抽丝”或许这能痊释多空走势的不同的,但逻辑上我还是偏向于多空对称的,因为市场的多头和空头是一样数量的,这里再插一句,在一个行情里,应该是多空不一致的,不然何来的行情。。。。。。,不扯了。到底一样不一样基于每个人对市场的理解了
好了,现在比较一下两个结果:
盈利怎么反而减少了呢。。。。。。但最大单次回撤明显降低(by the way,TB的回撤是按浮盈回撤计算的),同时平均10次的最大回撤也明显降低。除了盈利外,其他各项指标均得到了提高,至于各个指标的意思,我也云里去雾里来,不过百度了一下,略知一二。再说明一下优化数据至2011年底,优化目标为TB系数最大
好了,看看优化得来的数据测试2012的行情吧,这是未加ATR止盈损的2012年        29055.85 的总盈利,其他指标就不列了
很庆幸:2012年        36716.47,真的有效。(顺便说一下:风险和收益的关系,风险降低了,收益也得下降,不然逆天了。。。。。。)
在此:我插一句个人见解,ATR离场感觉对各个品种均具普适性,我有时在思考为什么会具有普适性呢,会不会是哪个品种上的这个值其实大家都知道,因为大家都知道,行为一致,所以有效了
PS:既然是大家都知道的东西,就有可能被人利用,特别是市场里的那些“坏人”(其实他们也是好人,赚钱有时也得靠主力,流动性也得靠炒手),或者说第一个系数为什么在2012无效了呢,因为被人盯上了(YY一下))
本来这时想先写到这,但提到炒手,顺便牢骚几句:
曾经听一位厦大的老师说过:市场里的炒手是值得尊敬的,因为他们为市场提供了足够的流动性,为期货的避险功能提供了条件。我想发的牢骚就是这市场何来的避险功能,2008年金融危机来的时,流动性哪去了???当然这话不科学,但我们的市场还真就是一个过度投机的市场。可以说没有一个避险的单子不被杀掉的。远到国储铜事件,新加坡中航油(当然我们可以说他套保做成投机),2009年沙钢空头被杀,近到6月份华西村的PTA,七月份青岛的一个胶现货企业,再近三普药业的QE3出来时的铜亏损,可以说每一个行情的背后都有一个悲壮故事,而他们据说是来避险的,却最终是来送钱的。再近些9月6号起涨的螺纹钢,我是看到边涨沙钢一边加空单,希望这次他们不会被绞杀。。。。。。。市场凶险,远离毒品,远离期货
做些工作上的事儿先,回来再续RB
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 跟我改RangeBreak(清仓出金,过路TX们来踩死我,让我死了回的心