交易进阶之限价止损策略下的资金管理


(humidity) #1

限价止损或者说使用条件止损单,并非就是《幽灵的礼物》书中所指的规则一。笔者每一次下单的同时都会发出一张条件止损单,这个止损单有固定的风险承担。虽然这个风险承担的规模很小,但我仍然会根据随后发生的情势再做新的决定,有些情况下不会等待止损被击中才决定退出。固定的风险承担是每一笔交易的底线,这是不能越过的,临时的决定其目标是再进一步缩减风险承担,当然一定在某些时候它同时也造成了赔率上的损失。

《Mathematics of Money Management》书中作者Ralph Vince认为:将交易系统产出序列中的Winner和Loser做平均化处理得出赔率的想法是错误的,在非二项分布的交易活动中运用凯利公式也是错误的。随后,作者发展出非常复杂的分析方法寻求最优f。不过我的看法是,规则一的另外一个好处就是,通过大大的降低Loser样本的波动率,使得系统的稳定性显著的提高,当然我们无法决定同时降低Winner的波动率——因为我们总是希望从正面黑天鹅事件中获利,而且低胜率交易系统的盈利基础就是偶尔的Big Winner。不过由于Winner的波动率对交易者很少构成负面伤害,或者说其程度远逊于Loser的波动率会造成的伤害。因此,规则一对系统的稳定性提升应该是已经起到了最大的作用。

现在我假设在存在规则一的情况下,寻求最优f可以通过平均化以及运用凯利公式,然后看看会发生什么。以2014年某一段时间的交易数据为例,共计391笔交易,盈利211笔(盈亏额大于0),亏损180笔。其中盈利的交易的状况:

![](data:image/svg+xml;utf8,)

均值2111.66,标准差2481.86,最大/均值=8

亏损交易的状况:

![](data:image/svg+xml;utf8,)

均值:-1205.11,标准差917,最大/均值=3.7

整个序列平均化后得出的数据是:胜率54%,赔率1.75。采用凯利公式得出的最优f=0.28。但是,由于期货交易杠杆率有所限制,用序列中的最大亏损乘以最大杠杆率得到的f也只有0.026。这个数字还不到凯利公式给出标准的十分之一。那么我们是不是应该满仓交易?

首先要取得一个数学上的结论,然后再看看现实交易中和数学上的结论有什么关键的不同。

根据上面Winner和Loser的分布,假设其分别服从对数正态分布和关于Y轴对称的对数正态分布。而后对参数进行调整试图从均值和标准差上接近两者。在matlab中分别是:

Winner=50*lognrnd(3.3,0.95,1000,1)

Loser=-110*lognrnd(2,0.75,1000,1)

在matlab中做一模拟,Loser:mean=-1104,std=944。Winner:mean=2050,std=2502。

然后编写一个简单的matlab程序,通过随机的安排每一笔交易的盈亏,当然赢利概率设定在54%,分别从两个随机变量中获取盈亏额,然后乘以在期货交易中更实际的离散的杠杆倍数。假设最大杠杆倍数为6。而账户最大资金回撤的管理要求为15%。程序如下:

INITIALEQUITY=1000000

MARGIN=6

loser=-110*lognrnd(2,0.75,391,1)

winner=50*lognrnd(3.3,0.95,391,1)

equity=linspace(0,0,392)

losermark=1

winnermark=1

equity(1)=INITIALEQUITY

totalgain=0

totalloss=0

for i=1:391

m=rand(1)

if(m>=0.54)

equity(i+1)=equity(i)+winner(winnermark)*MARGIN

totalgain=totalgain+winner(winnermark)

winnermark=winnermark+1

else

equity(i+1)=equity(i)+loser(losermark)*MARGIN

totalloss=totalloss+loser(losermark)

losermark=losermark+1

end

end

disp(-1*totalgain/totalloss)

plot(equity)

最后就是不断的模拟交易过程,随机进行5次模拟:

![](data:image/svg+xml;utf8,)

![](data:image/svg+xml;utf8,)

![](data:image/svg+xml;utf8,)

![](data:image/svg+xml;utf8,)

![](data:image/svg+xml;utf8,)

由于根据交易序列其最大f仅能达到给出最优f的不足十分之一,最大f约为本金的2.6%,本金剩余97.4%,接下来的最优f相当于0.974*0.28=0.272。最大f仍然不足最优f的十分之一。因此,只要不出现非常非常极端的情况,那么持续的满仓交易是符合固定比例交易的资金管理策略的。

现在,数学上的结论是,面对这样的交易序列,最正确的交易方式就是满仓交易。我们实现了最大化的增长率,同时回撤仍在控制之内。那么现实的结论呢?

![](data:image/svg+xml;utf8,)

上面是现实中2015年9月后某段时间的净利润走势,和之前的数据来源不同。似乎还是较为符合模拟的形态,但实际上此时最大杠杆率已经下降到2.3倍,由于杠杆倍数更为离散,因此复利效用更难接近。然而仅在这一年多的时间里,就至少观察到一次自相关造成的回撤过度——超出市场观点错误和随机性范畴的主要起因为情绪化的额外回撤。那么,当杠杆率持续保持在6倍时,交易系统的稳定性就很容易被自相关造成的回撤所损坏。交易序列自相关本质上损害了交易逻辑的发生器,使得交易者获得的交易序列和过去完全呈现不同的概率分布。这个时候依据数学上正确的方法处理交易是错误的。

所以,虽然规则一给交易者扩大杠杆率提供了序列稳定性的基础,但是这还的确不够。我们还至少做了另外的两个假设:

1)交易者的决策环境不会变化

2)交易者的决策状态不会变化

显然都不可能发生。第一点,市场的行为特征的确在变化,虽然很多时候呈现出连续的特征,但总体行为很像是地球的气候模式,大周期嵌套小周期,总而言之,混沌系统的特性。第二点,交易者的决策状态即便不会根据交易外的事情变化,也很容易根据资金曲线以及市场的环境变化,在更容易犯错误的市场中,交易者更容易情绪化造成交易序列自相关性上升。但关于市场的行为特征,交易者能做的只有适应,预测市场行为的变化可能是一个奖励,但绝不可以依赖。交易者的必要性回撤不可能继续削减,能够真正做好的只有限制自己情绪化造成的损害。

在交易逻辑错误或者说观点错误,以及市场的特征行为不适合某些特定的策略方面,交易者能够做的基本上只有调整和适应,在这种情况下回撤很难再度降低。因此,如果持续的满仓交易,很容易在出现这些情况时(并不能责怪交易者自己)造成过大的回撤。此时的麻烦在于,交易者一方面由于压力一方面由于自责,产生情绪化交易的状态,偏离正确交易行为,虽然继续满仓交易仍然是数学上正确的(暂时不提回撤控制要求),但决策基础已经被损害,这等于说交易者在输钱的状态下行动却最多,而却以为自己只是坚持数学上正确的结论。

关于这一点我暂时的想法是,通过调整杠杆率观察自相关性的变化趋势,一般而言简单的结论是:杠杆率上升,自相关性随之上升,TotalGain/Loss Ratio交易效率下降。自相关性的问题是一个重要的方面,不过如果处理的好,确实仍然不足以抵消规则一带来的优势。不过还是存在市场环境变化的问题,有机会后面再展开。

对《Mathematics of Money Management》感兴趣的朋友请关注公众号临塘而渔,我已经打算翻译其中的一部分。因为本文中提到的一些理由,个人对这本书的后半部分没有深入研究,对这本书进行翻译也算是一种挑战。