干货!“双神穿多线”实盘策略全解析——从零到实盘15

“从零到实盘”系列文章更新到现在,已经陆续介绍了“双神穿多线”策略(暂且叫这个名字吧)的一些内容,以及策略所需的数据计算代码。本文将结合近期的实盘交易数据,详细介绍策略的完整逻辑。本文没有代码,纯粹的策略解说。阅读本文后,读者应该可以完成手动的策略实现,有程序化交易平台的读者也能够实现程序化交易。笔者后续也会发布基于PTrade的自动交易代码。

Warning! Warning! Warning!:策略仅供交流学习,不构成投资建议,盈亏自负!

完整策略逻辑

在实盘“双神穿多线”策略时,笔者尽可能地逼近回测过程,该策略在2018年至2020年3年周期用backtrader回测后,年化收益为41.7%,最大回撤为25.8%。

但是由于我们是用日线做的回测,但是是在分时数据上实盘,回测和实盘还是有不小差距的。自2021年11月15日实盘至今,收益8.5%,最大回撤4.2%。

本策略总体可以分为以下3个步骤:选、买、卖。

股票进入候选池需要当天日线同时满足以下三个条件:

  • 日线同时穿过5、10、20、30日均线
  • 30日均线在60日均线上方
  • 形成双神

筛取候选股票的代码已经全部发布,读者可以参考前面的文章获取。我们已经实现把所有条件都集中在candidate因子实现上,只需要选出当天candidate因子值为1的股票,就是我们后续需要监测买入的股票。

根据回测的参数优化结果,我们会将仓位平分成3份,每份用于买入1只股票,也就是说,我们的持仓不会超过3只股票。

对于候选池的股票,我们会设置买点,目前使用的买点是股票进入候选池当日的收盘价

股票进入候选池后,后续交易日有以下3种可能的处理:

  1. 盘中价格未出现小于等于买点的情况,则继续留在侯选池内观测
  2. 盘中价格出现小于等于买点的情况,且持仓股票只数未到上限(3只),或盘中有其他股票卖出腾出仓位
    • 此时股票价格有一定的盈利空间,则以当前价上浮一个小范围作为委托价提交买单
    • 如果此时没有一定的盈利空间,但在收盘前某时刻出现一定的盈利空间,则以该时刻价格上浮一个小范围作为委托价提交买单
    • 如果至收盘一直未出现一定的盈利空间,则移出候选股票池,不再进行监测
  3. 盘中价格出现小于等于买点的情况,但持仓股票只数已到上限(3只),且至收盘也没有其他股票卖出腾出仓位,则股票移出候选股票池,不再进行监测

上面列出了3种可能的处理,其顺序并不是按照实盘代码的逻辑顺序编排的,在这里这么排序只是让读者能够直观了解到,候选股票可能有继续候选(处理1)、买入(处理2、3)、移出候选(处理3),即使没有实现自动交易,读者也可以据此进行手动交易。

对于买,还有几点需要说明:

  • 在买入处理时,我们有“上浮一个小范围”这样的描述,这是为了确保买单可以成交,某些股票会出现快速上涨的情况,如果已当前价作为委托价,会经常出现买单无法成交的情况(手动交易可根据盯盘情况下单确保成交)。因此,我们会把当前价*1.018作为委托价提交买单。为什么是乘以1.018?由于创业板和科创板都有2%的价格笼子的限制,因此这里我们把系数统一设置为1.018。
  • 在买入处理时,我们还有“有一定的盈利空间”这样的描述,这是因为我们设置了买点*1.0618作为止盈价格,如果股票当前价格过高,我们的买入就失去了意义。因此,在实盘时,我们使用(当前价*1.018)<=(买点*1.0382)作为有一定的盈利空间的标准。也就是说,在不考虑手续费的前提下,最差的情况是订单以当前价*1.018成交,且此时(当前价*1.018)=(买点*1.0382),如果能顺利止盈,我们至少还会有1.0618-1.0382=2.36%的收益。

股票买入后,有以下3种卖出的可能:

  1. 股价涨到买点*1.0618,止盈卖出
  2. 股价跌到买点*0.8382,止损卖出
  3. 未能止盈或止损卖出,在持股第7天(持股天数限制)开盘卖出

对于卖,有以下几点需要说明:

  • 无论是止盈卖、止损卖、还是达到持股天数限制卖,为了确保卖单成交,我们会把当前价* 0.982作为委托价提交卖单。这样在一定程度上避免了某些股票快速下跌,以当前价卖出无法成交的情况。如果是手动交易,可以根据实盘情况调整卖单委托价。
  • 持股天数限制实际设置为6,这是使用backtrader回测,参数优化后得到的结果。backtrader会在达到持仓天数限制后的一天开盘卖出,因此这里我们选择在持股第7天开盘卖出,来尽可能接近回测情况。在日K线图上看,达到持股天数限制卖出的股票,买入和卖出中间有6根K线。

实盘记录分析

下图为2021年11月15日以来,完成交易的实盘记录信息(不含当前持仓的股票信息),该表(ptrade_history)存放在MySQL中,我们选取部分记录对策略的逻辑进行分析。需要说明一下,在实盘过程中,也发现了程序的一些问题,实盘程序也是在不断修改完善,所以实盘记录可能与理想的策略执行结果略有出入。

ptrade_history

首先介绍一下各列的含义:

  • code:股票代码
  • date_candidate:股票进入候选池的日期
  • buy_point:买点价格
  • price_take_profit:止盈价格,即buy_point*1.0618
  • price_stop_loss:止损价格,即buy_point*0.8382
  • date_buy:买入日期
  • hold_days:持股天数,每日盘后会更新,值为7的股票,就是达到持股天数限制后,在7天的开盘被卖出
  • date_sell:卖出日期
  • trade_volume:成交的股票数量
  • amount_buy:买入总金额
  • amount_sell:卖出总金额
  • buy_available:是否可买,也就是进入候选池后,监测后续交易日股票价格是否达到买点以下
  • to_trade:是否继续参与交易,值为1时,表示继续监测进行交易,值为0时,表示不再进行交易

止盈卖出603050

603050st

603050科林电气:

  • 2021年11月15日,进入侯选池
  • 2021年11月16日,达到买点19.28,买入成交价为19.84(盘中程序出现问题,)
  • 2021年11月17日,达到止盈价20.47,卖出成交价格为20.47

持股天数限制卖出600101

600101st

600101明星电力:

  • 2021年11月15日,进入侯选池
  • 2021年11月16日,达到买点6.9,买入价格6.87
  • 2021年11月16日至24日,持股6天
  • 2021年11月25日,开盘卖出,开盘价6.75,卖出成交价为6.75

盘中卖出000150,买入600875

000150st

000150宜华健康:

  • 2021年11月17日,进入侯选池
  • 2021年11月18日,达到买点3.67,买入价格3.59
  • 2021年11月19日至24日持股4天,未止盈也为止损
  • 2021年11月25日,达到止盈价3.89,卖出价格4.09

600875st

600875东方电气:

  • 2021年11月19日,进入侯选池
  • 2021年11月22日至24日均未达到买点
  • 2021年11月25日(000150卖出,腾出资金,600101也在此日开盘卖出),达到买点19.23,买入价格19.25
  • 2021年11月29日,达到止盈点20.41,卖出价格20.33

无资金,603668移出候选池

603668st

603668天马科技:

  • 2021年12月3日,进入候选池
  • 2021年12月6日,达到买点8.39,但是当日已有3只股票,没有空闲资金,因此没有买入,该股也被移出候选池,不在监测交易

可以看到,表ptrade_history中的to_trade列只均为0,表示这些股票都以不再进行监测交易了。

再来看一下MySQL中的另一张表,表名为ptrade,截止至2021年12月6日盘后更新数据后,表的内容如下:
ptrade_table

可以看到,表ptrade的to_trade列值均为1,表示这些股票都将被在实盘中监测进行交易。我们还是抽几条记录结合K线图进行简单分析。

持续候选002505

002505st

002505鹏都农牧:

  • 2021年11月19日,进入侯选池
  • 之后直接高开高走,至今为回踩买点3.39

买入持有尚未卖出603920

603920st

603920世运电路:

  • 2021年11月29日,进入侯选池
  • 2021年11月30日,达到买点22.44,买入价格22.21
  • 截止2021年12月6日收盘,持股5天,尚未止盈止损

新鲜候选300209

300209st

300209天泽信息:

  • 2021年12月6日,进入候选池
  • 后续交易日监测是否达到买点。目前持股3只,需待有股票卖出,且300209达到买点,且股价没有涨太高,才会买入。

小结

本文详细描述了“双神穿多线”策略的完整逻辑,并结合实盘交易记录进行了解析。

实盘半个多月的时间,尚未遇到止损卖出的情况,但在历史数据的回测过程还是遇到不少止损的情况。读者可以结合自己的交易系统,优化“双神穿多线”策略,提升买入的胜率,取得更高的收益。

交易代码还在不停修改完善,后续博客会陆续发布,欢迎持续关注。


博客内容只用于交流学习,不构成投资建议,盈亏自负!

欢迎大家转发、留言。已建微信群用于学习交流,群1已满,群2已创建,感兴趣的读者请扫码加微信!

如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

微信二维码 微信捐赠二维码
微信二维码 捐赠二维码

发表评论

京公网安备 11010802036642号

京ICP备2021028699号