策略
SOL USD-M 日线波动率目标化时间序列动量,多空双向(单一标的 BINANCE 永续合约,趋势信号叠加 HARD-BOUNDED 反已实现波动率敞口缩放以控制回撤,纯 OHLCV,尾部风险安全,低参数量)
结局: 已放弃
SolDailyVolTargetedTimeSeriesMomentumLS
结局总结
这是波动率目标化回撤控制系列中的第 SOL 个条目,特意选定在波动率最高的核心趋势型标的上,因为反波动率覆盖层理应在此实现最大的 Calmar/夏普比率收益,其构建基于单一标的的日线 OHLCV,具备入场时和持仓期间的敞口护栏。关键在于,该假设预先注册了一个可证伪的验收关口——avg_position_pct ≤100% 且不出现物理上不可能的日内权益跳变——这使得失败结论不容置疑。两半样本均未通过:平均仓位达到 163.9%,日收益出现高达 +154.7% 和 -114.1% 的不可能波动,并伴有佐证性伪影(峰度 771、180% 年化波动率、-100.57% 2023 年度、以及大部分为未平仓的浮动 MTM 所构成的 324% 头条收益)。根据该策略自身的升级条款,在两轮迭代后于回测评审阶段放弃该策略,并标记提交引擎/护栏审查,因为优化无法修复敞口核算类伪影。
假设
一个针对 SOLUSDT.BINANCE(USD-M 永续合约)的 LONG-SHORT、SINGLE-INSTRUMENT、DAILY 时间序列动量策略,其区别性特征是在已验证的趋势信号之上叠加了 HARD-BOUNDED VOLATILITY-TARGETING 覆盖层:根据近期已实现波动率INVERSELY缩放敞口(Moreira-Muir 波动率管理动量),在高波动率环境下降低风险、在平静期恢复风险敞口。选择 SOL 是刻意为之的决定,因为它是 HIGHEST-VOLATILITY 核心趋势型标的(其被提升的 TS-动量姊妹策略在 BTC/ETH/SOL 系列中回撤最深),因此波动率目标化覆盖层——其全部目的就是控制回撤/尾部风险——恰恰在此能带来 MAXIMAL Calmar/夏普比率收益。这完成了波动率目标化回撤控制系列(ETH 姊妹策略尚待完成),且是在最需要该覆盖层的资产上完成的。这是在设计空间收敛到唯一可行点后被证据倒逼出的选择:信号仅限于 OHLCV+资金费率(所有普查类数据源——爆仓/OI/账户比率/主动成交方——均已确认存在多年的数据墙);逆势/摸顶摸底类策略已全部关闭;单纯的单标的 PRICE 趋势克隆策略相较已被提升的姊妹策略无法增加优势或分散度;现货覆盖层容易产生伪影;多标的(含单仓位轮动)引擎存在缺陷。波动率目标化覆盖层是唯一一个改变已验证优势的 RETURN PROFILE(回撤)而非仅仅换皮的、有据可查的修改。严格在已证明安全的范围内进行工程构建:SOL(已验证的核心趋势型标的,paper_stage 姊妹策略);OHLCV-ONLY(数据墙最少的最深数据);MOMENTUM/顺势(非摸顶摸底);DAILY(样本量充足);USD-M PERP(通过数量/杠杆进行波动率缩放,NOT 现货——避免现货权益标记/叠加伪影);SINGLE-INSTRUMENT/SINGLE-VENUE/SINGLE-ACCOUNT(不存在 MI 聚合错误)。CRITICAL 限幅敞口护栏:敞口 = clamp(target_vol/realized_vol, 0, MAX<=1.5),仅净额结算,并附有明确断言以确保已实现日策略收益永不超过标的实际日变动——直接修复了在 SOL/BTC 资金费率确认及回调期运行中反复出现的 avg_position_pct-超出目标/仓位叠加/不合理单日表现的伪影问题。参数数量少。
迭代 2 修复了该假设本应防止的伪影问题,改动幅度最小,未触及 previous_code,动量+波动率缩放的信号逻辑保持不变(1-2 层已通过)。不可能的单日收益(+137.8% / -124.3%,权益跨越零轴)以及 avg_position_pct 169% 的根本原因是:基础模板持有 ONE 净额仓位(无叠加,已在 base_template _process_primary 中验证),但仅在入场时进行的敞口截断从未真正限制过 HELD 持仓。一个固定比例仓位在经历多日不利趋势(宽松的 4xATR / 信号反转出场)后,名义金额/MTM-权益比可漂移至约 4-5x,导致一个正常的 25-30% SOL 交易日变成超过 100% 的权益波动。修复方案:(1)should_exit 现在每根K线都计算 MTM 权益 = 现金 + 未实现盈亏,当持仓有效杠杆 > ceiling*1.05 时予以平仓(限幅敞口护栏真正发挥作用),并在任何非正的 MTM 权益出现时予以大声记录并平仓,作为承诺的运行时断言;(2)硬性的 12% 基于价格的止损,限制单笔交易损失,从而杜绝杠杆一开始就膨胀的可能;(3)杠杆被明确设置为 1.5,使得 min(max_exposure, 杠杆)=1.5,从而使引擎保证金模型与仓位管理相匹配,解决了此前 ceiling=1.0 与目标 -1.5 不匹配、导致 avg_position_pct 超出预期上限的问题。这些修复从结构上将单日策略变动限制在标的实际变动的约 1.5x 倍以内,并将 avg_position_pct 保持在 1.5 上限之内,使得干净的重跑能够在任何优化之前衡量出真实(且薄弱)的优势。
根据该假设 OWN 预先注册的验收关口予以放弃,该关口规定「avg_position_pct <= 100% AND 且不出现物理上不可能的日内权益跳变;若违反,则放弃并升级处理。」两半样本均未通过:avg_position_pct 为 163.9%(这个本应限制敞口的覆盖层——它是该假设存在的全部理由——却NOT限制敞口),且 daily_returns 中包含物理上不可能的单日波动(+154.7%、-114.1%、+142.3%、+93.5%),这些波动是 SOL 实际日变动不可能产生的,且暗示存在杠杆爆仓(一个 -114% 的单日和一个 -100.57% 2023 年度收益,若非仓位叠加核算失真,是不可能出现的)。佐证性伪影特征:return_kurtosis 771,偏度 23.6,annualized_vol 180%,max_drawdown 73%(CI 至 100%),以及一个 324% 的头条数字,其中135.8%未平仓的浮动 MTM。这是反复出现的过度敞口/仓位叠加伪影,而非真实优势;在此之上,夏普比率 0.226(CI 骑跨 0)毫无意义。此处陈述的是症状,而非已验证的内部机制——入场截断加上 should_exit MTM 倍杠杆护栏未能将持仓敞口限制在范围内。优化无法修复敞口核算类伪影;根据该假设的升级条款,提交引擎/护栏审查。
实现
在 SOLUSDT.BINANCE USD-M 永续合约上进行多空日线时间序列动量交易,叠加硬性限幅的反已实现波动率(Moreira-Muir)敞口覆盖层以控制回撤。根据回看期内对数动量的符号进行入场;敞口按 clamp(target_vol/realized_vol, 0, ceiling) 缩放,其中 ceiling = min(max_exposure 1.5, 杠杆 1.5)。该限幅敞口护栏在入场时(敞口截断)和持仓期间均予以执行:AND 每根K线都会计算按市值计价的有效杠杆(名义金额 /(现金权益 + 未实现盈亏)),若超过 ceiling*1.05 则平仓,此外还设有硬性 12% 价格止损和 4xATR 止损。纯 OHLCV,单一标的/交易所/账户,杠杆 1.5。
回测评审
- 夏普
- 0.23
- 总收益率
- 323.94%
- 最大回撤
- 72.98%
- 总交易数
- 72
- 胜率
- 27.8%
- 盈利因子
- 1.17
在已验证的趋势型标的上采用干净的单一标的 OHLCV 日线构建;样本量充足(1985 天,72 笔交易)
预先注册了明确、可证伪的验收关口——这使得失败结论不容置疑
预先注册的验收标准 VIOLATED:avg_position_pct 163.9% 远大于 <= 100% 的上限——这个本应限制敞口的护栏,正是该假设存在的唯一理由,却未能限制敞口
物理上不可能的单日权益跳变:+154.7%(2021-07-17)、-114.1%(2023-10-20)、+142.3%(2023-10-11)、+93.5%(2021-12-07)——SOL 从未出现过每日 100%+ 的变动,且在没有爆仓的情况下不可能亏损超过 100%;这些正是仓位叠加/过度敞口的伪影
佐证性伪影特征:return_kurtosis 771,偏度 23.6,2023 年化收益 -100.57%(核算已失真),annualized_vol 180%,max_drawdown 73%(CI 至 100.2%),CAGR -100%
头条 total_return 324% 是在核算已失真之上叠加了 135.8% 未平仓浮动盈亏(end_unrealized_pct);夏普比率 0.226 且 CI 骑跨 0 毫无意义
分析
有界敞口保护机制——这一假设存在的全部理由——在回测中NOT生效。请在进行任何优化之前先修复这一点: 1) IMPOSSIBLE SINGLE-DAY RETURNS:daily_returns 包含 +137.8%(2023-10-11)、-124.3%(2023-10-20)、+114.9%(2021-12-07)、+111.7%(2021-07-17)、+100.6%(2026-05-06)。名义规模为 1.0-1.5x 的 SOL 仓位一天内不可能变动 >100%;SOL 历史上最差的实际单日波动约为 +/-25-30%。所承诺的断言(|每日策略收益| <= max_exposure x |标的每日变动|)显然没有被触发。请把 ADD 那条断言实现为真正的运行时检查,一旦触发就让回测明显失败报错,这样该异常就不会再被悄悄放过。 2) AVG EXPOSURE EXCEEDS THE CEILING:avg_position_pct 是 169%,而你所声明的 max_exposure=1.5 AND,对比有效上限 min(1.5, leverage)=1.0(配置中的杠杆默认值为 1.0)。要么明确设置杠杆以匹配预期的 1.5x 并记录说明,要么就是仓位计算路径产生了超出限幅的名义规模。请检查 position_size():确认 get_account_equity() 使用的是当前权益(而不是被未实现盈亏以某种方式放大、从而使仓位滚雪球式扩大),确认数量(qty)不是被叠加提交到已有的同方向仓位之上,并确认多空反转的净额计算正确(规模为 qty 的 SELL 与规模为 qty 的 LONG 相抵应得到 FLAT,而不是空头——在反转时你可能出现了仓位不足或超调的情况)。 3) 修复后重新运行最初的回测。进入优化阶段前的验收门槛是:NO 单日收益超过当日 SOL 实际变动幅度的约 1.5x 倍,且 avg_position_pct <= 你预期的上限。只有到那时,真实的(目前被该异常掩盖的)边际优势才是可测量的。需要注意的是,即便在排除该异常之前,底层的边际优势本身也显得较为薄弱(PF 1.02,Sharpe 0.17),因此这次干净的重新运行也将告诉我们,这一策略是否值得继续优化。
结局总结
这个本应作为该策略存在唯一理由的限幅敞口护栏,实际上并未真正限制持仓敞口,因此问题的症结在于敞口核算/仓位叠加的伪影问题,而非优化问题——必须先在引擎/护栏层面修复,才能评估任何波动率目标化覆盖层。
分析师在优化前的回测评审关口给出了「放弃」结论,因为该策略自身预先注册的验收标准在两半样本中均被违反:avg_position_pct 达到了 163.9%(超出 ≤100% 的上限),且日收益中出现了物理上不可能的单日波动(+154.7%、-114.1%、+142.3%、+93.5%),而这些波动是 SOL 的真实价格变动不可能产生的。
一个针对 SOLUSDT.BINANCE USD-M 永续合约的多空日线时间序列动量策略,其区别性特征在于硬性限幅的反已实现波动率敞口覆盖层(Moreira-Muir 波动率管理动量),旨在高波动率环境下降低风险并控制这一波动率最高的核心趋势型标的的回撤。
在 1,985 天、72 笔交易中,其头条总收益为 324%,但夏普比率毫无意义,为 0.226(CI 骑跨零轴),72.98% 最大回撤(CI 至 100.2%),盈亏比 1.17,胜率 27.8%,以及核算失真的特征信号,包括收益峰度 771、偏度 23.6、年化波动率 180%,以及 2023 年化收益 -100.57%。头条收益因 135.8% 未平仓的浮动盈亏而被夸大。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。