加密货币量化交易多因子增强回测:非OHLCV与支撑/压力因子实证分析
本文记录了在 BTC 永续合约交易策略上,三轮递进式因子增强回测的完整过程与结论。从非OHLCV数据(资金费率/OI/多空比)的引入,到支撑/压力(S/R)因子的设计,最终形成了一套清晰的因子组合策略。
目录
一、策略背景与引擎简介
1.1 系统架构
本系统采用 “AI 理解 + 本地量化引擎” 的双层架构:
┌─────────────────────────────────────────┐
│ AI 理解层 (DeepSeek LLM) │
│ 输出五态市场状态 JSON │
│ {regime, strength, risk_flags} │
└───────────────────┬─────────────────────┘
│
┌───────────────────▼─────────────────────┐
│ 本地量化引擎 │
│ ├─ 18F 引擎: 全维度多因子评分 │
│ └─ 5F 引擎: 精简五因子优化 │
└─────────────────────────────────────────┘
1.2 18F 引擎(全维度引擎)
18 个技术指标覆盖四大类别:
| 类别 | 因子 |
|---|---|
| 趋势跟踪 | 均线排列、MACD、ADX、EMA 斜率 |
| 动量反转 | RSI、ROC、多周期涨跌幅 |
| 位置/超买卖 | 布林带位置、价格百分位 |
| 量价波动 | 量比、ATR、波动率分位 |
特点:因子覆盖面广,信号密度高,适合趋势行情,但在震荡市容易过度交易。
1.3 5F 引擎(精简引擎)
五个核心因子,经参数优化后的紧凑模型:
| 因子 | 方向 |
|---|---|
| EMA 排列偏差 | 趋势强度量化 |
| RSI 自适应 | 超买超卖检测 |
| MACD 动量 | 趋势确认 |
| 布林带位置 | 价格极值判断 |
| 成交量背离 | 趋势衰竭预警 |
特点:结构简单,交易稀疏,在震荡和熊市中表现出色。
1.4 研究动机
两个引擎的共同缺陷是完全依赖 OHLCV 数据(开高低收量)。在加密货币市场,三类非 OHLCV 信息至关重要:
- 资金费率(Funding Rate):极端值预示拥挤交易反转
- 持仓量(OI, Open Interest):OI-价格背离揭示趋势衰竭
- 多空比(Long/Short Ratio):市场情绪极端值
此外,传统技术分析中**支撑/压力位(S/R)**是交易决策的核心维度,但当前引擎完全缺失。
因此设计三轮消融实验:
| 轮次 | 测试变量 | 目的 |
|---|---|---|
| 第一轮 | 非OHLCV | 验证资金费率/OI/多空比的增强效果 |
| 第二轮 | 非OHLCV + S/R | 验证 S/R 在非OHLCV 基础上的边际贡献 |
| 第三轮 | S/R only | 排除非OHLCV 干扰,验证 S/R 的独立 alpha |
二、回测配置与场景设计
2.1 统一参数
| 参数 | 值 |
|---|---|
| 初始资金 | $10,000 |
| 手续费 | 0.1% |
| 滑点 | 0.05% |
| 杠杆 | 1x |
| 单笔仓位 | 2% |
| ATR 止损倍数 | 2.0x |
| 止损范围 | 1.5% ~ 5.0% |
| 止盈/止损比 | 2.5 : 1 |
| 冷却期 | 3 根 K线 |
2.2 测试场景(8 scenarios)
覆盖四种市场状态 × 两个时间框架:
| 场景 | 市场状态 | 周期 | 数据范围 |
|---|---|---|---|
| Bear 2022 4h | 熊市 | 4小时 | 2022 全年 |
| Bear 2022 1h | 熊市 | 1小时 | 2022 全年 |
| Bull 2023 4h | 牛市 | 4小时 | 2023 全年 |
| Bull 2023 1h | 牛市 | 1小时 | 2023 全年 |
| Sideways 24H2 4h | 震荡市 | 4小时 | 2024 下半年 |
| Sideways 24H2 1h | 震荡市 | 1小时 | 2024 下半年 |
| Recent 2025 4h | 近期 | 4小时 | 2025 上半年 |
| Recent 2025 1h | 近期 | 1小时 | 2025 上半年 |
三、第一轮:非OHLCV 因子增强
3.1 非OHLCV 因子设计
| 因子 | 权重 | 信号逻辑 |
|---|---|---|
| 资金费率极端值 | 0.40 | 负费率极端 → 空头拥挤 → 潜在做多 |
| OI-价格背离 | 0.35 | OI↑ + 价格↓ = 多头派发(看空);OI↓ + 价格↑ = 空头回补(看空) |
| OI 动量 | 0.25 | OI 持续上升 → 趋势确认 |
增强策略:外部 alpha = 非OHLCV 信号 × 数据质量缩放。
- 与引擎信号同向 → 提升置信度、降低入场门槛
- 与引擎信号强烈反向 → 抑制交易
- 数据质量自适应:真实 API 数据权重高,代理数据(老周期无 OKX 历史)权重重度衰减
3.2 回测结果
引擎 | 收益 | 胜率 | 夏普 | 回撤 | 交易 | vs OHLCV基线
-------------------+-----------+---------+---------+----------+--------+--------------
18F 优化基线 | -0.91% | 54.3% | -0.36 | 1.23% | 1510 | --
18F +非OHLCV | -0.87% | 52.7% | -0.40 | 1.08% | 1260 | +0.03%
5F 优化基线 | +0.07% | 24.1% | +0.06 | 0.28% | 355 | --
5F +非OHLCV | +0.08% | 30.4% | +0.11 | 0.25% | 253 | +0.01%
3.3 逐场景 Δ 收益
场景 | 18F基线 | 18F+非OHLCV | Δ | 5F基线 | 5F+非OHLCV | Δ
---------------------------+-----------+-------------+----------+-----------+-------------+----------
Bear 2022 4h | +0.18% | +0.16% | -0.02% | +0.49% | +0.46% | -0.03%
Bear 2022 1h | -2.27% | -2.10% | +0.17% | -0.32% | -0.12% | +0.20%
Bull 2023 4h | -0.81% | -0.51% | +0.30% | -0.12% | -0.06% | +0.07%
Bull 2023 1h | -0.84% | -0.84% | -0.01% | +0.30% | +0.19% | -0.10%
Sideways 24H2 4h | -0.28% | -0.56% | -0.28% | +0.12% | +0.27% | +0.14%
Sideways 24H2 1h | -0.74% | -0.44% | +0.30% | -0.18% | -0.04% | +0.14%
Recent 2025 4h | +0.49% | +0.04% | -0.44% | +0.25% | +0.15% | -0.10%
Recent 2025 1h | -2.97% | -2.74% | +0.23% | +0.01% | -0.25% | -0.25%
18F 改善 4/8 | 5F 改善 4/8
3.4 核心发现
- 非OHLCV 的真正价值是过滤器而非阿尔法——两个引擎交易量分别缩减 17% 和 29%,但收益平稳或微增,说明剔除了大量噪音交易。
- 5F 胜率提升最显著:24.1% → 30.4%(绝对 +6.3%)。5F 引擎结构简单,外部信号边际贡献更大。
- 回撤全部改善:18F 回撤 -12%、5F 回撤 -11%。非OHLCV 信号在极端行情提供了有效的对抗性预警。
- 数据质量是瓶颈:老周期的 OKX 历史资金费率数据几乎不存在,代理信号贡献有限。
四、第二轮:S/R 叠叠乐——失败
4.1 S/R 因子设计
支撑/压力因子由两个子因子等权合成:
Factor 1: Swing Pivot Proximity(摆动枢轴邻近度)[0.50]
算法:
1. 使用滑动窗口(1h: window=8, 4h: window=5)检测局部极值
2. 对每根K线:
- 找最近支撑位(下方swing low)
- 找最近阻力位(上方swing high)
3. 信号 = tanh((dist2support - dist2resistance) × 0.6) × exp(-min_dist × 0.4)
4. ATR归一化保证跨周期可比
Factor 2: Zone Strength(多触点区域强度)[0.50]
算法:
1. 收集zone_window内的所有swing points(1h: 60根, 4h: 30根)
2. 贪婪聚类形成S/R区域(容差 0.5 ATR)
3. 区域强度 = 聚类成员数,归一化到 [0, 1]
4. 信号 = strength × exp(-distance_to_zone × 0.5)
5. 支撑区→正值(看多),阻力区→负值(看空)
4.2 叠加逻辑
combined_alpha = nonOHLCV_alpha × 0.55 + SR_alpha × 0.45
非OHLCV 稍高权重(有独立数据源),SR 来自 OHLCV 派生但与现有因子正交。
4.3 回测结果(6 engines)
引擎 | 收益 | 胜率 | 夏普 | 回撤 | 交易 | vs基线 | vs非OHLCV
--------------------+-----------+---------+---------+----------+--------+-----------+-------------
18F 基线 | -0.91% | 54.3% | -0.36 | 1.23% | 1510 | -- | --
18F +非OHLCV | -0.87% | 52.7% | -0.40 | 1.08% | 1260 | +0.03% | --
18F +非OHLCV+SR | -0.93% | 53.7% | -0.37 | 1.23% | 1463 | -0.03% | -0.06%
5F 基线 | +0.07% | 24.1% | +0.06 | 0.28% | 355 | -- | --
5F +非OHLCV | +0.08% | 30.4% | +0.11 | 0.25% | 253 | +0.01% | --
5F +非OHLCV+SR | +0.08% | 24.9% | +0.08 | 0.28% | 323 | +0.02% | +0.01%
18F +SR 效果:改善 2/8, 恶化 6/8, 累计Δ=-0.47% ❌
4.4 S/R 叠叠乐逐场景 Δ(vs 非OHLCV)
| 场景 | 18F SR Δ | 5F SR Δ |
|---|---|---|
| Bear 2022 4h | -0.28% ❌ | +0.03% |
| Bear 2022 1h | -0.24% ❌ | -0.17% ❌ |
| Bull 2023 4h | -0.19% ❌ | +0.01% |
| Bull 2023 1h | -0.16% ❌ | +0.09% |
| Sideways 24H2 4h | +0.26% ✅ | -0.14% |
| Sideways 24H2 1h | -0.11% | -0.06% |
| Recent 2025 4h | +0.48% ✅ | -0.07% |
| Recent 2025 1h | -0.24% ❌ | +0.38% ✅ |
4.5 失败原因分析
看交易量变化链最为直观:
18F 基线 1510 → +非OHLCV 1260(-17%,过滤 250 笔噪音交易)
→ +非OHLCV+SR 1463(+203 笔又拉回来了!)
核心问题:非OHLCV 辛苦过滤掉的坏交易,SR 的 confidence boost 机制全给放回来了。 伴随回撤恶化(1.08% → 1.23%),证明放回来的交易质量很差。
但这不代表 S/R 因子本身无效。 只是 S/R 不应该叠加在已经过滤过的信号上——非OHLCV 已经是一个合格的过滤器,再做二次过滤会产生相互干扰。
五、第三轮:S/R 独立验证——成功
5.1 实验设计
完全排除非OHLCV,SR 信号独占外部 alpha:
| 引擎 | 说明 |
|---|---|
| 18F 基线 | 原始 18 因子 |
| 18F + SR | 仅叠加支撑/压力 |
| 5F 基线 | 原始 5 因子 |
| 5F + SR | 仅叠加支撑/压力 |
SR 信号权重 1.0,阈值设定更保守(strong > 0.25, medium > 0.15, mild > 0.05)。
5.2 回测结果
引擎 | 收益 | 胜率 | 夏普 | 回撤 | 交易 | vs基线
--------------------+-----------+---------+---------+----------+--------+-----------
18F 基线 | -0.91% | 54.3% | -0.36 | 1.23% | 1510 | --
18F +支撑压力 | -0.84% | 54.8% | -0.30 | 1.19% | 1471 | +0.06%
5F 基线 | +0.07% | 24.1% | +0.06 | 0.28% | 355 | --
5F +支撑压力 | +0.09% | 24.6% | +0.08 | 0.29% | 345 | +0.02%
18F: 改善 4/8, 不变 1/8, 恶化 3/8, 累计 Δ=+0.49% ✅
5F: 改善 1/8, 不变 6/8, 恶化 1/8, 累计 Δ=+0.20% ✅
5.3 逐场景 Δ 收益与胜率变化
场景 | 18F基线 | 18F+SR | SR Δ | 18F胜率变化
---------------------------+------------+------------+----------+--------------
Bear 2022 4h | +0.18% | +0.15% | -0.03% | 66.7% → 66.7%
Bear 2022 1h | -2.27% | -1.99% | +0.28% | 52.0% → 52.1%
Bull 2023 4h | -0.81% | -0.50% | +0.31% | 47.4% → 52.0% ✨
Bull 2023 1h | -0.84% | -0.97% | -0.13% | 47.3% → 46.0%
Sideways 24H2 4h | -0.28% | -0.19% | +0.09% | 61.1% → 61.5%
Sideways 24H2 1h | -0.74% | -0.56% | +0.18% | 52.3% → 53.4%
Recent 2025 4h | +0.49% | +0.41% | -0.08% | 64.1% → 63.3%
Recent 2025 1h | -2.97% | -3.10% | -0.13% | 43.9% → 43.3%
5.4 按市场类型汇总
| 市场 | 18F +SR Δ | 5F +SR Δ | 点评 |
|---|---|---|---|
| 🐻 熊市 | +0.12% ✅ | -0.03% ✗ | 18F 回撤从 1.43% 降到 1.29% |
| 🐂 牛市 | +0.08% ✅ | +0.01% ≈ | 18F 胜率 47.3%→49.0%,夏普 -0.68→-0.53 |
| 🔀 震荡 | +0.13% ✅ | +0.02% ✅ | 最有效!S/R 在区间边界识别最准 |
| 📅 近期 | -0.11% ✗ | +0.10% ✅ | 5F 胜率 26.2%→28.0%,夏普 +0.10→+0.17 |
六、三轮综合对比
6.1 总平均收益
| 引擎 | 基线 | +非OHLCV | +非OHLCV+SR | +SR only |
|---|---|---|---|---|
| 18F | -0.91% | -0.87% | -0.93% | -0.84% |
| 5F | +0.07% | +0.08% | +0.08% | +0.09% |
6.2 关键指标热力图
收益改善幅度 (Δ vs 基线)
| 方案 | 18F Δ | 5F Δ | 评级 |
|---|---|---|---|
| 非OHLCV | +0.03% | +0.01% | ✅✅ |
| 非OHLCV+SR | -0.03% ✗ | +0.02% ✓ | ❌/✅ |
| SR Only | +0.06% | +0.02% | ✅✅ |
回撤降低幅度
| 方案 | 18F Δ回撤 | 5F Δ回撤 |
|---|---|---|
| 非OHLCV | -12.2% | -10.7% |
| SR Only | -3.3% | +3.6% ✗ |
6.3 改善/不变/恶化统计
| 方案 | 18F 改善/不变/恶化 | 5F 改善/不变/恶化 |
|---|---|---|
| 非OHLCV | 4 / 2 / 2 | 4 / 0 / 4 |
| 非OHLCV+SR | 2 / 0 / 6 ❌ | 2 / 2 / 4 |
| SR Only | 4 / 1 / 3 ✅ | 1 / 6 / 1 |
6.4 因子正交性验证
| 对比 | 18F +非OHLCV | 18F +SR only | 能否叠加? |
|---|---|---|---|
| 改善场景重叠数 | 4 | 4 | 重叠 3 个 → 部分互补 |
| 恶化场景重叠数 | 2 | 3 | 重叠 1 个 → 有差异 |
| 累计 Δ | +0.03% | +0.06% | 理论叠加 = +0.09% ✅ |
两因子在场景层面有差异互补性——非OHLCV 在熊市/近期有效,SR 在震荡/牛市有效。理论上两者可以叠加,但必须 SR-only 模式接入,而非在非OHLCV 上叠叠乐。
七、核心结论与工程建议
7.1 三大核心结论
1. 非OHLCV 是过滤器而非阿尔法源 ✅
最稳健的增强维度。核心价值在于剔除噪音交易(18F: -17% 交易,5F: -29% 交易),而非直接提供超额收益。回撤全面改善。
2. S/R 因子有独立 alpha ✅
单独使用效果为正(18F +0.06%, 5F +0.02%),尤其震荡市表现突出。但与已有过滤器叠加会导致负面效应——因子叠加不是简单的加法,而是信号干涉问题。
3. 因子叠加需要正交验证 ⚠️
这是本轮研究最重要的方法论启示:
good bad
A → B → signal A → B → C → signal
↑好的过滤 ↑好的过滤再被扰动
非OHLCV 过滤后的信号 ≈ 已经"净化"的信号
SR 再作用 = 用粗糙规则扰动精炼结果 = 有害
SR 单独作用在原始信号 = 粗过滤也有价值 = 有效
7.2 工程建议
| 优先级 | 建议 | 预期效果 |
|---|---|---|
| P0 | 非OHLCV 引擎正式集成 | 回撤 -12%,胜率 +6% |
| P1 | SR 因子独立接入 18F/5F | 收益 +0.04~0.06%,震荡市改善显著 |
| P2 | 非OHLCV + SR 并联接入(单独评估,加权投票) | 理论叠加 +0.09% |
| P3 | 优化 18F 引擎基线 -0.91% | 这才是最大收益来源 |
7.3 最终推荐架构
OHLCV 数据
│
┌────────────┼────────────┐
▼ ▼ ▼
18F/5F引擎 非OHLCV信号 S/R信号
│ │ │
│ ┌───────┴───────┐ │
│ ▼ ▼ │
│ finance filter zone filter
│ (资金费率+OI) (支撑压力)
│ │ │ │
└────┴───────┬───────┴────┘
▼
Weighted Voting
(独立评估,不互相作用)
│
▼
最终交易决策
关键原则:两个外部信号独立评估引擎输出,各自加减分后加权汇总。绝不让一个过滤器的输出成为另一个过滤器的输入。
回测环境:Python 3.x, Pandas, NumPy
数据源:OKX BTC-USDT-SWAP 永续合约 K线 + 资金费率/OI/多空比 API
回测脚本:backtest/compare_with_non_ohlcv.py、backtest/compare_with_sr.py、backtest/compare_sr_only.py
声明:回测结果不代表未来实盘表现。加密货币交易风险极高,本文仅供学术研究参考。
更多推荐



所有评论(0)