MACD/KDJ量化策略

公众号文章 snail007 30浏览 0评论

MACD是最常用的几个股票技术指标之一,很多人看到MACD就想到金叉买入,死叉卖出的常规策略。但是仅使用MACD指标成功率不高且交易次数过高,而且效果肯定不会太好,我们在MACD金叉买入,死叉卖出的基础上增加KDJ共振,看看能不能找出一些使用的策略

先说下基础的MACD金叉/死叉策略,基础配置说明

  1. 3日超短
  2. -3.2 – 3.2% 可买如区间
  3. 单日最大买入3股
  4. -9.5止损

策略判断如下(在这里只测试深证以000开头的股票):

buy.macd.diff,0>macd.dea,0

buy.macd.diff,-1<macd.dea,-1

buy.increase,0>value,0.5

config.source.pool=000***

然后测试下线上金叉,如下:

能够看出,线下金叉比线上金叉成功率要好一点点,但是回撤太大

然后考虑合入KDJ指标,根据KDJ指标所处范围,可以分为超卖,超买,钝化等几种情况,为了简化操作,一键执行,本次祭出基于人工智能boosting的蜗牛量化版本,修改后的写法如下

#蜗牛股票量化分析软件 V2.6.0.0

#蜗牛股票量化分析软件是一款股民专用的策略分析软件

#本软件主要用户炒股策略的量化测定

#使用本软件可以鉴定策略的成功率以及盈亏,最大回撤等

#本软件对于熟悉股票指标的股民极易上手

#免费版支持的指标有macd/boll/vol/ma/ohlc/kdj/dmi等

#网址:www.snail007.com

#QQ群:297919841

#设置K线文件目录

config.source.k.dir=data

#设置分笔数据文件目录

config.source.ticket.dir=tick

#设置K线数据格式

config.source.k.format=default

#定义单日股票买入排序,默认为成交量降序(可选升序)

config.trade.buy.order=desc

#定义股票卖出时机,默认为尾盘(可选第二天开盘价-早盘)

config.trade.sale.point=close

#是否使用立即止盈模式,达到设定盈利立刻卖出

config.trade.sale.rapid=yes

#设置单股最大持有日期

config.trade.max.hold.day=3

#设定单股买入后再次买入禁买日期间隔

config.trade.min.exclude=6

#设置止盈点

config.trade.max.profit=27.0

#设定止损点

config.trade.max.lost=-9.0

#设定交易成本(千分之.)

config.trade.tradecost=0.8

#设定单日最大可买股票数

config.trade.max.count=3

#设定股票买入最大允许涨幅

config.trade.max.allow.increase=3.2

#设定股票买入最大允许跌幅

config.trade.max.allow.decrease=-3.2

boosting.做多成功率=50.0

boosting.做多最大回撤=-24.0

boosting.做多平均单笔收益=0.8

buy.macd.diff,0>macd.dea,0

buy.macd.diff,-1<macd.dea,-1

items=buy.macd.diff,0<value,0.0^macd.diff,0>value,0.0

buy.increase,0>value,0.5

items=buy.kdj.j,0<value,15^kdj.j,0<value,30^kdj.j,0<value,45^kdj.j,0<value,60^kdj.j,0<value,75^kdj.j,0<value,90

items=buy.kdj.j,0>value,10^kdj.j,0>value,20^kdj.j,0>value,30^kdj.j,0>value,40^kdj.j,0>value,50^kdj.j,0>value,60^kdj.j,0>value,70

buy.macd.diff,0>macd.dea,0

buy.macd.diff,-1<macd.dea,-1

buy.increase,0>value,0.5

config.source.pool=000***


其中items=用于表明该语句是一个多选一语句

items=buy.kdj.j,0<value,15^kdj.j,0<value,30^kdj.j,0<value,45^kdj.j,0<value,60^kdj.j,0<value,75^kdj.j,0<value,90

上句在使用过程中软件会自动分拆为6个候选买点,分别如下:

buy.kdj.j,0<value,15.0
buy.kdj.j,0<value,30.0
buy.kdj.j,0<value,40.0
buy.kdj.j,0<value,60.0
buy.kdj.j,0<value,75.0
buy.kdj.j,0<value,90.0

根据以上批处理脚本,可以看出本脚本共包含了2*6*7=84个策略,一个子策略如下:

#设置K线文件目录
config.source.k.dir=data
#设置分笔数据文件目录
config.source.ticket.dir=tick
#设置K线数据格式
config.source.k.format=default
#定义单日股票买入排序,默认为成交量降序(可选升序)
config.trade.buy.order=desc
#定义股票卖出时机,默认为尾盘(可选第二天开盘价-早盘)
config.trade.sale.point=close
#是否使用立即止盈模式,达到设定盈利立刻卖出
config.trade.sale.rapid=yes
#设置单股最大持有日期
config.trade.max.hold.day=3
#设定单股买入后再次买入禁买日期间隔
config.trade.min.exclude=6
#设置止盈点
config.trade.max.profit=27.0
#设定止损点
config.trade.max.lost=-9.0
#设定交易成本(千分之.)
config.trade.tradecost=0.8
#设定单日最大可买股票数
config.trade.max.count=3
#设定股票买入最大允许涨幅
config.trade.max.allow.increase=3.2
#设定股票买入最大允许跌幅
config.trade.max.allow.decrease=-3.2
buy.macd.diff,0>macd.dea,0
buy.macd.diff,-1<macd.dea,-1
buy.macd.diff,0<value,0.0
buy.increase,0>value,0.5
buy.kdj.j,0<value,45
buy.kdj.j,0>value,40
config.source.pool=000***

执行后的结果如下

其他80个策略会被以下限制条件过滤掉

boosting.做多成功率=50.0
boosting.做多最大回撤=-24.0
boosting.做多平均单笔收益=0.8

再看一个截图

其中搜索出一个比较好的策略如下:

config.source.k.dir=data
#设置分笔数据文件目录
config.source.ticket.dir=tick
#设置K线数据格式
config.source.k.format=default
#定义单日股票买入排序,默认为成交量降序(可选升序)
config.trade.buy.order=desc
#定义股票卖出时机,默认为尾盘(可选第二天开盘价-早盘)
config.trade.sale.point=close
#是否使用立即止盈模式,达到设定盈利立刻卖出
config.trade.sale.rapid=yes
#设置单股最大持有日期
config.trade.max.hold.day=3
#设定单股买入后再次买入禁买日期间隔
config.trade.min.exclude=6
#设置止盈点
config.trade.max.profit=27.0
#设定止损点
config.trade.max.lost=-9.0
#设定交易成本(千分之.)
config.trade.tradecost=0.8
#设定单日最大可买股票数
config.trade.max.count=3
#设定股票买入最大允许涨幅
config.trade.max.allow.increase=3.2
#设定股票买入最大允许跌幅
config.trade.max.allow.decrease=-3.2
buy.macd.diff,0>macd.dea,0
buy.macd.diff,-1<macd.dea,-1
buy.macd.diff,0<value,0.0
buy.increase,0>value,0.5
buy.kdj.j,0<value,15
buy.kdj.j,0>value,10
config.source.pool=000***

设定股票池000***范围内,针对MACD金叉买入,三日持股或死叉卖出的策略,如果是线上金叉且当日kdj的j值在10-15区间内正确率可以达到72%,同时回撤相当小。如果需要效果更好的策略,则需要增加其他方面的考虑因素,比如股票分类,金叉时股票价格所在位置等等

最近2天我没操作股票,策略无选股

如果感觉本文对你有帮助可以关注公众号 蜗牛量化股票 snailstock

转载请注明:蜗牛股票分析软件 » MACD/KDJ量化策略

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址