作 者:老余捞鱼
原创不易,转载请标明出处及原作者。

文中示例仅用于技术讨论,不构成任何操作建议。
量化策略开发应以学习和技术交流为目的。
本号不荐股、不卖课、不承诺收益。
市场有风险,请合法合规投资。
本文约 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 Factor | 1.85 | – |
| Sharpe | 0.50 | – |
| Sortino | 0.79 | – |
| Calmar | 0.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 #波段策略 #风险评估 #生存者偏差
Be First to Comment