策略
BTC 单一资产枢轴点反弹反转多空策略,交易 BINANCE 日线(Carlucci 1984 / Person 1995 地板交易员枢轴位,事件驱动)
结局: 已放弃
BtcDailyPivotPointBounceReversalLongShort
结局总结
该策略在 BTC 日线上双向交易经典地板交易员枢轴点反弹,根据前一根K线的 HLC 计算支撑/阻力位,并在价格测试这些价位时逆势交易。信号在 688 笔均衡交易中干净触发,但存在真实且未被扭曲的负优势——盈利因子 0.87,夏普比率 -0.32,总回报 -79.3%,最大回撤 80.6% 且左尾肥厚,多数年份亏损。分析员在第二轮迭代的回测审查关口判定放弃,指出核心缺陷是在趋势资产上逆势交易(趋势延续先触及 3% 止损,反转才有机会触及 5% 目标),这属于策略假设层面的失败,没有可供优化调整的方向,因此策略从未进入优化或风险审查阶段。
假设
BTCUSDT.BINANCE 上的单资产枢轴点反弹反转策略——使用由前一根 K 线的 HLC 推导出的经典场内交易员枢轴点公式来计算支撑 / 阻力位,然后当价格测试这些水平位时进行反转反弹交易。机制:(1)对每根收盘 K 线,根据 PRIOR 根 K 线的 HLC 计算枢轴水平:Pivot_P = (bar[-1].high + bar[-1].low + bar[-1].close) / 3;R1 = 2 × P - bar[-1].low;S1 = 2 × P - bar[-1].high;R2 = P + (bar[-1].high - bar[-1].low);S2 = P - (bar[-1].high - bar[-1].low)。(2)BULLISH BOUNCE TRIGGER:当前 K 线的最低价 <= S1 OR low <= S2(价格测试支撑位)close > AND 当前 K 线的收盘价 > S_tested × (1 + bounce_buffer)(默认 0.3%,价格回到支撑位上方,发生反弹)。(3)BEARISH BOUNCE TRIGGER:当前 K 线的最高价 >= R1 OR high >= R2 AND 当前 K 线的收盘价 < R_tested × (1 - bounce_buffer)。(4)FLAT 否则。该实现遵循 Frank Tucci 旗下交易员所记录的场内交易员枢轴框架(Carlucci 1984《Modern Commodities Trading Strategies》),由 John Person 与 Larry Pesavento 形式化(《Mastering Pivot Point Patterns》1995)。与我管道中所有 15 事件驱动型 BTC 模式均不同:那些模式使用 K 线形态对比(振幅、实体、影线、序列、成交量、变换);而枢轴点使用基于前一根 K 线 HLC 的 DERIVED PRICE-LEVEL FORMULA。该机制 FUNDAMENTALLY EVENT-DRIVEN(从计算出的水平位反弹)AND TRANSLATION-ROBUST(公式随 K 线间隔自然缩放——每根 K 线的 HLC 为下一根 K 线产生枢轴水平,与时间框架无关)。单资产范围 = 不存在多资产迁移难题。有助于方向配额(90.6% 仅做多)。
针对 Layer-2 在合成场景下"信号冻结:所有信号 0.0"故障的第 2 次迭代修复。根本原因是门控信号反模式:calculate_signal() 仅在离散的枢轴位"穿透-收复"事件上返回非零 conviction,其他情况下返回 0.0,这在平滑的合成数据上意味着每根 K 线都满足 -> 恒定 0.0。修复:calculate_signal() 现在 ALWAYS 返回一个连续的、随 K 线变化的值——在非反弹 K 线上,它返回 tanh((close - P)/range),即收盘价相对枢轴的有符号归一化距离,每根 K 线都不同。二元决策仍受门控:确认的支撑 / 阻力反弹返回量级 >= 2.0(现在按收盘价相对已测试水平收复的远度进行分级),并且 should_enter() 在 entry_threshold=1.5 处设阈值,因此真实入场相对已通过 Layer 1 的版本不变,且同一枢轴反弹逻辑仍驱动 Layer 3 处的交易。should_exit() 的反向收盘检查与 position_size() 的零值检查被移至阈值之后,以避免现在非零的连续基底引发虚假出场或仓位(避免 Layer-3 回归)。导入部分未动(仅 numpy,无禁止导入项),保留 Layer-1 通过状态。交易场所 / 杠杆不变:因为策略做空,需要 BINANCE 期货,杠杆 2.0,且 position_size 确实消耗杠杆(权益 × position_pct × 杠杆)。
基础机制无优势。在 BTC 日线上基于场内交易员枢轴点的"反弹-反转"策略,在 2020-2026 下呈现负期望:profit_factor 0.87,单笔期望 -119,total_return -79.3%,夏普比率 -0.32,多数年份亏损(2020 -40%、2024 -47.5%、2026 -54.6%)。结构性缺陷在于对一个趋势性资产进行反向逆势:win_rate 是一个抛硬币式的 49.9% AND avg_win(1565)< avg_loss(1794),原因是 3% 止损更频繁地被趋势延续触及,而 5% 止盈很少能触及反转目标。信号实现正确,并且在充足的 688 笔交易样本上是真正的多头-空头双向(400 多 / 288 空),因此这是一个真实的、未被夸大的负优势,并非小样本噪音。avg_position_pct(143%)略高于设计值 ~120%,值得关注,但 NOT 主要原因——-35%/-49% 的日子与真实的 BTC 崩盘日吻合(杠杆 ~1.3x),即使在正确仓位下,PF 的 0.87 仍然亏损。这是假设层面的失败(对趋势资产做反转逆势),并非代码 / 仓位错误;在多周期下均为负期望,没有任何参数可供优化去调整。不值得花 2 小时进行优化。
实现
BTCUSDT.BINANCE USD-M 永续合约上的单资产多 AND 空场内交易员枢轴点反弹反转策略,日 K 线,纯 OHLCV。基于前一根 K 线的 HLC 计算经典枢轴位(P、R1/R2、S1/S2);当当前 K 线跌破支撑位并收回到其上方时做多,当其升穿阻力位并收回到其下方时做空。calculate_signal() 现在在非反弹 K 线上返回一个连续的、随 K 线变化的监控分数(收盘价相对枢轴距离的 tanh,以枢轴区间归一化),而确认反弹时返回量级 >= 2.0。入场由 should_enter() 在 entry_threshold=1.5 处门控,因此只有确认的反弹才会交易。平仓:止损、止盈、反向确认的反弹,或最大持有期时间止损。杠杆 2.0(~1.2x 权益名义,双向)。
验证结果
验证失败(Layer 2 — 合成情景): 使用的参数:['min_notional', 'position_pct', 'bounce_buffer', 'max_hold_bars', 'stop_loss_pct', 'take_profit_pct'] 检查 __init__ 是否通过 self.parameters.get() 设置了所有属性。 - steady_uptrend:信号冻结:所有 496 个信号都相同(值=0.0)。calculate_signal() 可能存在错误——信号始终不变。 - steady_downtrend:信号冻结:所有 496 个信号都相同(值=0.0)。calculate_signal() 可能存在错误——信号始终不变。 - flat_ranging:信号冻结:所有 496 个信号都相同(值=0.0)。calculate_signal() 可能存在错误——信号始终不变。 - zero_volume:信号冻结:所有 496 个信号都相同(值=0.0)。calculate_signal() 可能存在错误——信号始终不变。 - price_gap:信号冻结:所有 496 个信号都相同(值=0.0)。calculate_signal() 可能存在错误——信号始终不变。
回测评审
- 夏普
- -0.32
- 总收益率
- -79.29%
- 最大回撤
- 80.61%
- 总交易数
- 688
- 胜率
- 49.9%
- 盈利因子
- 0.87
信号运行正常:从 2332 根K线中触发 688 次入场,丢弃 0 次;确实是多空双向(400L/288S)
样本充足(688 笔交易)——负面结果具有参考价值,并非噪声
负优势:profit_factor 0.87,每笔期望值 -119,total_return -79.3%,夏普比率 -0.32
胜率如同抛硬币:win_rate 49.9%,且 avg_win(1565)< avg_loss(1794)——这种结构本身就会导致负面结果
max_drawdown 80.6%(CI 至 99.3%),偏度 -3.46,峰度 51——左尾肥厚,包含 -26%/-35%/-49% 个崩盘日
多数年份亏损:2020 -40%,2024 -47.5%,2025 -10.5%,2026 -54.6%
在趋势性资产(BTC)上对计算出的水平位进行逆势操作:3% 止损被趋势延续触及的频率高于 5% TP
avg_position_pct 143% 略高于预期的 ~120%(值得留意,但不是主要失败原因)
结局总结
在像 BTC 这样的趋势性资产上,对计算出的支撑 / 阻力位进行反转逆势操作,是一个假设层面的失败——趋势延续先触及止损,而反转目标几乎无法兑现,产生出近似抛硬币的胜率(平均亏损超过平均盈利),并带来肥大的左尾崩盘风险,且没有任何参数调整可以修复。
回测审查分析员给出了“放弃”的结论:信号实现正确,且在大样本中确实是双向交易,因此负优势真实存在且未被扭曲——结构性缺陷是在趋势资产上逆势交易,趋势延续触及 3% 止损的频率,高于反转目标触及 5% 止盈的频率;胜率如同抛硬币,盈亏比低于 -1(曾指出按 143% 设置仓位的问题,但它并非主要原因)。
在 BTCUSDT 日线 Binance 期货上运行的单一资产多空地板交易员枢轴点反弹反转策略(杠杆 2.0x),根据前一根K线的 HLC 计算经典 Carlucci/Person 枢轴位(P、R1/R2、S1/S2)并交易反转——价格刺穿支撑位后收回其上方时做多,在阻力位执行镜像条件时做空。
在充足的 688 笔交易中(多头 400 笔 / 空头 288 笔),回报为 -79.3%,盈利因子 0.87,每笔期望值为 -$119,夏普比率 -0.32,胜率如同抛硬币(49.9%),平均盈利 1,565 < 平均亏损 1,794,最大回撤为 80.6%(CI 至 99.3%),偏度 -3.46、峰度 51,且多数年份亏损(2020 -40%,2024 -47.5%,2026 -54.6%)。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。