可转债量化回测指南

第一部分:可转债相对股票的结构性优势 | 第二部分:本站可转债量化回测完整使用说明(参数、因子、指标解读、实盘衔接与方法学局限)

一、可转债相对股票的结构性优势

可转债 = 债券 + 正股看涨期权。这个"债底 + 期权"的结构,决定了它和股票是完全不同的风险收益形状。

1. 下有债底:跌有底,不是跌无底

股票跌起来没有"地板"——基本面恶化可以跌 90%。可转债不一样:即使正股暴跌,它仍是一张有面值、有票息、到期还本的债券。纯债价值(把未来票息和本金按同评级信用债利率折现)就是那层地板。价格跌到纯债价值附近时,下跌空间被显著压缩。

2. 上有跟涨:正股大涨,转债跟得上

转股价值 = 100 ÷ 转股价 × 正股价。正股涨,转股价值同步涨,转债价格会被"拽"上去。极端情况下(溢价率归零)转债涨幅≈正股涨幅。涨的时候像股票,跌的时候有债托着,这就是常说的"非对称收益"。

3. 自带三重条款保护,且规则公开可建模

本站已把强赎进度、下修进度做成可查询字段(30 交易日窗口内正股达标天数、距触发天数),回测里"排除预计强赎"直接可用——这类规则明确的事件,正是量化最喜欢的部分。

4. T+0 交易:当天买当天能卖,纠错成本低

A 股股票是 T+1,买入当天被锁死;可转债 T+0,日内发现判断错了可以立刻走。对量化策略意味着:日内止盈/止损规则真的能执行,而不是只能等到第二天。

5. 交易成本明显低于股票

6. 资金门槛低,小资金也能分散

转债 1 手 = 10 张,按 100 元面值附近计算,一手约 1000 元就能买。同样是持 10 只标的做组合,股票可能要几万到十几万,转债几千元就能搭起来,小账户也能真正做到分散。

7. 回撤天然更小(本站实测数据)

用本站回测引擎跑 2021-2025 五年,双低策略与"纯低价"策略对比:

策略最大回撤Calmar(年化/回撤)
双低(价格+溢价率)-19.7%0.86
纯低价(只看价格)-36.4%0.44

换句话说:双低相对纯低价的真正价值不是提高收益,而是把回撤砍掉一半。同期基准(全市场转债等权)年化 12.59%、最大回撤 -13.62%、夏普 1.28。

8. 可量化程度高:因子清晰、截面可比

股票选股要考虑行业、财报质量、管理层、估值体系……噪音极大。可转债的核心变量就那么几个,且全部可算、全部可比:

本站把这 15 个因子都做成了截面打分项,每天全市场同一把尺子量一遍,天然适合做横截面轮动。

9. 样本少但同质,策略不容易被"故事"带偏

全市场存续转债 300~500 只,数量适中:既够做统计(不像个股 5000 只里挑花眼),又少到可以逐只人工复核。而且所有标的共享同一套规则(同一部《可转换公司债券管理办法》),不像股票分几十个行业各有各的逻辑。

先说清楚:转债不是稳赚,这四条风险必须知道
  1. 信用风险:低价 ≠ 安全。2024 年信用风波里,一批 80 元以下的债继续跌到 60、50 元——债底的前提是"公司还得起钱"。
  2. 强赎杀溢价:高价高溢价的债一旦公告强赎,溢价率会在几天内归零,跌幅可能 20%~40%。这是"排除预计强赎"必须默认打开的原因。
  3. 流动性风险:小盘债日成交可能只有几百万,回测按收盘价成交,实盘打进去会有明显冲击成本。
  4. 高价区失去保护:价格站上 130~150 元后,债底已经很远,此时转债≈股票,前面所有优势基本消失,只剩强赎风险。

二、可转债量化回测使用指南

适用页面:顶部导航「回测」。回测基于库内转债日线数据(盘后更新),按日线模拟。

1. 三分钟跑通第一次回测

  1. 1登录账号(回测功能需登录后使用)。
  2. 2点顶部「回测」。
  3. 3先用默认值:区间 2021-01-01 至今、持有 10 只、每日调仓、基准「可转债等权指数」。
  4. 4直接点「运行回测」,等几十秒出结果。
  5. 5看四件事:超额收益是否为正、最大回撤能否接受、夏普是否 >1、日均换手是否高到成本吃不掉收益。
第一次跑建议只改一个变量再看结果。同时改五个参数,赚了不知道是谁的功劳,亏了也不知道该怪谁。

2. 页面地图

入口作用
转债列表全市场实时行情,可按双低值、价格、溢价率排序筛选,点进单只看详情(含强赎/下修进度、历史分位)
正股按正股维度看对应转债,判断正股波动与条款博弈空间
回测可转债量化回测(本指南重点)
策略已保存的策略:载入、管理、同步到 QMT
我的策略 / QMT量化需知实盘绑定说明、同步令牌、模拟模式
股票 / 股票回测股票多因子轮动(管理员可见,与转债模块数据隔离)

3. 参数逐项说明

3.1 基础信息

参数默认说明与建议
回测区间2020-01-01 起结束日期留空 = 到最新交易日。建议至少跨一个完整牛熊(3 年以上),只跑一年结果没有参考价值
持有数量105~30。数量越少越集中、波动越大。本站实测:双低持有 5/10/20/30 只,五年收益 +144%/+119%/+84%/+80%,持有 30 只时超额基本归零、退化成指数
调仓周期每日可选每日 / 每 5 天 / 每月末。调仓越频繁,换手与成本越高。转债 T+0 且费用低,日频才可行
调仓方式收盘价固定以收盘价成交,实盘需在临近收盘(如 14:50)执行以贴近
收益基准可转债等权强烈建议用「可转债等权指数(511380)」做基准。拿沪深 300 比,比的是股债两个市场,超额没意义
滑点(千分之)0.50.1~1.5。小盘债、大资金建议调到 1.0 以上;回测默认还叠加了 0.03% 单边佣金

3.2 排名缓冲

持仓中排名第 N 名附近的债,很容易在"进榜/出榜"之间反复横跳,导致无意义的来回换手。缓冲的做法是:已经持有的债,排名掉出前 N 名但仍在 N+buffer 名之内,就先不卖。

3.3 止盈 / 止损(离场规则)

所有阈值都按持仓成本价计算(不是昨收、不是当日涨幅)。可选三类:

类型触发逻辑
止盈 / 止损(按成本价)盈利达 X% 卖 / 亏损达 Y% 卖。实盘 QMT 为盘中每根 BAR 实时触发
止盈 / 止损(按昨收)当日价格相对昨日收盘涨/跌达 X% 卖,用于捕捉日内异动
回落止盈先涨到触发涨幅"武装",再从区间峰值回撤 X% 才卖——让利润奔跑
日线粒度提示(重要):本回测基于日线 OHLC 模拟日内触发,不是实时逐笔成交。系统只能看到"当天最高/最低到过哪",无法还原盘中路径,也无法判定先涨后跌还是先跌后涨。因此:
  • 止盈价与止损价在同一天都被触及的交易,结果里会标 ⚠️(按止盈优先处理),可信度低;
  • 阈值设得越小,近似误差相对越大;
  • 止盈止损参数只作方向性参考,不等同实盘逐笔成交。

4. 筛选条件(决定"哪些债能进池子")

条件说明与建议
排除已公告强赎默认开,建议常开。公告强赎后溢价率会快速归零
排除预计强赎距触发强赎 N 日内剔除(默认 5 日,可调 1-14)。想更保守就调大
排除 ST正股被 ST 的转债,信用风险显著更高
评级排除所选及以下更差评级。注意:评级是滞后指标,只能当粗筛
价格(元)默认 60~230。这是影响结果最大的一个筛子:上限压到 130 会砍掉大半候选池;下限提到 90 会显著改变收益结构(见下方实测)
转股溢价率默认 -10~300%。负溢价 = 转股价值高于价格(套利区)
剩余年限默认 0.1~8 年。临近到期的债,条款博弈空间小但债底硬
剩余规模 / 剩余市值规模=剩余张数对应面值(亿);市值=规模×现价/100,随价格浮动。小盘债弹性大、流动性差
正股流通市值小市值正股波动大,期权部分更值钱
当日成交金额流动性闸门。资金量越大,这个下限要设得越高,否则回测买得到的量实盘买不到
当日涨跌幅可选"小于/大于 X%",用于排除异动日
黑名单按代码或名称剔除,支持空格/逗号/换行分隔
价格下限会改变策略性质(本站实测,2021-2025)
双低 Top5 五年收益 +144.21%,但加上价格下限后:价 ≥80 → 超额 +4.16%;价 ≥90 → -20.70%;价 ≥95 → -28.01%。
结论:那段超额主要来自 90 元以下深度低价债(2024 年信用风波后的抄底机会)。把低价债筛掉,策略就变了一个东西——不是"更稳健",而是"少了一个收益来源"。

5. 因子评分设置(决定"池子里挑谁")

机制:每个交易日,把池子里所有债按每个因子做截面百分位排名(0~1),再按权重和方向(正相关 +、负相关 −)加权求和,得到综合分,取前 N 名买入。

15 个可选因子

双低、转股溢价率、剩余规模、剩余市值、当日成交金额、收盘价、正股波动率、纯债价值、纯债溢价率、转股价值、正股流通市值、正股 BIAS(10/20/30/60 日)。

单因子不一定有效,别想当然。本站实测:纯低溢价单因子五年跑输基准 -11.16%。溢价率必须和价格绑在一起(即"双低")才有意义——低溢价但 150 元的债,只是"贵得比较合理"而已。

6. 结果指标怎么读

指标含义与判断标准
组合总收益 / 年化(CAGR)看绝对收益时,务必和同期基准比
超额收益最重要的一个数。策略收益 − 基准收益。长期为正才有配置价值
最大回撤能否拿得住的关键。转债策略建议 <25%,超过就要问自己会不会在半路割肉
夏普比率每单位波动换来的超额收益。>1 可用,>1.5 优秀
年化波动与最大回撤一起看,判断收益是"稳赚"还是"赌出来的"
基准总收益同区间基准表现,用来判断"是策略好还是行情好"
日均换手容易被忽略的杀手。换手 × 滑点佣金 = 每年磨损。换手翻倍,超额要翻倍才打平
胜率 / 盈亏比按调仓轮次统计。低胜率+高盈亏比(趋势型)与高胜率+低盈亏比(均值回归型)都可以成立,关键是两者要匹配

怎么判断是不是过拟合了

页面还会给出「最近一期持仓」和「回测区间交易记录」,逐笔能看到离场方式(调仓卖出 / 日内止盈 / 日内止损 / 回落止盈 / 按昨收止盈止损),带 ⚠️ 的为同日双触发、可信度低。

7. 三套常用策略模板

稳健双低轮动(默认)

因子:双低 2.0(−) + 溢价率 1.5(−) + 收盘价 1.0(−) + 转股价值 1.0(+)

筛选:价格 90~130、排除强赎、成交金额 >0.1 亿

最经典的一套。核心是"便宜 + 跟涨",持有 10 只,每日调仓。

防守债底型

因子:纯债溢价率(−) 为主 + 剩余年限(−) + 价格(−)

筛选:价格 <110、评级 A 以上、剩余年限 >1

牺牲弹性换安全垫,适合熊市。注意:信用风险要靠评级和分散来控制,不是靠价格低。

进攻低溢价动量

因子:转股溢价率(−) 权重高 + 正股 BIAS20(+) + 正股波动率(+)

筛选:价格 110~150、溢价率 <20%、排除预计强赎

偏股性,跟涨强但失去债底保护。必须开强赎排除,否则一次强赎公告就能抹掉半年收益。

提示关于 2026 年

当前全市场均价在 157~166 元,价格 <130 的可选标的只剩 74~158 只(2024 年同期有 400 多只)。可选标的变少时,前 5 名等权配置会把资金集中在少数几只债上,收益的偶然性被放大,结果未必能代表整体表现。

因此 2026 年及之后的回测结果参考价值有限,建议您以 2021-2025 年的完整区间作为主要判断依据。

8. 两个"保存"别搞混(高频问题)

按钮存到哪用途
保存回测存档回测存档表存“参数 + 结果”,在「载入已保存回测」里调出来回看,每用户每类上限 10 条
保存为策略我的策略只存参数,用于载入继续调参、或绑定 QMT 实盘

两者按资产类型(转债 / 股票)完全隔离,不会串。如果找不到刚保存的东西,先确认你点的是哪个按钮。

9. 从回测到实盘

  1. 在回测页调好参数 →「保存为策略」。
  2. 进入策略 → 复制同步令牌(sync_token,在策略详情里)。
  3. 把网站提供的交易脚本(qmt_trader.py,GBK 版)放进 QMT 策略目录,填入令牌。
  4. 先开模拟模式(dry_run,只记录不下单),跑几天对比网站与 QMT 的持仓是否一致。
  5. 确认无误再切实盘。默认换仓时间 14:50,与回测"收盘价成交"口径最接近。
实盘与回测一定会有差异,来源包括:日线模拟与实时逐笔成交的差别、滑点与冲击成本、涨跌停/停牌买不到、分红与税、资金量对成交的影响。差异在合理范围内属正常,差异过大说明回测参数(尤其是流动性筛选)没设对。

10. 方法学局限(请务必读完再用结论)

  1. 日线近似:日内止盈止损为 OHLC 模拟,非逐笔。同日双触发的交易已标 ⚠️。
  2. 退市 / 停牌处理偏乐观:标的日线断档后按"价格冻结"处理,权重不归一化。若实质违约归零,回测会系统性高估收益——持仓越多的基准受害越重,因此"超额收益"可能也被高估。
  3. 可选标的过少的风险:筛选条件过严(如价格上限设为 130)会让候选标的只剩几十只,此时 Top5/Top10 的结果只是"少数几只债的表现",难以代表整体,不宜直接套用。
  4. 不含冲击成本模型:滑点是固定比例,不随你的资金量变化。大资金请自行上调滑点并提高成交额下限。
  5. 样本窗口含极端事件:2021-2025 含 2024 信用风波,双低策略的超额高度依赖那段抄底行情,不代表未来可复制。
  6. 条款事件为规则推演:强赎/下修进度按公开规则自算(30 交易日窗口、15 天触发等),与公司实际公告可能有出入,以公告为准。
使用建议:把回测当成"排除坏策略"的工具,而不是"发现印钞机"的工具。一个策略在多个区间、多组参数下都没有崩,才值得拿小资金试。

11. 常见问题

回测跑不出来 / 一直加载?

区间太长 + 持仓数太多时计算量大。先缩短区间(如 2 年)确认结果,再放大。

为什么我的结果和别人差很多?

先对齐四件事:基准(是否同为可转债等权)、区间、滑点、是否排除强赎。这四项任一不同,收益可以差出几十个百分点。

超额收益为负怎么办?

正常——大部分参数组合跑不赢基准。基准是"全市场等权",已经自带转债本身的贝塔。策略的价值在于用可接受的风险换取稳定的超额,而不是每次都赢。

换手率很高,要不要紧?

看成本:日均换手 × (滑点 + 双边佣金)。若年化成本超过超额收益的一半,这个策略在实盘上大概率活不下来。降频(每月末调仓)或加排名缓冲都能有效降换手。

回测历史交易记录只显示一部分?

成交记录展示有上限(最近 10000 条),总数在标题里显示,不影响指标计算。

顶部"数据连接异常"红横幅?

多为实时行情连接异常或登录态失效,不影响历史回测(回测读库内日线),但会影响实时行情与盘中选债。