大家好,我是 格子衫小C ,上次最后给大家出了一个问题,今天先公布答案吧 。
问题:15年上证消费指数下,71日均线 和 203日均线,哪个回报率更高?
前面看过那么多均线,大家对均线的各种特性都非常了解,我们试着分析一下:
以A股的调性来看,71日均线 和 203日均线 应该都能吃到牛市。
203均线太大了,滞后性更严重,所以在牛市里应该回撤更深。
A股在这15年里,有2个牛市,收益率叠加2个牛市以后,71日均线的优势应该很明显。
实测结果也确实如此。
多次牛市叠加以后,大的均线会因为更大的滞后效应,回报率更低。
这里 203日均线 在2012年、2013年间亏损还更严重一些,进一步说明 203日均线 在回测里的表现有些过拟合了。
(对了,你答对了么? )
这里再强调一次过拟合,类似这样用算力来确定参数的方法,都会遇到过拟合问题。
我们应该先从原理上分析,看到底是运气好,还是真的有道理的。
譬如第一篇里看到的 2日均线,仔细观察过 2日均线 就会发现它和实际价格曲线走势非常接近,只稍平滑一点,和价格曲线的交叉更接近于随机,应该就是运气好,过拟合了(后面也通过扩大数据复测证明这点)。
然后,一定要在回测数据以外再复测。
现在我们回测数据是近7年的,复测数据是近15年的数据,这样对整体走势的影响才能看清楚(如果回测数据在前面,回测里先拿到一个很好的回报,再测新数据,不容易分清楚是前期起点过高还是适用性广)。
不同的策略,需要用不同的复测方法。
完全独立的2次测试是最好的,我们的方法省事了些(但胜在结果够直观 )。
前面我们基于多个市场的多种投资标的,研究了最简单的 SMA(Simple Moving Average,基于算术平均数的均线),并得出以下结论:
均线和价格处于同一数值区间,可以用 “穿过” 或 “在上方或下方” 的判断方法来判断。
均线适合有明显上涨和下跌的行情,不适合长期单边且小起伏的行情。
合适的均线可以吃掉大的上涨区间,避开大的下跌区间。但一种投资标的不太可能被一条均线长期完美切割(这句话有点绕口啊,意思能传达清楚就好 )。
均线不适用于突然的剧烈价格变化。譬如2020年初疫情导致的突然下跌。
均线不适用于震荡期。震荡期里,均线的收益几乎都是收窄的。
“小的均线”因为距离实际价格曲线太近,交点过多,不适合交叉算法。
“大的均线”因为滞后性严重,也不适合交叉算法。会导致该拿下的上涨没吃到,该避开的下跌也没躲过。
“大的均线”会因为滞后性,造成牛市后期有明显回撤,而这个回撤如果叠加多次,其收益差距会倍数级的放大。
最近有朋友提出了个思路:
均线不是很容易误操作么(假突破),我们在 连续2天 或 3天价格击穿均线以后,再执行买入或卖出操作,是不是效果会好一些呢?
这个思路来源于他看到的一篇 广发 的文章,原文里也有详尽的测试过程,先是用回测结果证明了 连续2天击穿均线策略 效果很好(但并未提供单均线的数据对比),紧接着又用回测证明了 连续3天击穿均线策略 比 2天的还要好。
今天我们一起验证一下这个思路。
上图是 沪深300指数 和 30日均线图 。
从图上看起来,确实有不少短期击穿均线又马上回来的情况(假突破),如果连续几天都上穿或下穿再执行操作,粗看起来,确实能减少这方面的损失。
但同时应该也很容易想到,这种优化,势必会导致操作点右移,加重均线的滞后性。
以下数据来源于 jqdata ,code 为 000300.XSHG 。
为了和前面的研究对齐,如无特别说明,时间区间为 2013-05-01 到 2020-09-30。
空想不如实干,我们直接回测:连续2天击穿均线后买入或卖出。
依然是从 2日均线 一直到 240日均线,一共239条均线。
结果并不太理想,并没有比单均线提升多少(还记得单均线的数据么 )。
干脆,我们把 连续3天击穿均线策略 和 连续4天击穿均线策略 都测一下。
看起来都没特别好的,我们直接看对比。
上图是最简单的单均线,和分别击穿2天、3天、4天均线策略回报率表。
从结果上看,多次击穿均线确实没有带来特别明显的提升。
回报率最好的是 135日均线 策略,这个前面已经被确定属于过拟合了,再后面就是 连续3日击穿168均线策略。
上图是这 168日均线 的4个策略。
可以看到差距是从2015年牛市结束时拉开的,按道理连续3日击穿再卖出,会比连续2日击穿再卖出要晚一天,价格应该更低才对,为什么这里反而会比2日和4日都要高呢?
放大后可以看到,原来2015年8月27号是第一次击穿168日均线,接着28号小幅下跌,但29号突然来了个大涨,然后30日又跌回来(这可真是一波三折啊 ),所以刚好击穿均线3天后卖出在了高点。
纯粹是运气好,和策略没关系(过拟合)。
53日均线的情况也是类似,正好第二天又涨起来了,所以 2次击穿53日均线 策略的收益率更高。
再来看 42日均线 的对比。连续2天穿越均线再操作,果然导致牛市退出更晚,回撤更深(运气不那么好的话 ),但在后面震荡期里,确实有收窄趋势,所以这种优化对震荡期有一定效果。
只是,咱A股市场里,把握住牛市的优势实在太大了,牛市回撤更少,震荡期就算多损失一点,整体回报还是要更大。
老规矩,最后还是把数据放大复测。
这里加入了40日,是因为广发原文里用的参数就是40日。
单看40日均线,3次击穿40日均线 确实好于 2次击穿40日均线,只是40日均线直接操作效果更好。
结果已经很清楚了,连续N次击穿均线策略 并没有比均线更有效。
今天结论如下:
连续击穿N天后再买入的优化策略,在优化了假突破的同时,进一步加重了均线策略的滞后性。
在A股市场,把握住牛市得到的收益会远高于熊市震荡期误操作的损失。
那么问题来了,这个优化策略,在纳指这样的市场有效果么?
如果您错过了前面的文章,可以关注我们,查看历史文章。
希望您能一如既往的支持我们,也欢迎各种疑难杂症各种勾搭。
均线系列:
均线 (一):基于沪深300指数初步分析 SMA 。
均线 (二):就 SMA 时间粒度做进一步分析。
均线 (三):简单的单一均线在A股市场都能有用处,让我们看看在成熟市场会有怎样的效果呢?
均线 (四):单一均线不适合成熟市场,我们再回头看看A股其它行业指数。
注:
题图来源于 pexels,感谢 Olya Kobrusev。
本文数据来源于 jqdata,感谢 jqdata 提供免费的高品质数据。
本文公式编辑采用 latexlive,感谢 latexlive 提供的公式编辑服务。