头寸管理是交易系统的重要组成部分,合理的头寸分配可以有效降低组合波动,分散风险。在把这件事交给计算机之前,需要先想好对个人而言,哪些因子会影响资金分配以及对应的原则又是什么,而在这之前,先简单介绍一些统计学上所涉及的概念:
均值/标准差/方差/变异系数:
在统计学上,均值(mean)表达的是数学期望,我们平时所用到的均线指标就是收盘价格的均值序列。方差(var)与标准差(std)则表征着序列元素与均值的离散程度,用来描述单一标的样本的分布离散程度,方差(或标准差)越小,表明离散程度越低,样本稳定性就越好,反之亦然。然而方差或标准差可以用来描述单个标的的离散程度,却无法用来衡量多标的之间的离散对比,解决这个问题涉及到另一个统计学概念 — 变异系数(cv),因为标准差与均值量纲相同,我们用cv = std/mean 定义变异系数,cv是无量纲离散指标,可以用来进行横向对比,这是我的头寸量化管理中的一个重要因子。
PS:关于上述提到的统计学概念,有兴趣的朋友可以自行百度,网络上统计学文章很多,内容也很全面,这里不赘述。
对我个人而言,资金的稳定高于对利润的追求,所以在标的头寸分配上,首先考虑的是标的稳定性,对于稳定性较高(cv较小)的品种,给予更高的资金分配,对于稳定性较差(cv较高)的品种,资金分配相对要少,以此来平滑持仓时账户的波动。在有资金需要分配给策略标的时,程序会以标的池中cv最小的品种为锚,通过min(cv)/标的(cv)的比值为参数,决定标的资金分配的基础比例。下面说一下我的头寸分配第二个因子:最大回撤长度比率。
最大回撤长度比率:
采用这个因子的逻辑是一个很简单的出发点 — K线图好不好看。最大回撤长度的单位是时间,也就是样本观测期内,创下最大回撤的时间长度,最大回撤长度比率也就是创下最大回撤的时间长度占总体观测样本的比例。对于这个比例过高的品种,分配资金较少,对于这个比例较低的品种,可以认为其图形上在样本期内并没有走的太差,分配资金会相对多一些,这个多少如何衡量因人而异,我个人是打了一个0.8-1.2的系数,比率越低,系数就越接近1.2,比率越高,系数就越接近0.8。
下面还有几个已经做了设计,选择启用的因子:
上证指数:
分配原则:上证指数在低位时,有头寸需要开仓,多分配一些资金,上证指数在相对高位时,分配少一些资金,这个分配比例区间和最大回撤长度比率差不太多。
百分位数:
分配原则:计算样本最后一根K线收盘价在观测样本收盘价序列中所处的百分位,低位多分配,高位少分配。
峰度偏度:
这个指标涉及到其他的统计学概念,简单几句话没法说清,总体来讲我用这两个指标判断样本所处状态属于偏盘整还是偏趋势,另外还有一些涉及正态分布的其他因子,以后有时间可能会单独写一篇文章分析它。这些指标无法单独决定资金分配原则,需要结合其他数据进行综合判断。
总体来讲,一个决策系统还不是不要搞的太复杂,不然过犹不及,虽然这方面还涉及很多其他内容,可以搞出来更多的决策因子,但是同时启用的我认为不宜过多,在实盘中,我目前启用3个因子:cv比率,最大回撤比率,上证指数,由系统中一个叫做broker的类完成分配,后续还会继续完善这个类,纳入一些其他维度的考虑,比如是否处于超卖之类的判断,视行情特征选择启用。
最后附上一张我的数据库表截图,因子涉及的相关参数均由这个表中的数据提供,这个表格计算的样本周期是30分钟,半年(125个交易日)的数据,每天盘后由一个独立模块单独更新。
文章评论