海龟交易法则的加仓方法,为啥以波动性作为间隔?
发布网友
发布时间:2022-10-15 11:30
我来回答
共1个回答
热心网友
时间:2023-10-08 23:22
这个问题我认为问的十分到位!为了解释这个问题,我把海龟交易法则中关于头寸规模、入市规则和止损规则又都细细的品了一遍。这么一琢磨对我的启发也不小。这次为了解答这个“加仓间隔”的问题,有一部分以前没看出来的内容也被发掘了出来。
不过,现在研究海龟交易法则的人那么多。我的观点也只能代表一家之言,难免偏颇。各位看官姑且观之吧。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
总体来说,海龟交易法则中,加仓部分为什么要以波动性为间隔?
我认为,这主要是因为海龟的波动性中已经设计了头寸规模。而头寸规模又与止损规则相关。所以,在波动性的表象下,加仓过程其实是以风控管理为内核的一个操作行为。不过,这里也潜藏着一些深层次的东西。
下面我就把我的看法展开。
我们先从海龟的开仓规则开始讨论,然后进一步讨论到加仓上。
海龟的原始开仓规则包括两部分,书中称为入市策略,如图:
简单说,海龟就是通过突破唐奇安通道来发出开仓信号的。
但有一点我们需要注意的是。海龟的两个系统中只有系统2提到了加仓规则。而系统1只论述了信号的甄别。这里我就不浪费篇幅去贴海龟的原文了。建议大家找来海龟这本书对照着看。这段在书中的第232页。
这里,我认为有必要先开个小差,我们先来聊聊海龟的系统1。
系统1对信号的有效性进行了区分,它们分别是——盈利性突破和亏损性突破。书中并没有定义其他形式的突破,所以,我们可以理解为一旦系统1发出了交易信号,那么后续对这个信号的判断就只有“盈利性突破”和“亏损性突破”的二元定义。这与持仓是否处于盈利无关。
我们先看一下原文的表述:“假如上一次突破是一次赢利性突破(也就是可以带来一次赢利的交易),那么系统1的当前入市信号将被忽略。”
从字面上理解,由于唐奇安通道本身是在描述不断创出的新高或新低点。如果,以价格突破唐奇安通道高点(以上涨为例)为信号的话,那么价格不断创新高的过程,可以视为系统在不断发出信号。海龟不可能每个创新高的时点都做多。所以,只在第一个突破的时候买进去。这个信号被视为有效信号。后面再突破就不再买了。也就是说系统1更多的情况是只有底仓而不加仓的。
我们再研究一下亏损性突破的定义:如果突破日之后的价格在头寸有机会退出获利(根据10日突破退出法则)之前发生了2N幅度的不利变动,这就被视为一次亏损性的突破。
这其实是说,当仓位建好后,在不利方向的2N位置设置个初始止损。(不了解N的意思的朋友不用急,我后面会详细说。现在我们先暂时把N理解成为N个最小变动价位)
如果这个初始止损被触发了,那么产生这次操作的突破信号就叫做亏损性突破。
根据规则,我们可以看到:系统1就是在等待开仓机会,设好初始止损和持续跟踪中完成交易的。
我们再来看看系统2的入市规则:
“如果价格超过55日最高价,那么,海龟就会在相应的商品上买入一个单位建立多头头寸。如果有一个信号显示价格跌破了最近55日的最低价,海龟就会卖出一个单位建立空头头寸。
对系统2来说,所有突破都被视为有效信号,无论上一次突破是亏损性还是盈利性的。”
在系统2中,已经不考虑盈利性突破还是亏损性突破了。只要是突破,就被认为是有意义的。
为什么?!
为什么系统1就要区分而系统2就不区分了?
我认为,首先回答了这个问题才能从更深的一个层次去理解海龟加仓的逻辑。
我们看海龟的系统1和系统2,本质上其实就是两套趋势跟踪系统揉在一起。一个是参数较小的敏感系统,一个是参数较大的迟钝系统。
相对迟钝系统,敏感系统会发出更多的信号。由于市场中单边趋势行情并非很多,那种“恰到好处”的波动很容易将系统1频繁的清洗出场。
即使是一个标准的单边趋势,其过程中也难免出现过大幅度的反向运动。这种反向运动不仅会结束盈利持仓,甚至会给出反方向的开仓信号。而这种反方向的开仓信号,通常又会产生2N幅度的亏损。
可以说,海龟本身已经考虑到了敏感系统的不稳定性。所以,它并不在系统1上加仓。这一点对我们也有借鉴意义。那就是,敏感参数构成的系统最好不要通过频繁的加仓来捕捉趋势。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面,我们在讨论系统2的加仓思路前,先做一些铺垫。
再讨论加仓规则前,我们要先把海龟的仓位计算和止损规则研究一下。
海龟是通过计算交易标的的“真实波动幅度均值(ATR)”,并结合资金回撤幅度来计算下单量的。这体现了海龟将波动性与风险控制结合起来的思想!我认为这是有很大前瞻性的思想这个思路在我的文章《 干货!给期货新手讲一个简单易用的资金管理方法 》也有涉及。
接下来我们讨论一下具体的公式,以及存在的问题。
要计算真实波动幅度均值(ATR),要先计算“真实波动幅度(TR)”。
公式为:
TR = MAX(H - L, H - PDC, PDC - L)
H-当日最高价;L-当日最低价;PDC-前个交易日的收盘价,简称:前收价
简单说,就是当日的高低价差、最高价和前收价的价差以及前收价和最低价的价差中找到对大的那个数,作为当天的真实波动幅度(TR)来用。(这要在日线收盘后计算。)
这里出现了问题一:作为现代市场,很多流动性较大的品种,其TR通常为当日最高价与最低价的差。
我们看一下示意图:
除去比较极端的情况,比如春节、十一假期后开盘。这种前收价在当日高低价以外的例子,在如今的期货市场上已经不是很容易出现了。即使出现了,由于在计算ATR时又进行了一下平均,其对最终结果的计算的影响也已经微乎其微了。
我在想,海龟为什么在计算TR的时候,要考虑前收价呢?可能是因为当时的市场,日线级别出现大幅度跳空的情况比较常见。为了将跳空的尺度计算到风险控制模型之中,必须将前收价与当日高低价的差值进行比较,并取大者。
其实,从这个片面的角度,我们也可以看到海龟系统与如今市场节奏上的不同。在计算如今市场的波动幅度的时候,我们也应该与时俱进为佳。不过,原版海龟的这一步计算也不是不能用。
然后,在计算N值的公式上,出现了第二个问题:如果选取不同的起始日,计算出来的N值将会出现差异。
先来看一下N的计算公式:
N = (19 × PDN + TR)/20
PDN-前个交易日的N值;TR-当日的真实波动幅度值
“由于公式中需要前一日的N值,你在首次计算N的时候不能用这个公式,只能计算真实波动幅度的20日简单平均值。”
也就是说,如果我们选择的起始日不同,其对应的起始N值就会不同。
我们用原文中的数据举个例子:
由于首个N值是用真实波动幅度TR的20个平均值计算的,不同的日期,其均值取值范围不同,具体的数值肯定也会不同。而后面的N值则都是在这个基础的N值之上进行计算,难免就会出现误差。
所以,现在很多软件中ATR的计算直接就用20个TR的均值了。而不是再生搬硬套这个N的公式了。
所以,为了有所区别,海龟计算的咱们还叫N。而单纯用TR平均计算出来的咱们以后就叫它ATR吧。
海龟们得到N之后,就要用它来计算下单量了。
公式为:
头寸规模单位 = 账户的1%/(N × 点值)
用书中的例子计算:
当N = 0.0141;账户规模=1 000 000 美元;民用燃油点值 = 42000美元
头寸规模单位 = 1 000 000 × 1% / (0.0141 × 42000)=16.88
取整为16份合约。
好,现在要回忆一下上文中,咱们讨论系统1的时候提到的初始止损了。也就是2N的止损空间。
如果下单16份合约做多,止损跌2N的话,这次交易将会亏损:16×42000×2×0.0141=18950.4美元
我们再算算比例:18950.4 ÷1 000 000 ×100%=1.895%≈2%
到这应该就能明白了吧,海龟的止损其实是配合着资金管理的。其目的就是根据行情的波动幅度,在尽可能包容行情折腾的前提下,让单次亏损的资金控制在总资金的2%以内。
这让初次分析海龟的朋友容易混乱。它等于在一个环节里处理了包括:市场波动、风控计算(通过下单量计算实现)、止损点位确认等多个任务。
那,这与我们问题中的加仓有什么关系呢?
这涉及两方面问题,我们接着讨论。
=========================================
首先,我们从书中的例子入手。
在书中的第236页,关于『止损标准』这一段,如图:
我们可以看到,加仓的点位都是在初始位置上按1/2N的间隔累积的。而止损价则是入市价反向2N的位置。
也就是每一次新开仓,如果成交后,行情折返并触及止损,则该笔交易将亏损总资金的2%。
我们逐个计算一下:
第四个单位:30.10 - 27.70 = 2.4;2.4 ÷1.2 = 2(N) (N=1.2)
第三个单位:29.50 - 27.70 = 1.8;1.8 ÷ 1.2 = 1.5(N)
第二个单位:28.90 - 27.70 = 1.2;1.2 ÷ 1.2 = 1(N)
第一个单位:28.30 - 27.70 = 0.6;0.6 ÷1.2 = 0.5(N)
总计亏损:2 + 1.5 + 1 + 0.5 = 5 (N)
也就是说,开四个单位的仓,总风险理论上为5%。
也就是说,海龟的这个加仓其实是在考虑总风险控制的基础上,来进行分步加仓的。
而每往上增加1/2N,行情就有可能提前折返而无法触发新的买入位置。这在一定程度上将降低亏损的机会成本。
比如,行情只启动了第二个单位就折返了。此时两个单位都止损,其总风险为3.5%。如果,我们在最开始启动的位置直接买两个单位(而不是一个单位)的话,总风险将是4%(虽然初始止损位更低一些)。这样比较起来,虽然进场位置更不利了一些,但总风险其实在同等仓位的时候更小了点。而且,从行情能够到达第二个买入位来看,潜力比在价格只到第一个位置时更强势了一些。
我们可以这么考虑,当行情涨了10%的时候,我们可能还没什么感觉;当行情涨了20%的时候,我们觉得行情已经有启动的可能了;当行情涨了30%的时候,我们确信上涨趋势要来;当行情涨了40%的时候,我们处于上涨趋势之中;当行情涨了100%的时候,我们已经大幅获利。
这也就是正反馈思维的核心,每一个顺势的强化都被认为是在继续增强中。所以,海龟的加仓可以理解为正反馈思维的具体化。
第二个层面:
费斯在书中讲过这么一句话:
这表明,如果趋势出来了,却没能赚到足够多的钱,那么最终海龟是难逃亏钱的命运的。
这表现在两个方面,一个是趋势必须把握到,不能错过;另一个就是把握到的趋势,必须尽可能的多赚。
因此,海龟设置了系统2。通过更加迟钝的系统,来把握必然出现的趋势。即使系统1被震出场,那么系统2也必将把趋势把握到。
但把握到趋势还不行。费斯的潜台词是,迟钝系统启动代表出大趋势的可能性就会大于系统1。那么,必须通过尝试加仓的模式来尽可能的去把握利润。
从这个角度,也就解释了,为什么系统2有加仓而系统1却没有。
因为两个系统的作用是不同的:系统1是在尽量规避噪声的同时,把握行情;系统2则是在把握行情和风险可控的前提下,尽可能多赚。
好,啰嗦了半天,我们最后总结一下回答。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
海龟的加仓方法,为什么以波动性作为间隔:
海龟的加仓可以说是一种对“相对确认”的行情“下重注”的行为。
以波动性进行加仓,一方面是在系统2的信号基础上再对行情进行一遍筛选,避免不必要的重仓;另一方面则是为了每次进场的头寸更方便的设置初始止损位服务,从而将单笔风险和总持仓风险控制住。
如果进行尝试,以波动性进行加仓的模式可以进行变通性调整。只要能够将控制风险和把握行情这两个基本原则顾及上就行。比如,利用系统2突破时,突破位置必须在1/2N以上的位置再加仓;又或者,在20日唐奇安通道的跟踪轨道侧向上加2N的位置作为进场位置,通过跟踪20日唐奇安通道的离场轨道来加满四次仓等。
总之,在海龟看来,趋势行情不多,不能错过,且一定要尽量多赚。至于形式,只要遵守那两个基本原则,可以变通。
好了,啰嗦了很多话。其实三四段内容就可以总结。但是,如果只有三四段话可能也会有人看不明白。就当我这个文章是在梳理思路吧。
如果您认可我的文章,请帮忙转发一下。让更多感兴趣的朋友看到。如果我的文章能够给大家更多的启发,我将不胜荣幸。