跳至正文
全部策略

策略

C — 时间序列动量 / Donchian 趋势(BTC 永续合约)

结局: 已放弃

BtcDailyDonchianTimeSeriesMomentumLS

结局总结

BtcDailyDonchianTimeSeriesMomentumLS 是一种典型的多空 Donchian 时间序列动量趋势跟随策略,交易 BTC 永续合约;迭代-2修复使声明的杠杆成为实际的仓位规模乘数,而不再只是不起作用的上限。其 366% 头条收益看似惊人,实则空洞:在 6.5 年间,它仅进行了 42 笔交易,胜率为 35.7%;夏普比率为 0.493,其置信区间跨越零;76.5% 最大回撤突破了硬性放弃底线。分析师认定,该收益很大程度上是杠杆/复利造成的假象(平均仓位约为权益的 1692%,峰度为 69.6),且被 254.6% 未平仓头寸未退出所产生的账面收益进一步放大;同时信息比率为负,盈利因子仅属边际水平。该策略在回测审查关口被放弃,成为 0/213-存活的单一标的 OHLCV 趋势克隆家族中的又一成员;分析师认为不值得进行优化。

假设

ECONOMIC HYPOTHESIS:BTC趋势通过反应不足、动量与资金流持续性而延续。VENUE:BINANCE USD-M 永续合约, BTCUSDT, MARGIN, 杠杆>1(可做空)。TIMEFRAME:1日。ENTRY:当收盘价突破前N日高点时做多;当收盘价跌破前N日低点时做空。在20-55日内扫描N(报告FULL区间,识别盈利平台,如果优势依赖于一个狭窄的N区间则需标注)。EXIT:主要 = 3x ATR 吊灯/追踪止损;稳健性变体 = 反向通道 (N/2) 退出。NO固定止盈(目标是持有延续性趋势)。RISK:若支持则采用波动率调整仓位规模;do NOT 调整规模以制造收益。COSTS:现实的taker手续费 + 滑点;日间持有的趋势策略资金费率不适用,但若持仓跨越资金费率时间点则需纳入。CONSTRAINTS:做多与做空;NO RSI;NO每日一单的限制;NO亏损后跳过规则;do NOT 在初始报告前进行激进优化。报告毛AND净收益。优先考虑稳健性/参数平台期,而非最大化回报。

针对报告的 `leverage_set_but_unused` 拒绝问题进行第 -2 次迭代修复,仅此而已——信号逻辑、入场/出场逻辑、导入项、类结构和参数钳位均与前一版本(通过第 1/2 层)逐字节相同。两项更改都仅涉及仓位规模:(1) `position_size` 现在直接读取 `self.config.leverage`(此前的 `getattr(self.config, "leverage", 1.0)` 写法与门控的令牌扫描不匹配),并将该值缓存为 `self.leverage` 于 `__init__` 中;(2) 更实质性地,杠杆现在是真正作用于波动率目标名义头寸的 MULTIPLIER,而非上限。此前的乘数是 `min(target_vol/realized_vol, leverage * max_gross_frac)`——当 BTC 的实现波动率通常为年化 0.4-0.9 时,波动率目标比率约为 0.4-0.9,从未触及 2.0 上限,因此杠杆不起作用,回测在算术上与 1x 完全相同,这正是门控标记的问题。现在 `notional = equity * min(target_vol/realized_vol, max_gross_frac) * leverage`,因此 2x 预算得以实际部署,保证金模型也会起约束作用。已在合成日度路径上验证:每次入场的名义头寸约为先前公式的两倍,信号保持连续(在 400 根柱线上有 361 个不同值,约有 21 次突破入场),且策略在杠杆应用前仍遵守 `max_gross_frac`,因此总敞口上限为杠杆 × 权益,不会无限复利增长。

ohlcv_trend_clone_leverage_artifact_unmeasured:单一标的 BTC 日频 Donchian/TSMOM 突破策略——0/213-存活的 OHLCV 趋势家族(L9/L41)。仅有 42 笔交易,使夏普比率 0.493 在统计上无法测量,其 CI [-0.131, 1.064] 跨越零(L10)。max_drawdown 76.5%(CI 高点 94.9%)突破硬性放弃阈值(L19)。366% 头条收益是杠杆/权益复利假象(avg_position_pct 1692%,单日收益为 +4195%/+2418%/+877%,峰度 69.6),再加上 254.6% 未平仓头寸未退出产生的未实现账面收益——并非已实现优势;information_ratio 为负(-0.139),且 PF 1.095 仅属边际水平。在仅 42 笔交易且由尖峰驱动的样本上调优 8 个参数,无法达到晋级门槛;不值得投入 2 小时进行优化。

实现

BTCUSDT.BINANCE USD-M 永续合约,1-DAY 柱,做多 + 做空的时间序列动量。calculate_signal 返回收盘价在前 N 日 Donchian 通道内的连续归一化位置((close - channel_mid) / channel_half_width),仅使用当前柱之前的柱计算;|signal| > 1 表示收盘价突破前 N 日高点(+)或低点(-)。入场:BUY 高于 +entry_threshold,SELL 低于 -entry_threshold。出场(主要方式,exit_mode='chandelier'):从持仓运行极值开始的 3x ATR(20) 跟踪止损,并在完整的反向 N 日突破时无条件平仓;稳健性变体 exit_mode='opposite_channel' 则在突破 N/2 日通道时出场。没有固定止盈,因此可让趋势持续延伸。仓位规模按波动率目标设定:名义头寸 = equity * min(target_vol / realized_vol, max_gross_frac) * config.leverage,使不同波动率状态下每笔交易的风险大致保持恒定,同时动用声明的 2x 保证金预算。

验证结果

验证失败(leverage_set_but_unused):配置设置 leverage=2.0,但策略在仓位规模计算中从未引用 leverage。请据此计算仓位——名义头寸 = equity * fraction * leverage / price(读取 self.config.leverage)——或将 leverage 设置为 1.0。按当前写法,杠杆不起作用,回测与 1x 完全相同。

确保完整回测覆盖多年,使 N 参数扫描(20-55)对每个 N 都能产生具有统计意义的交易数量;报告参数平台区间,而非单点指标。

交易频率很低:沙盒在 362 根日线柱上仅产生 5 笔交易,且 sharpe_ci_low 为 -0.5492(CI 跨越零)。这是日线柱上 40 日 Donchian 趋势跟随策略固有的特征,且假设明确承认其低频顺势特性,因此这并非代码缺陷。但沙盒指标受噪声主导,可靠性不足。

截取不含当前柱的前 N 窗口(list(self._highs)[-(n+1):-1]),以与入场逻辑保持一致。

仅非默认的 'opposite_channel' 出场方式存在轻微前视偏差:calculate_signal 在 should_exit 运行前将当前柱追加到 self._highs/_lows,因此该分支的最小/最大值窗口包含当前柱。入场逻辑和默认 chandelier 出场不受影响。

回测评审

夏普
0.49
总收益率
366.23%
最大回撤
76.50%
总交易数
42
胜率
35.7%
盈利因子
1.10

avg_trade_return_pct 名义上高于手续费底线,但这是杠杆/复利造成的假象

机制(Donchian TSMOM)是一个合理且定义明确的趋势模板

单一标的 OHLCV 趋势/动量克隆策略——0/213 存活类别(L9/L41)

约 6.5 年内仅有 42 笔交易——夏普比率 0.493,其 CI [-0.131, 1.064] 跨越零(无法测量,L10)

max_drawdown 76.5%(CI 高点 94.9%)——突破硬性放弃阈值(L19)

avg_position_pct 1692% + +4195%/+2418%/+877% 的日收益——杠杆/权益复利假象(L36);return_kurtosis 69.6,偏度 3.77

end_unrealized_pct 254.6% 中的 366% total_return——头条收益是未平仓头寸未退出产生的账面收益,而非已实现优势

information_ratio -0.139(相较买入持有无超额收益);PF 1.095 边际;亏损年份 2023 -114%、2025 -68%

结局总结

较高的头条收益可能只是幻象——杠杆/权益复利、极端峰度尖峰以及未平仓头寸未退出产生的账面收益,都可能抬高结果;与此同时,真正的风险调整后优势(夏普比率、信息比率、回撤)却未能达到所有底线。趋势克隆策略还需要足够多的交易,才能进行统计测量。

分析师在优化前的回测审查关口给出了“放弃”裁定:这是一个来自 0/213-存活家族的单一标的 OHLCV 趋势/动量克隆策略;42 笔交易的样本使夏普比率在统计上无法测量,且其 CI 跨越零;76.5% 回撤触及硬性放弃阈值;头条收益是杠杆/复利加未实现收益造成的假象,而非已实现优势。它从未进入优化、优化后的分析师审查或风险审查阶段。

在 BTCUSDT Binance USD-M 永续合约上的多空日频时间序列动量 / Donchian 突破策略:收盘价突破前 N 日高点时做多,跌破前 N 日低点时做空,通过 3x ATR chandelier 跟踪止损顺势持有;无固定止盈;按波动率目标设定仓位规模,并将声明的杠杆作为真正的乘数加以使用。

约 6.5 年内仅有 42 笔交易(24 笔做多 / 18 笔做空,胜率 35.7%),总收益率头条数据为 366%,但夏普比率仅为 0.493(95% CI [-0.131, 1.064]),盈利因子为 1.095,信息比率为 -0.139,最大回撤为 76.5%(CI 高点 94.9%);报告的 avg_trade_return_pct 的 4.95% 和 366% 收益被标记为杠杆/复利假象(avg_position_pct 1692%,峰度 69.6,偏度 3.77),总收益中有 254.6% 来自未平仓头寸未退出所产生的账面收益。

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。