可转债18策略横评:从双低轮动到低价动量的完整回测对比
为什么要做18策略横评
可转债策略在网上很多——双低、三低、低溢价、网格、动量、反转……每篇文章都说自己的策略好。但问题是:
- 没有统一对比:不同文章用不同回测周期、不同费用假设、不同选债池
- 幸存者偏差:只展示赚钱的策略,亏钱的策略被悄悄删掉
- 费用注水:用万0.5免五的佣金,但实际券商最低收5元
我们的解决方案:搭建一个统一回测框架,18种策略用同一份数据、同一套费用、同一个回测引擎横评。
数据和回测框架
数据
| 维度 | 说明 |
|---|---|
| 标的数量 | 988只可转债(全市场) |
| 回测周期 | 2024年1月~2026年4月(28个月) |
| 数据频率 | 日线(收盘价+转股价值+纯债价值+溢价率) |
| 5分钟数据 | 244只活跃可转债的5分钟K线 |
| 数据来源 | pytdx直连 + 东财妙数据 |
回测框架参数
TOTAL_CAPITAL = 100000 # 10万初始资金
COMMISSION_RATE = 0.00005 # 佣金万0.5(最低5元)
SLIPPAGE = 0.001 # 滑点0.1%
MIN_PRICE = 101 # 最低价格门槛
TOP_N = 5 # 持有数量
REB_DAYS = 5 # 调仓周期(天)
EXCLUDE_FIRST_DAYS = 10 # 排除新债前10天
Guardrails检查
所有策略回测必须通过11项检查(详见回测引擎V2文章),包括:
- T+1成交(信号close → 成交open_next)
- 真实费用(含最低5元佣金)
- 随机基线对比(30次随机选中位数)
- 逐年收益分析
18种策略一览
策略编号 策略名称 核心逻辑
────────────────────────────────────────────────────
S01 双低策略 价格+转股溢价率,选最低
S02 三低策略 双低+纯债溢价率
S03 低溢价率策略 转股溢价率最低
S04 低价轮动 ⭐ 价格最低,定期轮动
S05 低价5日 低价+5日动量过滤
S06 低价动量3日 低价+3日动量
S07 高纯债价值策略 纯债溢价率最低(接近债底)
S08 折价策略 转股溢价率为负(套利)
S09 动量策略 近20日涨幅最大
S10 反转策略 近20日跌幅最大(抄底)
S11 低波动策略 近20日波动率最低
S12 高波动策略 近20日波动率最高
S13 正股弹性策略 转股价值/纯债价值最高
S14 平价安全策略 转股价值高+价格低
S15 双低+动量组合 双低×动量排序
S16 低溢价+动量组合 低溢价×动量排序
S17 低价+反转组合 低价×反转排序
S18 哑铃型配置 网格进攻50%+双低防守50%
核心策略详解
S04:低价轮动(最优策略)⭐
经过28个月回测验证,纯低价轮动(TOP5/5天)击败了所有因子增强版本。
# S04 最优参数
TOP_N = 5 # 持有5只
REB_DAYS = 5 # 5个交易日调仓
MIN_PRICE = 100 # 最低价格
MAX_PRICE = 125 # 最高价格
# 无到期过滤,无额外因子,无择时
为什么因子增强没效果?
在100-125价格区间,deep_value因子(深度价值评分)与价格高度正相关——价格本身就是最强的价值因子。低价=近债底+低溢价,天然包含了”深度价值”逻辑。加入更多因子反而引入了噪音。
S04回测结果(28个月)
| 指标 | 数值 |
|---|---|
| 总收益率 | +54.0% |
| 年化收益率 | +20.6% |
| 最大回撤 | -4.1% |
| Sharpe Ratio | 2.98 |
| Calmar Ratio | 5.06 |
| 月胜率 | 71.4% |
| 最终资产 | 154,453元 |
S04 vs 因子增强版对比
| 策略版本 | 总收益率 | 年化 | Sharpe | 回撤 |
|---|---|---|---|---|
| S04低价(基准) | +54.0% | +20.6% | 2.98 | -4.1% |
| S04+因子增强 | +38.1% | +14.9% | 2.41 | -4.0% |
| S04+因子全池 | +14.8% | +6.1% | 1.79 | -3.2% |
| S04+双低过滤 | -1.6% | -0.7% | 0.00 | -15.9% |
| 纯deep_value(110-140) | +12.1% | +5.0% | 0.86 | -7.4% |
关键结论:越简单的策略效果越好。纯低价轮动 > 低价+因子增强 > 低价+双低过滤。
S05/S06:低价+动量过滤
S05和S06在低价基础上加入动量过滤,试图提高选债质量。
# S05: 低价 + 5日动量过滤
# 从低价池(TOP20)中,选近5日收益率TOP5
MOM_DAYS = 5
MOM_THRESHOLD = -0.02 # 动量> -2%
POOL_SIZE = 20 # 候选池
# S06: 低价 + 3日动量过滤
# 从低价池(TOP20)中,选近3日收益率TOP5
MOM_DAYS = 3
V2风控增强版
# S05v2/S06v2 风控参数
V2_TOP_N = 8 # 持仓8只(分散风险)
V2_PRICE_MAX = 120 # 价格上限120
V2_STOP_PROFIT = 130 # 止盈130
V2_AVG_AMT = 50000000 # 日均成交额>5000万(流动性)
S05实际运行教训
S05在模拟交易中出现了严重亏损:
| 日期 | 事件 | 持仓 | 总收益率 |
|---|---|---|---|
| 04-29 | 买入110092 | 90张@103.14 | -0.3% |
| 04-30 | 持仓 | 价格暴跌至82.52 | -18.9% |
| 05-06 | 持仓 | 继续跌至70.70 | -29.5% |
| 05-11 | 换仓至127061 | 60张@104.53 | -30.1% |
S05亏损根因分析:到期过滤将候选池从20只缩小至1只(110092),丧失了分散持有降低个债风险的能力。而纯S04从不过滤,5只分散持有,28个月从未触发-8%止损。
S01:双低策略
双低是可转债最经典的策略——双低值 = 收盘价 + 转股溢价率,选最低的持有。
df['dual_low'] = df['close'] + df['conv_premium']
# 每个调仓日,选dual_low最低的TOP_N只
双低策略的逻辑是同时考虑”价格低”和”溢价率低”——价格低意味着下跌空间有限(接近债底),溢价率低意味着正股上涨时跟涨能力强。
S18:哑铃型配置
"""
可转债哑铃型配置策略 — 网格进攻 + 双低防守
进攻端(50%): 高波动标的(振幅大),用V2网格策略获取超额收益
防守端(50%): 双低标的(价格+溢价率低),类似债底保护
定期再平衡(月度)
哑铃型配置的优势:
1. 两端对冲风险 — 网格在震荡市赚钱,双低在牛市/趋势市赚钱
2. 降低组合波动 — 相关性低的两类标的组合后夏普更高
3. 不需要预测市场方向 — 两端都自动适应
"""
策略分类对比
按风险收益比分类
| 类型 | 代表策略 | 年化收益 | 最大回撤 | Sharpe | 特点 |
|---|---|---|---|---|---|
| 稳健型 | S04低价轮动 | +20.6% | -4.1% | 2.98 | 回撤极低 |
| 进攻型 | 网格策略 | +80%(估) | -15% | 5+ | 高频交易 |
| 防守型 | S07高纯债价值 | +8% | -3% | 1.5 | 接近纯债 |
| 平衡型 | S18哑铃型 | +25% | -8% | 2.0 | 攻守兼备 |
| 投机型 | S09追涨动量 | -38.4% | -94.2% | -0.98 | 灾难 |
反直觉发现
追涨杀跌在可转债市场是灾难。我们的回测显示:
| 因子 | IC均值 | ICIR | 方向一致 | 结论 |
|---|---|---|---|---|
| 非流动性(Amihud) | +0.116 | +1.06 | 88% | ✅ 有效 |
| 5日最大跌幅(反转) | +0.109 | +0.69 | 88% | ✅ 有效 |
| 20日动量(追涨) | -0.082 | -0.92 | 25% | ❌ 反向 |
| 20日波动率 | -0.150 | -0.87 | 25% | ❌ 反向 |
| 20日均成交额 | -0.175 | -1.54 | 0% | ❌ 反向 |
可转债市场存在显著的反转效应——近期跌得多的反而未来涨得多。而追涨动量策略年化-38.4%,最大回撤-94.2%,几乎归零。
修复BUG后的策略排名
修复前瞻偏差、佣金错误、成本低估等问题后:
| 排名 | 策略 | 年化收益 | Sharpe | 最大回撤 | 月胜率 | vs随机 |
|---|---|---|---|---|---|---|
| 🥇 | 低成交额+低价(复合) | +38.9% | 1.67 | -15.3% | 70% | +29.7% |
| 🥈 | 低成交额(单因子) | +34.9% | 1.53 | -24.6% | 73% | +25.7% |
| 🥉 | 低成交额+反转 | +26.1% | 0.96 | -22.6% | 65% | +16.9% |
| 4 | 复合(非流动性+反转) | +17.7% | 0.74 | -21.4% | 57% | +8.5% |
| 5 | 随机基线(30次中位数) | +9.2% | — | — | 50% | 基准 |
| 6 | 60日反转 | +8.7% | 0.24 | -32.5% | 49% | -0.5% |
| 7 | 低波动率 | +8.6% | 0.47 | -21.7% | 57% | -0.6% |
| 8 | 追涨动量 | -38.4% | -0.98 | -94.2% | 37% | -47.6% |
冠军策略:低成交额+低价
| 年份 | 年度收益 | 月胜率 | 备注 |
|---|---|---|---|
| 2020 | +26.55% | 73% | 稳定正收益 |
| 2021 | +55.31% | 82% | 最佳年份 |
| 2022 | +8.51% | 64% | 熊市仍正收益 |
| 2023 | +1.80% | 70% | 横盘市微正 |
| 2024 | +26.01% | 55% | 强势反弹 |
| 2025 | +76.16% | 100% | YTD极佳 |
Alpha来源分析
这个策略的Alpha来自哪里?我们做了归因分析:
- 大盘股内选低成交额: 年化-8.93% ❌(无alpha)
- 中盘股内选低成交额: 年化+9.98%(接近随机)
- 小盘股内选低成交额: 年化+34.93% 🔥(alpha来源)
结论:Alpha来自小盘转债的流动性溢价,而非纯”低成交额”因子本身。
网格策略:高频交易篇
除了轮动策略,我们还搭建了完整的5分钟级别网格回测引擎。
网格策略设计
GridConfig(
codes=['127070', '123176', '123255'], # 标的组合
grid_pct=0.004, # 网格间距 0.4%
layers=7, # 7层网格
qty_per_layer=50, # 每层50张
stop_loss_pct=0.01, # 止损1%
total_capital=100000,
max_positions_per_code=5, # 单标的最多5层
)
多窗口回测
| 周期 | 激进型年化 | 均衡型年化 | 稳健型年化 |
|---|---|---|---|
| 1个月 | +3,178% | +1,328% | +832% |
| 3个月 | +2,214% | +1,096% | +617% |
| 6个月 | +803% | +529% | +265% |
| 12个月 | +262% | +194% | +118% |
⚠️ 重要警告:以上网格策略收益存在过拟合风险。5分钟K线+布朗桥插值会过度拟合微观结构,0.00%回撤在真实交易中不可能出现。请参考回测引擎V2文章中的BUG诊断部分。
策略选择建议
根据风险偏好选择
| 风险偏好 | 推荐策略 | 预期年化 | 最大回撤 | 操作频率 |
|---|---|---|---|---|
| 保守型 | S07高纯债价值 | 5-8% | -3% | 月调仓 |
| 稳健型 | S04低价轮动 | 15-20% | -5% | 周调仓 |
| 进取型 | 网格+轮动组合 | 20-30% | -10% | 日内+周调仓 |
| 激进型 | 网格策略(高频) | 50%+ | -15% | 5分钟级 |
根据市场环境选择
| 市场环境 | 最优策略 | 逻辑 |
|---|---|---|
| 震荡市 | 网格策略 | 高抛低吸赚波动 |
| 牛市初期 | S04低价轮动 | 低价债跟涨能力强 |
| 熊市 | S07高纯债价值 | 债底保护 |
| 不确定 | S18哑铃型 | 攻守兼备 |
5个实战避坑
1. 不要加太多过滤条件
S04纯低价轮动年化+20.6%,加上双低过滤后变成-0.7%。过度过滤会让候选池太小,丧失分散持有的风险分散能力。
2. “5万资金可顺利成交”
低成交额策略选到的是冷门债,会不会买不进去?我们的流动性检验显示:日均成交额中位数1418万元,可成交率(日成交额>10万)100%。5万元/只完全可成交。
3. 新债前10天不要碰
新上市的可转债前10天波动极大,且价格发现不充分。我们在所有策略中都加入了EXCLUDE_FIRST_DAYS = 10。
4. 到期过滤要谨慎
S05亏损的根因就是到期过滤把候选池缩到1只。如果你想过滤快到期的债,至少保留20只以上的候选池。
5. 年化数字打5折看
我们的回测(修复BUG后)显示低成交额+低价策略年化+38.9%。但实际交易中还有:
- 实时行情延迟
- 资金到账延迟
- 情绪化操作
- 黑天鹅事件
保守估计:实际收益 ≈ 回测收益 × 0.5~0.7
总结
| 策略大类 | 最优具体策略 | 年化(修复后) | 推荐度 |
|---|---|---|---|
| 低价轮动 | S04纯低价 | +20.6% | ⭐⭐⭐⭐⭐ |
| 复合因子 | 低成交额+低价 | +38.9% | ⭐⭐⭐⭐ |
| 网格策略 | 均衡型 | +50%(估) | ⭐⭐⭐ |
| 哑铃配置 | 网格+双低 | +25%(估) | ⭐⭐⭐⭐ |
| 双低策略 | S01经典双低 | +10% | ⭐⭐⭐ |
| 追涨动量 | ❌ | -38.4% | ❌ |
一句话结论:可转债市场最有效的策略是最简单的——买最便宜的5只,每5天换一次。越花哨的策略越不赚钱。
所有回测数据基于2024年1月至2026年4月的988只可转债日线数据。策略代码和回测引擎可在GitHub查看。