复现了布林带突破:胜率44%,却是本系列第一个跑赢躺平的策略。
上期结尾我留了个悬念:这期复现"大盘不行就躺平"的懒人版动量策略——只在指数站上60日均线时持有,否则空仓。看看它能不能接着赢。
先说结论:不能。11年真实数据跑完,这个策略亏了3万,买入持有赚了52.9%。
规则:站上60日线拿着,跌破就空仓
规则三句话,写死不调参:
收盘价站上60日均线——说明大盘还行,次日开盘全仓买入,拿着;收盘价跌破60日均线——说明大盘不行了,次日开盘清仓,空仓等着;一次只做一笔,不加仓不摊平。
没有预测,没有择时。大盘行就行,不行就躺平,剩下的交给纪律。
30行代码长这样
核心逻辑就这些。信号来自昨日收盘、次日开盘成交,不偷看未来,这点必须老实。
回测设置先交代清楚
- 标的:510300,沪深300ETF,和前五期同一只
- 时间:2015年1月到2026年9月,11年半,口径和前五期完全一致
- 本金:100万,手续费万三
- 只做多:和前五期一样,只测多头版
结果:懒人版,亏了
- 动量策略:总收益-3.1%,年化-0.3%,最大回撤-45.7%
- 买入持有:总收益52.9%,年化3.7%,最大回撤-53.0%
- 交易86次,胜率23.3%,最大单笔赚17.6万,最大单笔亏8.2万
上图蓝色是动量策略,橙色虚线是买入持有,起点都是100万。这一次,蓝色全程被压在橙色下面——11年半下来,100万变成了96.9万。
三个意外
意外一:胜率23.3%,86次出手只赢20次
86次往返,赢20次、输66次。平均赚的一笔赚5.9万,平均亏的一笔亏1.8万——盈亏比3.2比1,看着不差,但胜率实在太低,救不回来。
问题出在买卖点上:站上60日线才买,等于涨了一段才追;跌破60日线才卖,等于跌了一段才割。每一笔都在给市场交"确认费",确认行情要钱,确认离场也要钱。
意外二:最惨的一笔,完美踩中疫情暴跌
2019年12月16日,收盘价站上60日线,次日开盘全仓买入;2020年2月4日,收盘价跌破60日线,次日开盘割肉。亏8.2万,-9.1%。
上图就是那一笔的全过程:红点追进去,蓝点割出来,中间那段最陡的下跌一分没躲。均线是后视镜——它反映的是过去60天的平均成本,暴跌来的时候它比你慢半拍,等它确认"跑",亏已经吃完了。
有意思的对照:策略最赚的一笔,恰好买在它自己净值最低的那天。2020年5月27日站上60日线买入,9月10日卖出,3个半月赚17.6万(+24.3%)。可惜这样的好运,86次里只碰到20次。
意外三:躲过了大跌,却错过了大涨
11年里涨跌最猛的那些天,它在干嘛?我数了一下:
跌幅最大的10天,它躲过了8天——2015
年股灾那几天的暴跌,它基本都在空仓,这点确实做到了。
但涨幅最大的10天,它错过了6天——2015年7月9日+12.8%、7月10日+12.5%,股灾之后那两天暴力反弹,它全在空仓里看着。想躲的是挨打,躲掉的是反弹。
三件事
1. 均线是后视镜,不是预言家。60日线是过去60天的平均成本,暴跌时它比你慢半拍——等它确认"跑",亏已经吃完了;等它确认"进",涨已经走了一段。
2. 频繁换仓是隐形税。86次往返,手续费交了4.4万。策略没赚到钱,券商先赚走了4.4万。换仓越勤,税交得越多。
3. "躲开下跌"听起来美,做起来难。52.5%的时间在场,结果-3.1%。躲过了2015股灾的大跌,却错过了股灾后的暴力反弹——择时这笔账,算下来是亏的。
最后留个问题:一个能帮你躲过8次大跌、但会让你错过6次大涨的策略,你用还是不用?评论区聊聊。
不构成投资建议。
关注 GitFun,每天一个能复现的量化实验:真实代码、真实数据,不荐股、不预测涨跌。明天早上 10 点,继续拿数据说话。
下期预告:给策略加一条-8%止损线,和无止损版本打擂台——看看止损到底是护身符,还是绊脚石。
热门跟贴