Lyndon的量化修炼之路——随机指标(KDJ)优化策略(一)

//期市妖风大,小心被刮飞。本文不构成任何实质性建议,也不对任何依此进行的交易结果负责

话说虽然啊我也不知道为什么要叫个随机指标,跟随机一点关系都没有,难道是让我们随机赔钱?

KDJ指标是上世纪50年代George Lane创立的趋势指标,其融合了动量观念、强弱指标和移动平均线的一些优点,特别是对于短期行情的判断较为灵敏。

目前为投资者采纳的KDJ指数计算方法有两种,其主要差异集中在K和D的确定方法上:①K值为RSV的N1日平均值,D值为K的N2日平均值;②K值为2/3倍的前日K值与1/3倍的当日RSV值之和,D值为2/3倍的前日D值与1/3倍的当日K值之和。用公式表达如下:

① K=∑(RSV)/N1
D=∑(D )/N2
② K=2/3×K_前值+1/3×RSV_当日
D=2/3×D_前值+1/3×K_当日

但显然前者更加符合KDJ的理念,因此在这里的分析倾向于使用通过移动平均值来计算KD值的方法。但随之而来的情况是KDJ策略会有3个需要定义的参数,即①前N周期最高最低值的周期数,用TN表示;②取K时的移动平均周期数,用TMA1表示;③取D时的移动平均周期数,用TMA2表示。在某个量化交易平台中,KDJ的这一参数组合被定义为(9,3,3),在此也沿用该观点作为比较基准。

接下来对KDJ指标的应用和优化将着眼于短线的分析,这里采用沪镍指数作为分析的品种,具体测试信息如下:

项目
交易品种文华沪镍指数
交易策略随机指标策略
期初余额50,000元人民币
持仓手数(比例)1手
保证金比例10%
手续费上期所手续费标准(开6,平6)
回测时期2017年1月1日 ~ 2017年12月31日
K线周期30分钟
TN9
TMA13
TMA23

KDJ的使用方法是通过判断KD的交叉来发出开平仓信号,并辅以J发出的超买超卖来综合判断,在此将操作原则简化为以下2项:

①当K从下往上穿过D时,发出多开信号;当K从上往下穿过D时,发出空开信号。
②当J大于100时,若持有多单则平仓,至下一次空开信号发出;当J小于0时,若持有空单则平仓,至下一次多开信号发出。

将这一思路用程序化实现,运行后得到以下结果:

项目
期初余额50,000元人民币
期末余额42,524元人民币
盈利率-14.95%
胜率38.88%
盈亏比1.51
权益最大回撤比32.69%

显然从结果来看并不尽人意,在观察回测给出的交易信号后发现,部分过于频繁的交易往往是负收益的主要原因,其次部分信号的发出,特别是超买超卖的判断则是失真的,那么对于KDJ的优化主要集中在2个方面:1)过滤掉不必要的短时开平仓;2)对超卖超卖状态的重新审视。同时,仍然可以在优化后的KDJ模型中引入状态指标,辅助筛选出更合适的交易信号。
在这里插入图片描述

过滤短时开仓信号

事实上这种较短的开仓信号发出时,KD两线交叉后背离的幅度很小,或许代表着当前趋势形成得较为模糊,因此也增大了出错的可能。但正由于判断模糊,导致多空信号不断的交替出现,引起大量不必要的错误交易,带来损失的同时也造成一定交易成本损耗。

因此可以考虑在交易信号发出时不交易,同时由策略发出等待交易信号,同时判断KD值背离的程度,如果背离超过一定程度则由等待交易信号转变为交易信号,如果没有超过则销毁等待交易信号,直到下一个交易信号产生。应该来说这样会过滤掉一部分不太明确的开仓信号,从而规避错误信号带来的损失,尽管同时也会损失一部分利润。

假如过滤条件后,观察一下策略给出交易信号的情况与之前的不同之处。首先以下两张图片中上图为过滤信号前的信号发出状况,下图为过滤后的。上图左侧方框内分别有一次非常短暂的多开和空开信号,两个信号的方向均为错误的,过滤之后的下图相同位置则过滤掉空开信号,成功规避损失。同时我们也可以观察到在右侧方框里同样被过滤掉一个并不短暂信号,这是由于等待交易信号发出后始终没有达到转化为实际交易信号的条件,在这个过滤规则中同样被认为是不明确的交易信号。

在这里插入图片描述

在这里插入图片描述

再来看一看添加过滤规则后的模型表现效果:

策略盈利率胜率盈亏比交易次数权益最大回撤比夏普比率
KDJ-16.68%38.82%1.5064433.20%-12.37
KDJ-过滤短时信号13.50%45.43%1.2733918.78%6.63

在这里插入图片描述

至少从回测结果来看,短时信号过滤的效果是不错的,在相同条件下实现正收益的同时,提高交易的胜率,并大幅降低了交易次数,减少交易成本,同时也使得策略的最大回撤有一定降低。

那么短时过滤的效果基本得到了实现,但同时也向策略中引入了1个(或者2个)新的参数,即当等待开仓信号发出后,KD背离达到转换为确定交易信号的阈值(如果看多信号和看空信号采用不同的阈值,则有2个新参数),在上述测试中,这一阈值为2。

~~~~~~~~~ ~ 风雨不倒的小尾巴 ~ ~~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值