2013/5~2013/10月交易总结

这总结有个副标题:对交易本质的一个理解

写这篇总结前,快速地翻阅了一下6月份写的年度总结。
当时以为,上半年是过得比较惨的了,结果现在回过头来看,7、8月份更为惨烈。
不过惨烈的后面,总是有些新的收获,这里写点文字,记录一下。

大起

广告

说起这半年的事件,首先来看看股市的走势。这是从5月到现在的上证指数的日线图。可以看到,5月、6月,股市经过一轮暴跌,在6月25号到达低点,然后经过漫长的3个月的盘整和缓慢的爬升。
图:从5月1号到10月1号上证指数日线图

20131007_01 

我很幸运的,抓住了6月份这轮暴跌行情,当时正好启动了趋势化程序交易,并且启动了2套日内交易系统。受益于6月很明确的单边下跌行情,使得我的趋势交易赚了一笔。两套日内交易系统,当时刚刚启动,但是多少也小赚了一笔,虽然不是很稳定,终究是盈利的。

大落

行情在6月25号来了个强劲的触底反弹。对于趋势化交易而言,可以预见随后有很大的可能性是一波横盘震荡行情。
当时我也是这样预见的,并且随后行情也确实是这样走的,可是我当时的趋势系统,有一个问题没有完全想清楚:如何应对横盘震荡?

抛开股市的走势来讨论这个问题,我想这是绝大多数做趋势化交易人的困扰:如何应对横盘震荡?
趋势化交易大多数是一种突破型的交易系统:价格在某个方向上创了新高/低,于是入场做多/空。但是横盘的时候,价格的突破往往是假突破:创了新高,然后就此打住,价格掉头下来,并且回调幅度很深,甚至在另外一个方向创了新低,于是交易系统平仓反手做空。然后价格又就此打住,掉头向上。。。整个过程,很像是一个正弦波的波形。趋势化交易者,往往在这样的行情里来回止损,两边挨耳光。

当时考虑到这样的行情会出现,而我的系统也难逃这样的命运,于是,我开始人工介入,这是悲剧开始的第一步。
悲剧开始的第二步是,在这种情况下,我并没有减少交易量,维持三套系统的开仓量。

事后统计分析,如果我只是做日内的波段交易,还不至于那么惨,但是很快,交易变成了超短线的频繁交易,也就是所谓的炒单。
每天我都会进行大量的超短线的交易,其结果和过去一样,亏损累累。
来看看我的期货资金的净值图,从5月中开始计。

图:从5月1号到10月1号期货净值图(单位:天)

20131007_02

上面的期货净值图可以很直观地说明问题:从净值1到1.4,只用了几天时间,然后漫长的下跌,一直打到0.9左右,而这个过程,用了15个交易日。想想看吧,每周5个交易日,我在3周的交易日里面,每天都是亏损,这是一种什么样的折磨。那些日子,我是既希望每天早早开盘交易,又希望每天不要交易。因为只有交易,我才有机会盈利,但是每天又是无情的打击。

终于有一天,我决定停下来,把问题想清楚。

写到这里的时候,我禁不住把当时使用的两套日内系统和趋势交易系统调入,然后看看如果我坚持用那3套交易系统,会是什么结果?
下面是这个系统的历史测试绩效图。
倒数4个点分别对应9、8、7、6月份。

图:从2011/1/1~2013/10/1两年的历史回测,3套交易系统(单位:月)

20131007_03

可以看出,在6月到8月,趋势交易系统也产生了相当的回撤,而日内交易系统,却相当稳定。这样累计下来,3套系统在8月产生的回撤幅度和6月的高点相比约为96%。而我人工交易下来产生的回撤=0.9/1.4=64%。举个例子说,假设我在8月份账面有100元,如果采用3套系统,那么最低账面会到96元,而我人工干预的结果,是账面打到64元,差点考试不及格。
3套交易系统比较好得互相对冲了,产生的绩效远远超过了我自己操作。

写到这,我的第一感觉是不知道是该庆幸自己的系统经得住考验,还是懊悔我没有坚持使用这些系统。

但是,站在理性的角度说,我当时不应该坚持下去,这是因为:以我现在的观点来看,那时资金的风险太高了。虽然我在3个月后可以看到系统熬过了这盘整,但是以严格的风险控制来说,我是不能同时跑这样的3套系统的。

反思

账面大起大落和持续性的账面打击对我产生了两个极端的作用:
– 对市场的畏惧之心
– 源源不断的新的想法
这第二条确实有点出乎我的预料,在那段日子里,我虽然很受打击,但是,我的思绪仿佛被大大地打开了一样,关于日内交易系统的想法,一个一个地涌了出来,这些想法,仿佛就像有人塞给你的一样,这样的感觉相当奇妙,或许可以称之为灵感来了吧。我不歇气地在稿纸上记录着、修改着这些可能的交易模型,并且在很短的时间里一个一个地去把它们写出代码来进行测试。那些日子,可以用思如泉涌来形容。(sorry,下面的手稿图片是故意模糊处理了)

20131007_04

然而,测试的结果却又让我产生了困惑。
这些看着,或者想象之中很合理的交易模型,除了个别的能通过优化后产生比较好的绩效,大多数绩效不堪一击。
我真是困惑了,因为这些模型的设想,都是我从实盘里可以看得到的行情会出现的情况,然后在此基础上归纳提炼出来的。但是为什么在模拟测试里,绩效会变得这样的不堪?
(这里记录一笔吧:测试中我发现了一种特殊的盈利模式,这对我日后的下单有很大的影响,只是暂时没想好如何利用这个发现。)

没有什么困惑能够让我如此的停滞不前,我开始自问:

我追寻的那些模型,或者我追求的东西,到底存在不?
我甚至开始自问:趋势这种东西,是不是也只是一种虚幻的数字序列?
我想走的路,它们真的就像大多数败下阵来的人总结的那样:这条路不通?

另一扇窗

命运再一次打开了另一扇窗,给了关键的提示。

我的账户一直是分期货和股票两个独立的账户的,这在最初的时候,是防止我做出冲动错误的交易导致资金的重大损失而设计的。在做期货交易的时候,我还是零零星星地做着股票交易。只是重心全部在期货上。
无意中,我整理了一下股票账户资金的变动情况,发现了一个有趣的现象。

下面的图,是5月份到10月的股票账户的每天净值统计。

在7月份创新低之后,也就是我在期货上比较伤心且停止交易之后,我对股票交易稍微认真了点,净值出现了持续的爬升上行。而7月份之前,股票账面是走得很凌乱的。
这就让我产生了一个疑问:为什么股票账户能这样在7月份以后稳定上行?是因为7月前行情是下跌的,而7月份后是上涨的吗?
然而对比前面的上证指数的走势,这个观点站不住脚,因为6月暴跌的时候,我的账面也是一直稳定的,甚至一度创新高。而7月份的股市,是处于相当长的震荡横盘行情。

图:股票5月1~10月1净值

20131007_05

目前国内的股市,我没法做程序化交易,原因诸多,比如不支持T+0,软件里没有这样的功能等。所以长期以来,我都是在股票软件里,做几个选股公式,然后用来快速选股。
而大约在年中的时候,我做了几个基本的选股模型,用来选股,并且设计了一个资金管理算法,用于计算交易量,此后,这两个组合就一直在搭配这个资金管理算法使用着。
在我对期货里各种交易模型困惑的时候,股票里当时设计的选股模型让我产生了一些新的想法。于是,我仔细地查看了选股模型。

对比我的选股模型,反思我过去设计过得各种程序化交易模型,我对整个交易系统的设计,都进行了反思:入市、止损、止盈、资金管理、趋势交易、日内短线交易、资金回撤。。。

很难用几句文字来描述在那段时间里我脑海里奔腾不息的这些方方面面的想法的冲击,那些日子,不论是白天,还是睡着了,脑海里全是这样那样的思考。我的脑海如同一台24小时满负载运行的电脑一样,一片轰鸣。
你有过连续几天不停地想问题而一摸脑袋,感觉脑袋周围一圈热气吗?
有过一睡着梦里都是飞舞的算法曲线吗?

直到最后,我把这些纷乱的想法,抽象地剥离了出来。这也是我头一次抛开具体的交易模型,以一种抽象地形式去搭建我的理论体系。

看过射雕英雄传的人都知道,里面有个武功叫降龙十八掌。现在我这样来问个问题:如果你拿到了这武功的招式图谱,你能打出降龙十八掌的威力吗?
答案是不能,因为那只是个形。如果没有那神秘的内功配合,你动作做得再标准,也只是套广播体操。
问题如果反过来,你有了降龙十八掌的内功,一定需要作出标准的姿势来发挥威力吗?我认为答案也是否定的,一旦你会了那内功,你即使用广播体操的招式,一样会有惊人的威力。

我做了很多的研究和尝试,现在来看,这些研究和尝试里面,有的是在追求招式,有的是在追求内功,我在过去,并没有去确切地区分二者。现在来看,真正能发挥效力的,还主要是那些“内功”的东西。

如果要我现在来总结交易,那么方法应该是:

严格的风险控制 + 对价格走势的最本质的理解 + 在合适的时机进行交易。

所谓严格的风险控制,包括了止盈止损、交易量的资金管理设计,等。现在来看,我7月份的大起大落,前者是运气,后者是技术不精导致的。我当时账面风险太高了,完全是在赌博了。
所谓对价格走势的最本质的理解并交易,这大概是我总结的最为质朴也最为复杂的一个概念了。价格是有规律的吗?很多人在纠结这个问题,对于这个问题的探寻,导致了多种交易方式,比如艾略特的波浪理论就是典型的代表。如果要我现在来回答,我的答案是:无关紧要。
在这个问题的理解之下,我重新去看我设计的交易系统,就能理解哪些系统是对的,哪些是有问题的,哪些系统是可以容忍优化的,哪些系统是不能容忍优化的,或者,哪些看起来是不好的,但是却是对的。但是最终,我的交易模型都会趋于简化。因为,我现在的观点是:模型是很重要的,但是不是关键。
在合适的时机进行交易,实际是上述两个方面对应的实施。无论你理论是复杂也好简单也好,你必须入场交易,否则那些想法和设计只是形而上学的东西。什么叫合适的时机?这是前两个问题所共同决定的。

对交易的新的理解,有点大彻大悟的感觉。
我仿佛在一片脑海的喧嚣之后,突然看到了一个清晰稳定的指示灯,看到它,那些喧嚣顿时安静了。至此,我的脑海也安静了。

下一步

想清楚了这些问题,我重新审视,并试图改进我的交易系统,因为我已经知道,哪些系统的误差是允许的,哪些是我个人无法接受而必须改进的。
新的交易模型和商品的选择的工作正在进行中,准备国庆后不久就启动期货的程序化交易。

PS:在写完这篇文章初稿的时候,我进行了模型的改进和测试工作。想到了一个简单的方法,来协调多个模型之间的资金同步问题,从而绕过了交易软件TB里面无法在单个图表,或者跨图表里,同步传递数据的技术障碍(本来可以通过数据库,但是TB的数据库,实在是和我们通常理解的数据库完全不同)。这对我实盘交易而言,工作又简化了一大步。

战胜指数的难题

这是一个题外话了,算是一个技术上的讨论吧。
我有一段时间认为:股票指数是难以战胜的。但是这几天在做我这几个月的股票交易分析来看,有了一些不同的想法。
下面第一张图,是我股票账户的净值和股票指数(选的300ETF)归一化值后的比较。起点时间选的是7月1号,正好是股市反弹的时候。红色是股市,蓝色是我的账面净值。
可以看出,虽然我这段时间盈利的,但是依然没有跑过指数:指数涨了10%,我只涨了2%。

图:从7月1号到10月1号股票净值图和指数归一化净值图

20131007_06

但是如果放到5月1号做比较,情况就不同了。
我的净值在1.03,股市在0.95.

图:从5月1号到10月1号股票净值图和指数归一化净值图

20131007_07

这个现象推翻了我原来的想法。假设同一时间你操作个基金,试图打败指数,你会发现:
股市指数类似个满仓操作的基金,它短时间上涨起来相当迅猛,因为它是“满仓”操作,而你却做得很差,因为你可能只是用了少量的资金交易,比如7月份反弹,这之前是一轮大跌,这样的行情下,使用了资金管理以后,你很难满仓去交易。这样,指数好比是满仓抢反弹,而你只是部分资金抢反弹,你自然跑不过指数。
但是,如果你能保证严格使用资金管理的方法,控制风险,使得在6月份这样的下跌行情里,你账面损失低于指数,那你就在以后的行情里,有极大的可能战胜指数。

因为你利用到了资金的复利效应。

举个简单的例子吧:
假设开始的时候股指净值为1,你的账面净值为1。
为简化问题,再假设你只交易指数,且只能做多头。
现在指数上涨10%,于是它的净值为1.1了,但是你因为没有满仓操作,比如你是50%的仓位,买的是指数,那么,你的净值是0.5+0.5*1.1=1.05。你落后指数。
如果指数继续维持稳定的上涨,你始终买的是指数,那你的绩效永远没法超越指数的增长。
可是实际情况是,假设股指随后跌了10%,于是股指的市值成了1.1x(1-10%)=0.99。而你的市值是0.5+0.5*1.1*0.9=0.995。你可以看到,你的市值已经超越了指数。
如果随着股市继续下跌,你也采取了止损的操作,降低仓位,那么,你的净值始终会在股指之上。
直到某一天,股指出现反弹,这个时候,由于你的仓位已经很低,所以你的净值增长率会低于指数。注意:是增长率,而非净值。你的净值始终是在指数净值之上的。

然而看来不少人没有闹清二者的差别,在意的,是那反弹时快速的增长,所以常常重仓去抢反弹。却忽略了,反弹往往是不成功的,所以账面资金越来越低。
问题的关键是:保持你资金的稳定增长。随着时间的推移,以及股指不断地波动,其累计效应,会远远超过抢反弹带来的增长的。

我这里之所以花这么长的篇幅讨论这个问题,一来是自己的一点心得,二来是我认为随着股指期货推出以后,股指会越来越波动,如果你理解了上述例子的含义,你会喜欢上股指的波动的,因为,你会发现,自己的资金曲线,会随着股指的波动,而越来越把指数甩在后面。从这个角度来说,好的基金经理利用这一点,可以让自己负责的基金更加容易脱颖而出。
反之,你的资金曲线,波动幅度会超过指数的波动幅度的,一旦碰到几次失败的反弹,你的资金曲线越来越难拉升起来。

最难打败的

在对交易的重新领悟后,我发现,取得成功的公式就成了个小学里的数学问题:效率 x 时间。
>>效率
是指提升交易模型,或者维持交易模型的效率。无论哪种交易模型,都有着各自的特点,认清这些特点,并且让系统充分地按照其特点正常运行,是相当重要的。一个年盈利100%的系统肯定看起来比20%的系统更具吸引力,但是,盈利越大的模型,其往往回撤也越大,你能保证在未来的日子里它是继续盈利100%还是可能产生巨大的回撤呢?在这样的疑问下,你如何选择上述两种模型而保持一个均衡风险和盈利的组合,以达到一个可以接受的盈利效率呢?

>>时间
效率无论如何提升,都会有个瓶颈。于是你就要靠另外个条件,时间。
我现在设计的系统,不是依赖几个大盈利的交易赚钱,而是依赖长期稳定的盈利赚钱,这也就提醒我:不要急躁。我7月份就有强烈的急躁情绪在其中。

上面公式看着简单,然而实施却并非容易的事情:我如何知道一个模型用历史数据测试的结果,能够在未来保证盈利?如果不能,那么,再多的时间岂不是都是白费?
这个问题,是困扰大多数程序化交易实施时候的问题,也是困扰我的问题。我这里不想给出这个问题的答案,算是有所保留吧,另外我也需要一定的时间去验证我的想法是否解决了这个问题。

所有理论落到最后,都需要人去执行,人可以设计交易模型,可以启动交易模型,也可以修改交易模型,停止交易模型。所以整个环节的最大障碍,来自于自己。这个问题已经多次让我受到教训。

忘掉自我是相当难的,比如7月份反弹的时候,如果你的系统告诉你该入场,并且告诉你该下多少单,而你主观意识,却又受到网上各种负面看法的影响,认为可能还会继续下跌,那么,你该入场吗?可以预见,未来依然会有不少这样那样的现实去困扰我。

还是以一段电影【After Earth】的台词来结束吧。之所以选这段,是因为我被打击的次数多了以后,内心自然而然的对交易产生担忧,但是另一方面,我又提醒自己,要成功,必须克服这点。
台词我未必完全赞同,不过很符合我现在的心境。

20131007_08
20131007_0920131007_10 20131007_11 20131007_12 20131007_13

后记

这篇文章初稿完成于国庆大假。
过去一直的念头是换个好车,跑跑长途。但是现在的大假成了个怪圈,有时间了,却发现到处都是people mountain people sea,哪里都不想去,最后还是跑到大邑山上修心养性。
可是随着对交易的理解的进步,感觉自己可能不会象原来那样熬更守夜地苦苦沉迷于各种书籍和测试之中了,心里又有点念头想去走动走动,看来看去,似乎就国外现在还算合适。但是这又需要钱钱的配合,所以希望自己的这次对交易的理解,和后续的操作,能够比较顺利,这样才有心情和钱钱去转悠。

毕竟交易对我来说,只是工具,而非我的人生追求。

对于未来,谁说得清呢。我似乎每次写总结,都是以对未来充满希望做结尾,但是每次下一个总结,都是以惨痛的损失为开头。。。

从来没有想到,自己会去设计一个应对未知的未来的这么一套系统。也从来没想到难度如此之大。我一直认为,能做好这系统的,不是个正常的人。
所幸的是,老天总是在打击我之后,给予我一个提示,让我一步步地接近正确的方向。

2013/10/7完稿