这是一个基于数据分布的峰度(kurtosis)和偏度(skewness)的交易策略。当数据呈现趋势性,并且潜在趋势为正时,我们做多。当数据呈现趋势性,并且潜在趋势为负时,我们做空。当趋势发生反转后,我们平仓。那么,我们如何确定趋势和趋势的强度呢?让我们先来复习一下峰度和偏度的定义。
峰度(kurtosis),是描绘一组数据的分布形态的陡峭程度的统计量。正态分布的kurtosis为3,所以我们把kurtosis大于3的称作尖峰,表示数据的分布比正态分布更集中和陡峭。我们把kurtosis小于3的作为平峰型,表示数据分布比之正态分布更为平滑。峰度的计算公式可以在网上随意找到,MATLAB或R等统计学软件中也都有内部实现。这里我们所指代的分度是真实峰度减去3之后的值。在金融市场,峰度大于0表现为无趋势(sideway market),峰度小于0表现为趋势市(trending market)。
偏度(skewness)描绘的是数据分布的对称性,或者说是数据中众数(mode)的位置。skewness等于0刻画的是完美的对称性。这个统计量同样需要和正态分布比较:偏度大于0表明和正态分布相比,该数组呈现右偏,表现为右部的长尾并且极端值较多分布于右部;反之为左偏,表现为左部的长尾并且极端值较多分布于左部。在金融市场,偏度大于0可以解释为数据倾向于汇聚成向上的趋势,偏度小于0可以解释为数据倾向于汇聚成下降的趋势。
因此,我们得出以下的交易法则:
若采用趋势跟随型策略:
当峰度小于0(市场处于趋势市),偏度大于0(趋势为上升),波动性高于某一特定水平时,做多;
当峰度小于0(市场处于趋势市),偏度大于0(趋势为上升),波动性高于某一特定水平时,做空;
这里波动性可以用真实波动区间(ATR)来估算。表示为公式为:
Buy when kurtosis(N1) crosses below 0, skew(N2) > 0, and ATR(N3) > minimum level.
Sell when kurtosis(N1) crosses below 0, skew(N2) minimum level.
若采用均值回归型策略:
当峰度大于0(市场处于mean-reversal),偏度小于0(价格偏向较低方向),波动性高于某一特定水平时,做多;
当峰度大于0(市场处于mean-reversal),偏度大于0(价格偏向较高方向),波动性高于某一特定水平时,做空;
这里波动性可以用真实波动区间(ATR)来估算。表示为公式为:
Buy when kurtosis(N1) crosses up 0, skew(N2) minimum level.
Sell when kurtosis(N1) crosses up0, skew(N2) > 0, and ATR(N3) > minimum level.
对应的离场法则大家可以自己设定。比如说:
止损离场
固定持有周期
当峰度变化转向
当采用趋势跟踪型策略时,我们希望波动性不要过大。因此,我们在波动性大于某一特定值时离场。当采用均值回归时,我们希望波动性较大,因此,我们在波动性低于某值时离场。