Skip to content

胜率70%却扛了85%回撤,这个TradingView3D指标的压力测试值得看三遍(附源码)

作 者:老余捞鱼

原创不易,转载请标明出处及原作者。

文中示例仅用于技术讨论,不构成任何操作建议。
量化策略开发应以学习和技术交流为目的。
本号不荐股、不卖课、不承诺收益。
市场有风险,请合法合规投资。

本文约 2300 字 | 预计阅读 5-8 分钟,后有代码下载,建议先收藏。

· · ·

BOSWaves在TradingView上写了一个叫”3D趋势漩涡”(3D Trend Vortex)的指标,看外观相当唬人。趋势基准线上套着一圈ATR波幅带,再加上一层伪3D挤压效果,在图表上特别抓眼。

但你要是把3D那层皮剥了,底下其实很简单。就是一条趋势线,周围画一个随波动率伸缩的布林带,价格戳破上下轨的时候自动弹Buy和Sell信号。

我之前碰过的大多数指标都是纯展示型,光给你看图,信号得自己出去设计。这次不一样,BOSWaves直接在脚本里把Buy Signal和Sell Signal写死了。所以我做的事也简单,把3D渲染拿掉,留着趋势线、波幅带和信号逻辑,干干净净跑一遍回测,就看这些内置信号到底有没有用。

TradingView上的指标图示

策略信号怎么看

扒开源码看规则,就两条。

第一,收盘价跌破下轨,出Buy Signal,做逆势反弹。

第二,收盘价站上上轨,出Sell Signal,说明反弹过头了。

两个信号各自有冷却时间,不会一下接一下地连发。注意这里最容易搞混。趋势线本身是顺着方向走的,但触发信号的逻辑是反过来用的。买弱不买强,卖强不卖弱。这跟追突破完全是两码事,方向别弄反了。

测试设置

我用Clearfield公司股票,代码CLFD,选日线,回拉到1980年代中期,跑40年。

初始10万美元,佣金0.1%,滑点0.2%,信号下一根K线开盘执行。没设止损,没有任何仓位管理,纯粹按指标给的信号进出。

净值 / 回撤 / 交易分布 / 盈亏分析

测试结果

34笔交易,40年,总回报2351%。同期买入持有不动是1695%。

策略确实是赢了买入持有,但赢的幅度不大。真正要命的在后面那条数字,最大回撤85.35%,恢复时间6.6年。

指标策略买入持有
总回报2351%1695%
最大回撤85.35%
恢复时间6.6年
交易笔数34笔
胜率70.59%
最佳单笔+103.88%
最差单笔-56.85%
均赢+28.70%
均亏-21.06%
Profit Factor1.85
Sharpe0.50
Sortino0.79
Calmar0.14

表出来了,咱们拆数字。

回撤85%,恢复6.6年

你想象一下这个路径。

账户净值先冲到最高点,然后一路跌到只剩最高值的15%。这还不是一闪而过那种,是在15%这条线上趴了6年半,算下来差不多2200多天。这六年里你的买力只有以前的六分之一。

2351%的总回报随便看很好看,但只要你把回撤路径叠上去,这个换手值不值得你受,就得重新想。

34笔真能说明问题吗?

交易笔数看上去太少了。

胜率70.59%听起来漂亮,但拆开看,大概就是24笔赢、10笔输。在这种量级下,随便多几笔输赢,胜率、均赢、均亏、Profit Factor全得重写。每个数字都挂在34根细绳上。

这34笔应该当成”信号第一轮真实样本”,别当成”已验证的胜率”,两回事。

Sharpe 0.5和Calmar 0.14才是底牌

Sharpe比率0.5什么意思。每承受一个单位的标准差波动,换回来半个单位的超额收益。换句大白话说,波动你扛了,超额没挣多少。

Calmar比率0.14就更直接了。分子是年华收益率,分母是85%的最大回撤。回撤太大,分母压得死死的,整个数字不可能好看。它提醒你一件事,你为这个回报付出的回撤代价,跟回报不成比例。

总回报像电影预告片,Sharpe和Calmar才是正片。

最差亏56%,亏了还待了231天

没有止损。

这个回测里,最惨的一笔直接亏了56%。而且因为退出条件只有”等下一个Sell Signal出现”,平均每笔亏损要等超过7个月才平仓。仓位从头扛到尾,没有风控兜底,最大亏损理论上没有上限。

不是BOSWaves写错了,是人家本来就没加止损逻辑。回测就是跟着信号跑。但对实盘来说,止损这一层是必须自己补上的。

一只票跑40年,结论带不出去

CLFD这家公司40年里自己走了好几次泡沫然后崩盘的循环,这是它独一家公司的路径,不是市场通用规律。

这个策略在CLFD上的结果,跟换一只票再跑一遍出来的数据,没有任何理由认为会一样。一只票、40年、34笔交易,数据集就这么大,能说的范围也就这么大。

真要上实盘,至少补这五项

2351%的数字确实抓人,但上面已经把撕开的部分看完了。现在这个状态是原始信号候选,根本不是成品。

第一,多标的跑一遍。34笔没法把真实信号优势从噪音里摘出来,至少要拉到10只以上不同类型的票上验证,信号稳定性才有谱。

第二,止损层必须加。现在最大亏损没有天花板,最基本的做法是开仓后就先挂一个固定百分比止损,或者挂波动率计算的动态止损。

第三,Walk-forward验证。参数是这40年历史数据上试出来的,你得拿了去敲一下数据没碰过的样本外区间,看效果还能不能站住。

第四,搞清楚85%回撤堵在哪一段。如果是CLFD某一次特定崩盘事件造成的,这个风险是可识别的、有可能通过条件滤掉的。如果是均匀撒在40年里,那就是系统性回撤,躲不掉的。两个场景的处理方式完全不同。

第五,Monte Carlo重采样。34笔太少,人为把交易顺序打乱跑几千遍,看结果分布在什么范围,你才知道这个策略的天花板和地板在哪。

我的看法

3D表面扒干净以后,底层是逆势波段信号,这份透明度我是认可的。BOSWaves把信号条件写死在代码里,拿来就能直接测,在TradingView指标里不算常见。

但透明不等于能打。85%的坑深、6年半的恢复期、样本就34笔、没有任何止损,这四条放在一起,距离实盘还远。

我把完整回测代码做成了可直接运行的 Colab 笔记本,换上你自己的标的就行。

Colab地址:

https://colab.research.google.com/drive/1zFzj2Y8WX1dToruAhV0itENcPQabeyLM

代码下载地址:

http://www.laoyulaoyu.com/code/3dtrend.zip

下一步最值得花时间的,是把止损那一层先补上,然后把整个逻辑甩到10个以上完全不同类型的标的上跑一遍。如果想看看”逆势买弱卖强”这个想法,到底是真的有优势,还是碰巧在CLFD这只票上运气好。


#TradingView指标 #3D趋势漩涡 #量化回测 #CLFD #逆势波段 #最大回撤 #Sharpe比率 #Calmar比率 #BOSWaves #波段策略 #风险评估 #生存者偏差

Published inAI&Invest专栏

Be First to Comment

    发表回复