小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理

前言

相信大家都听说了量化交易这个东西了吧!量化交易是一种新兴的系统化金融投资方法。

那么,什么才是普通股民所适合的量化交易打开方式呢?

本文就用一个接地气的股票分析场景——典型的趋势指标金叉死叉策略,在震荡行情中的处理来和大家分享一下,普通股民如何去使用量化交易!

识别金叉和死叉 

在趋势型择时策略中,用行情指标金叉和死叉点作为买卖点是非常典型的一种操作。

所谓金叉指的是指标短期线向上穿越长期线的交叉,可视为市场由空头转为多头。 同理死叉指的是指标的短期线向下穿越长期线的交叉,可视为市场由多头转为空头。比如移动平均线的金叉/死叉,如下图所示:

所谓量化就是把金叉和死叉的特点归纳成一种算法模型,用量化程序去识别。

比如SMA20 和SMA30形成金叉的特点是:在金叉的左边SMA30大于SMA20,在金叉的右边就变成了SMA20大于SMA30。同理死叉也是如此。定义出了这个特点之后,程序实现就变得清晰简单了。

震荡行情如何处理 

在趋势型择时策略中,用行情指标金叉和死叉点作为买卖点是非常典型的一种操作。

那是不是策略中识别出指标的金叉和死叉点之后,就可以跟着去买卖交易就行了?

如果当前行情就是单边趋势型行情的话,我们认定趋势型指标,比如均线、MACD的金叉死叉去买卖当然是可以的,不过事与愿违的是行情通常是趋势加震荡,趋势中又存在着震荡。

我在星球上写过一段话:“根据策略的内在逻辑来区分,有些策略是阶段性有效的,比如震荡行情有效、牛市行情有效.......这类策略在非有效的阶段表现就差强人意了。”

所以同样是经典的金叉死叉策略,用的时机很有讲究!

比如书中的一个例子,格力电器2018年6月至2019年6月的行情走势。在 2019-01-17 日 MA20 和 MA30 形成金叉,之后开启了一轮上涨直到 2019-05-24 日出现死叉信号。 虽然有滞后特性(这个是所有趋势类指标都存在的一个问题),但涨幅仍然非常可观 。

当股价处于震荡盘整阶段时,均线会频繁出现交叉信号,导致交易信号的失真,例如 2018-10-17、2018-11-02 等交易日。

这些干扰信号的产生是因为该股当前处于震荡盘整走势所引起的。此时会频繁地触发买卖信号,由于均线的滞后性,大部分交易是亏损的,而且随着震荡走势的延续亏损会不断的扩大。这就是典型的用错了指标,因此需要额外通过策略去滤除才行。

总结起来就是震荡行情下均线频繁粘合,不断出现交叉。比如上图所出现的四对金叉死叉详情如下所示:

(1)金叉出现日期:2018-10-17; 死叉出现日期:2018-11-02; 死叉与金叉间隔时间:16 days 00:00:00; M20指标波动幅度:0.6470881035340962%

(2)金叉出现日期:2018-11-12; 死叉出现日期:2018-11-22; 死叉与金叉间隔时间:10 days 00:00:00; M20指标波动幅度:0.28129032258066794%

(3)金叉出现日期:2018-11-26; 死叉出现日期:2018-11-29; 死叉与金叉间隔时间:3 days 00:00:00; M20指标波动幅度:0.2835575466445613%

(4)金叉出现日期:2019-01-17; 死叉出现日期:2019-05-22; 死叉与金叉间隔时间:125 days 00:00:00; M20指标波动幅度:50.892457209561215%

很明显,在震荡行情下均线反复粘合出现金叉死叉的特点是:死叉与金叉间隔时间短;指标波动幅度小。

于是我们可以在金叉死叉策略中加入滤除震荡行情的因子,当出现均线反复粘合的情况下,我们识别为震荡行情,不参与买卖交易(图中用黑色箭头标注)。如下所示:

波动幅度和间隔时间的计算代码如下所示:

dif_rat = abs((df_signal.iloc[i, m_dif] - df_signal.iloc[pre_id, m_dif])/df_signal.iloc[pre_id, m_dif])
date_rat = df_signal.index[i] - df_signal.index[pre_id]

以上是针对双均线金叉死叉策略的优化措施,如果是MACD指标金叉死叉策略的话,也是一样的。

加入滤除因子之后可以过滤震荡行情下出现的金叉死叉信号,留下了的都是与趋势行情所相对应的交易信号。如下所示:

除了本期我们介绍的方法之外,还可以通过小级别周期对产生的交易信号加以分析,也可以结合成交量或者股价波动幅度来滤除震荡行情……大家是怎么滤除的呢?欢迎留言交流。

总结

通过这个简单而又实用的股票量化场景,希望能够给广大朋友对于量化交易有一个直观的感受。

然后,我们应该升级自己的炒股方式了,把自己以前炒股的那套方法,抽象成策略模型,用量化的方法去全市场回测评估,然后让程序帮助我们监测行情的走势。

这个才是普通股民所适合的量化交易打开方式!

说明

例程中代码涉及到《Python股票量化交易从入门到实践》书中知识点。比如:

第8章   股票技术指标的可视化分析*** 

    8.1 定制可视化接口

        8.1.1 可视化代码结构分析

        8.1.2 可视化接口框架实现

        8.1.3 可视化图表类型实现

        8.1.4 可视化接口使用说明

    8.2 基础技术指标的可视化

        8.2.1 原生量价指标可视化

        8.2.2 移动平均线 SMA 可视化

        8.2.3 震荡类指标 KDJ 可视化

        8.2.4 趋势类指标MACD可视化

    8.3 衍生技术指标的可视化

        8.3.1 均线交叉信号可视化

        8.3.2  股价跳空缺口可视化 

        8.3.3  量价指标周期重采样 

        8.3.4  黄金分割与支撑/阻力线

    8.4 使用 TA-Lib 库计算技术指标

        8.4.1  常用技术指标的计算方法 

        8.4.2  常见 K 线形态的识别方法

        8.4.3  TA-Lib 库的计算速率优势

    8.5 自定义显示界面框架开发

        8.5.1  行情界面需求分析 

        8.5.2  行情界面框架实现

        8.5.3  如何显示行情界面 

关于例程中的代码,我们会上传至《Python股票量化交易从入门到实践》读者交流群和《玩转股票量化交易》知识星球(知识星球的目录可点击【阅读原文】查看)。

往期回顾

小散量化炒股记|只用一分钟选出底部放量跳空上扬的强势股

小散量化炒股记|不用追高!Python告诉你强势股回调介入的位置

小散量化炒股记|一文揭秘主力、散户资金流入流出的来龙去脉

小散量化炒股记|搭建本地化的股票量化数据库这么几步就够了

小散量化炒股记|Python数据透视表和热力图跟踪行业板块热点切换

元宵大师的量化交易书籍开售!!京东、当当、天猫有售!!凭订单进读者交流群获取工具源码!加我微信了解详情
微信关注:‘元宵大师带你用Python量化交易’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值