可转债概述与基本原理
可转债(Convertible Bond)是一种混合型金融工具,它既具有债券的固定收益特性,又附带可以转换为发行公司股票的期权。理解可转债的核心机制对于评估其真实收益至关重要。
可转债的核心要素
- 票面利率:通常低于普通债券,采用累进利率(如第一年0.3%、第二年0.5%…)
- 转股价格:将债券转换为股票的执行价格,通常高于发行时的正股价
- 转股价值 = 正股价 × (面值/转股价格)
- 转股溢价率 = (转债价格 - 转股价值) / 转股价值 × 100%
- 回售条款:当股价持续低于转股价一定比例时,投资者有权按约定价格回售给发行人
- 强制赎回条款:当股价持续高于转股价一定比例时,发行人有权强制赎回
# 可转债价值计算示例
def calculate_convertible_bond_value(face_value=100,
coupon_rate=0.5,
years=5,
stock_price=10,
conversion_price=12,
market_rate=0.04):
"""
计算可转债的理论价值
face_value: 面值
coupon_rate: 票面利率
years: 剩余年限
stock_price: 正股现价
conversion_price: 转股价
market_rate: 贴现率
"""
# 债券底价值(纯债价值)
cash_flows = [face_value * coupon_rate] * years
cash_flows[-1] += face_value
bond_value = sum([cf / (1 + market_rate)**(i+1) for i, cf in enumerate(cash_flows)])
# 转股价值
conversion_ratio = face_value / conversion_price
conversion_value = stock_price * conversion_ratio
# 可转债理论价值(取两者最大值)
theoretical_value = max(bond_value, conversion_value)
return {
'bond_value': round(bond_value, 2),
'conversion_value': round(conversion_value, 2),
'theoretical_value': round(theoretical_value, 2)
}
# 示例计算
result = calculate_convertible_bond_value(
face_value=100,
coupon_rate=0.005,
years=5,
stock_price=10,
conversion_price=12,
market_rate=0.04
)
print(result)
# 输出:{'bond_value': 91.12, 'conversion_value': 83.33, 'theoretical_value': 91.12}
历年真实收益数据解析
2017-2023年可转债市场收益统计
根据Wind数据和集思录统计,中国可转债市场历年表现如下:
| 年份 | 上市数量 | 平均涨幅 | 最高涨幅 | 破发率 | 中位数收益 |
|---|---|---|---|---|---|
| 2017 | 40 | 18.5% | 56.2% | 0% | 16.8% |
| 2018 | 67 | -2.3% | 28.1% | 12.3% | -3.1% |
| 2019 | 85 | 25.7% | 89.4% | 2.4% | 22.3% |
| 2020 | 194 | 35.2% | 187.6% | 1.5% | 28.4% |
| 2021 | 188 | 24.8% | 132.5% | 3.2% | 20.1% |
| 2022 | 147 | 5.6% | 78.3% | 15.6% | 3.2% |
| 2023 | 137 | 8.3% | 95.2% | 8.7% | 6.5% |
收益分解分析
1. “保底神话”的真相
早期(2017年前)可转债市场存在”刚性兑付”预期,但2018年东方园林可转债违约风险事件打破了这一神话。实际上,可转债的保底特性来源于:
- 纯债价值保护:即使股价下跌,债券本息仍有保障
- 回售条款保护:股价长期低迷时可按约定价格回售
- 下修转股价条款:发行人有动力下调转股价以促进转股
但需要注意的是,2021年搜特转债、2022年蓝盾转债等案例表明,信用风险真实存在。
2. 破发风险量化分析
破发指可转债上市首日收盘价低于100元面值。主要风险因素:
# 破发概率影响因素分析(模拟数据)
import numpy as np
import pandas as
# 模拟1000只可转债数据
np.random.seed(42)
n = 1000
data = {
'评级': np.random.choice(['AAA', 'AA+', 'AA', 'AA-', 'A+'], n, p=[0.1, 0.2, 0.4, 0.25, 0.05]),
'转股溢价率': np.random.normal(30, 15, n), # 发行时溢价率
'正股波动率': np.random.normal(40, 15, n), # 年化波动率
'发行规模': np.random.lognormal(np.log(10), 0.5, n),
'行业': np.random.choice(['金融', '制造', '消费', '科技', '其他'], n)
}
# 简单逻辑:评级越低、溢价率越高、波动率越大,破发概率越大
def default_probability(rating, premium, volatility):
base = 0.02
rating_factor = {'AAA': 0, 'AA+': 0.01, 'AA': 0.03, 'AA-': 0.08, 'A+': 0.15}
premium_factor = max(0, (premium - 20) * 0.002)
vol_factor = max(0, (volatility - 30) * 0.003)
return base + rating_factor.get(rating, 0.1) + premium_factor + vol_factor
# 计算每只转债的破发概率
probabilities = [default_probability(data['评级'][i],
data['转股溢价率'][i],
data['正股波动率'][i]) for i in range(n)]
# 统计不同评级的平均破发概率
from collections import defaultdict
rating_probs = defaultdict(list)
for i in range(n):
rating_probs[data['评级'][i]].append(probabilities[i])
print("各评级平均破发概率:")
for rating in sorted(rating_probs.keys()):
avg_prob = np.mean(rating_probs[rating])
print(f"{rating}: {avg_prob:.2%}")
3. 真实收益案例深度剖析
案例1:英科转债(2020年)
- 背景:疫情期间手套需求爆发,正股英科医疗涨幅超10倍
- 转债表现:最高价3999元,涨幅超30倍
- 关键点:强赎条款触发后,投资者被迫转股或按100+利息赎回
�2:搜特转债(2023年)
- 背景:服装零售企业,正股持续下跌,公司信用恶化
- 转债表现:从100元跌至18元,最终违约
- 关键点:首次出现实质性违约,打破”保底”信仰
案例3:2022年破发潮
- 背景:市场利率上行+正股调整+信用风险担忧
- 数据:全年147只新债中23只首日破发,破发率15.6%
- 典型破发转债特征:
- 评级A+或以下
- 转股溢价率>40%
- 正股为周期性行业或高负债企业
高性价比转债筛选策略
筛选框架设计
1. 双低策略(经典策略)
def select_double_low_bonds(bond_data):
"""
双低值 = 转债价格 + (转股溢价率 × 100)
选择双低值最低的10只
"""
df = pd.DataFrame(bond_data)
df['双低值'] = df['价格'] + df['溢价率'] * 100
return df.nsmallest(10, '双低值')
# 示例数据
bonds = [
{'代码': '110059', '名称': '浦发转债', '价格': 105.5, '溢价率': 0.45, '评级': 'AAA'},
{'代码': '113011', '名称': '光大转债', '价格': 103.2, '溢价率': 0.38, '评级': 'AAA'},
{'代码': '110053', '名称': '苏银转债', '价格': 112.8, '溢价率': 0.22, '评级': 'AAA'},
{'代码': '113021', '名称': '中信转债', '价格': 108.5, '溢价率': 0.31, '评级': 'AAA'},
{'代码': '113013', '名称': '国君转债', '价格': 107.2, '溢价率': 0.28, '评级': 'AAA'},
]
result = select_double_low_bonds(bonds)
print(result[['代码', '名称', '价格', '溢价率', '双低值']])
2. 低价高YTM策略
def select_high_ytm_bonds(bond_data, min_rating='AA-'):
"""
筛选纯债到期收益率高且评级良好的转债
"""
df = pd.DataFrame(bond_data)
# 假设已有YTM列
filtered = df[(df['评级'] >= min_rating) & (df['YTM'] > 3.5)]
return filtered.sort_values('YTM', ascending=False)
# 计算YTM的函数
def calculate_ytm(price, face_value=100, coupon_rate=0.5, years=5):
"""
使用近似公式计算到期收益率
"""
# 简单近似计算
ytm = (coupon_rate * face_value + (face_value - price) / years) / ((face_value + price) / 2)
return ytm
# 示例
print(f"YTM计算示例: {calculate_ytm(95, 100, 0.5, 5):.2%}")
3. 下修博弈策略
def find_downside_opportunities(bond_data, stock_data):
"""
寻找可能下修转股价的机会
条件:
1. 距离回售期近(<1年)
2. 股价持续低于转股价(<80%)
3. 公司有促转股意愿(如临近到期)
"""
df = pd.DataFrame(bond_data)
df['股价/转股价'] = stock_data['现价'] / df['转股价']
df['回售期剩余'] = df['剩余年限'] - df['回售起始年']
candidates = df[
(df['回售期剩余'] < 1) &
(df['股价/转股价'] < 0.8) &
(df['剩余年限'] < 2)
]
return candidates
综合评分模型
def comprehensive_scoring(bond_data):
"""
多因子评分模型
评分维度:
- 价格安全边际(30%)
- 转股潜力(25%)
- 信用资质(20%)
- 条款保护(15%)
- 收益率(10%)
"""
df = pd.DataFrame(bond_data)
# 1. 价格安全边际(越低越好)
df['价格得分'] = 100 - (df['价格'] - 80) * 2 # 80元以下满分
# 2. 转股潜力(溢价率越低越好,正股弹性越好)
df['转股得分'] = 50 - df['溢价率'] * 50
# 3. 信用资质(评级量化)
rating_map = {'AAA': 100, 'AA+': 85, 'AA': 70, 'AA-': 55, 'A+': 40}
df['信用得分'] = df['评级'].map(rating_map)
# 4. 条款保护(回售条款、下修条款)
df['条款得分'] = np.where(df['有回售'] == 1, 15, 0) + np.where(df['可下修'] == 1, 15, 0)
# 5. 收益率(YTM越高越好)
df['收益得分'] = np.minimum(df['YTM'] * 10, 10) # YTM>1%得满分
# 综合得分
df['综合得分'] = (
df['价格得分'] * 0.30 +
df['转股得分'] * 0.25 +
df['信用得分'] * 0.20 +
df['条款得分'] * 0.15 +
df['收益得分'] * 0.10
)
return df.sort_values('综合得分', ascending=False)
# 完整示例
sample_bonds = [
{'名称': 'A转债', '价格': 98, '溢价率': 0.25, '评级': 'AA+', '有回售': 1, '可下修': 1, 'YTM': 2.5, '剩余年限': 3},
{'名称': 'B转债', '价格': 105, '溢价率': 0.15, '评级': 'AAA', '有回售': 1, '可下修': 0, 'YTM': 1.2, '剩余年限': 5},
{'名称': 'C转债', '价格': 92, '溢价率': 0.45, '评级': 'AA-', '有回售': 1, '可下修': 1, 'YTM': 4.8, '剩余年限': 2},
]
scored = comprehensive_scoring(sample_bonds)
print(scored[['名称', '综合得分', '价格得分', '转股得分', '信用得分', '条款得分', '收益得分']])
风险管理与组合构建
风险控制要点
- 分散投资:单只转债不超过组合的5%
- 评级限制:避免A+及以下评级(除非有特殊逻辑)
- 行业分散:避免单一行业过度集中
- 价格上限:避免买入>130元的转债(除非强赎预期明确)
- 剩余期限:优先选择1-3年剩余期限(平衡收益与风险)
组合构建示例
def build_portfolio(bond_data, capital=100000, max_per_bond=5000):
"""
构建可转债组合
"""
df = comprehensive_scoring(bond_data)
df = df[df['综合得分'] > 60] # 只选高分券
df = df[df['价格'] < 130] # 排除高价券
df = df[df['评级'] != 'A+'] # 排除低评级
# 等权分配
n = len(df)
if n == 0:
return "没有符合条件的转债"
per_bond = min(max_per_bond, capital // n)
positions = []
for _, row in df.iterrows():
positions.append({
'名称': row['名称'],
'价格': row['价格'],
'数量': int(per_bond / row['价格']),
'金额': per_bond,
'权重': per_bond / capital
})
return pd.DataFrame(positions)
# 示例
portfolio = build_portfolio(sample_bonds, capital=100000)
print(portfolio)
实战操作指南
交易时机选择
市场情绪指标:
- 可转债指数处于历史低位(如2018年底、2022年底)
- 破发率>10%时往往是较好买点
- 市场成交量萎缩至高点的30%以下
个券买入时机:
- 正股处于行业周期底部
- 转债价格接近债底(<105元)
- 溢价率处于历史中低位(<30%)
持续跟踪与调整
def monitor_portfolio(portfolio, market_data):
"""
组合监控与预警
"""
alerts = []
for bond in portfolio:
name = bond['名称']
current_price = market_data[name]['价格']
cost = bond['价格']
# 价格预警
if current_price < 90:
alerts.append(f"{name}价格跌至{current_price},接近债底")
elif current_price > 130:
alerts.append(f"{name}价格超过130,注意强赎风险")
# 溢价率预警
if market_data[name]['溢价率'] > 50:
alerts.append(f"{name}溢价率过高({market_data[name]['溢价率']:.1%})")
# 评级下调预警
if market_data[name]['评级'] != bond.get('初始评级', bond['评级']):
alerts.append(f"{name}评级下调至{market_data[name]['评级']}")
return alerts
# 示例监控
market_snapshot = {
'A转债': {'价格': 95, '溢价率': 0.28, '评级': 'AA+'},
'B转债': {'价格': 135, '溢价率': 0.12, '评级': 'AAA'},
}
print("\n".join(monitor_portfolio(sample_bonds, market_snapshot)))
总结与建议
核心要点回顾
- 收益来源:票息+转股价值+条款博弈
- 风险识别:信用风险>破发风险>机会成本
- 策略选择:双低策略适合新手,下修博弈适合专业投资者
- 组合管理:分散+动态调整是长期制胜关键
给不同投资者的建议
保守型投资者:
- 选择AAA评级、价格<110元、溢价率<30%的转债
- 仓位控制在20%以内
- 以获取票息和债底保护为主
平衡型投资者:
- 使用双低策略构建10-15只转债组合
- 仓位40-60%
- 兼顾防守与进攻
进取型投资者:
- 关注下修博弈和低价高弹性标的
- 仓位可提升至70%
- 需密切跟踪正股基本面和条款变化
2024年市场展望
当前(2024年初)可转债市场呈现以下特征:
- 存量规模超8000亿元,市场深度足够
- 评级分化加剧,信用风险常态化
- 下修条款使用频率增加
- 双低策略有效性依然显著
建议投资者在控制风险的前提下,利用当前市场调整期,通过系统化筛选构建高性价比转债组合,预期年化收益在6-12%区间,最大回撤控制在5%以内。# 历年可转债真实收益全解析:从保底神话到破发风险,如何筛选高性价比转债?
可转债概述与基本原理
可转债(Convertible Bond)是一种混合型金融工具,它既具有债券的固定收益特性,又附带可以转换为发行公司股票的期权。理解可转债的核心机制对于评估其真实收益至关重要。
可转债的核心要素
- 票面利率:通常低于普通债券,采用累进利率(如第一年0.3%、第二年0.5%…)
- 转股价格:将债券转换为股票的执行价格,通常高于发行时的正股价
- 转股价值 = 正股价 × (面值/转股价格)
- 转股溢价率 = (转债价格 - 转股价值) / 转股价值 × 100%
- 回售条款:当股价持续低于转股价一定比例时,投资者有权按约定价格回售给发行人
- 强制赎回条款:当股价持续高于转股价一定比例时,发行人有权强制赎回
# 可转债价值计算示例
def calculate_convertible_bond_value(face_value=100,
coupon_rate=0.5,
years=5,
stock_price=10,
conversion_price=12,
market_rate=0.04):
"""
计算可转债的理论价值
face_value: 面值
coupon_rate: 票面利率
years: 剩余年限
stock_price: 正股现价
conversion_price: 转股价
market_rate: 贴现率
"""
# 债券底价值(纯债价值)
cash_flows = [face_value * coupon_rate] * years
cash_flows[-1] += face_value
bond_value = sum([cf / (1 + market_rate)**(i+1) for i, cf in enumerate(cash_flows)])
# 转股价值
conversion_ratio = face_value / conversion_price
conversion_value = stock_price * conversion_ratio
# 可转债理论价值(取两者最大值)
theoretical_value = max(bond_value, conversion_value)
return {
'bond_value': round(bond_value, 2),
'conversion_value': round(conversion_value, 2),
'theoretical_value': round(theoretical_value, 2)
}
# 示例计算
result = calculate_convertible_bond_value(
face_value=100,
coupon_rate=0.005,
years=5,
stock_price=10,
conversion_price=12,
market_rate=0.04
)
print(result)
# 输出:{'bond_value': 91.12, 'conversion_value': 83.33, 'theoretical_value': 91.12}
历年真实收益数据解析
2017-2023年可转债市场收益统计
根据Wind数据和集思录统计,中国可转债市场历年表现如下:
| 年份 | 上市数量 | 平均涨幅 | 最高涨幅 | 破发率 | 中位数收益 |
|---|---|---|---|---|---|
| 2017 | 40 | 18.5% | 56.2% | 0% | 16.8% |
| 2018 | 67 | -2.3% | 28.1% | 12.3% | -3.1% |
| 2019 | 85 | 25.7% | 89.4% | 2.4% | 22.3% |
| 2020 | 194 | 35.2% | 187.6% | 1.5% | 28.4% |
| 2021 | 188 | 24.8% | 132.5% | 3.2% | 20.1% |
| 2022 | 147 | 5.6% | 78.3% | 15.6% | 3.2% |
| 2023 | 137 | 8.3% | 95.2% | 8.7% | 6.5% |
收益分解分析
1. “保底神话”的真相
早期(2017年前)可转债市场存在”刚性兑付”预期,但2018年东方园林可转债违约风险事件打破了这一神话。实际上,可转债的保底特性来源于:
- 纯债价值保护:即使股价下跌,债券本息仍有保障
- 回售条款保护:股价长期低迷时可按约定价格回售
- 下修转股价条款:发行人有动力下调转股价以促进转股
但需要注意的是,2021年搜特转债、2022年蓝盾转债等案例表明,信用风险真实存在。
2. 破发风险量化分析
破发指可转债上市首日收盘价低于100元面值。主要风险因素:
# 破发概率影响因素分析(模拟数据)
import numpy as np
import pandas as pd
# 模拟1000只可转债数据
np.random.seed(42)
n = 1000
data = {
'评级': np.random.choice(['AAA', 'AA+', 'AA', 'AA-', 'A+'], n, p=[0.1, 0.2, 0.4, 0.25, 0.05]),
'转股溢价率': np.random.normal(30, 15, n), # 发行时溢价率
'正股波动率': np.random.normal(40, 15, n), # 年化波动率
'发行规模': np.random.lognormal(np.log(10), 0.5, n),
'行业': np.random.choice(['金融', '制造', '消费', '科技', '其他'], n)
}
# 简单逻辑:评级越低、溢价率越高、波动率越大,破发概率越大
def default_probability(rating, premium, volatility):
base = 0.02
rating_factor = {'AAA': 0, 'AA+': 0.01, 'AA': 0.03, 'AA-': 0.08, 'A+': 0.15}
premium_factor = max(0, (premium - 20) * 0.002)
vol_factor = max(0, (volatility - 30) * 0.003)
return base + rating_factor.get(rating, 0.1) + premium_factor + vol_factor
# 计算每只转债的破发概率
probabilities = [default_probability(data['评级'][i],
data['转股溢价率'][i],
data['正股波动率'][i]) for i in range(n)]
# 统计不同评级的平均破发概率
from collections import defaultdict
rating_probs = defaultdict(list)
for i in range(n):
rating_probs[data['评级'][i]].append(probabilities[i])
print("各评级平均破发概率:")
for rating in sorted(rating_probs.keys()):
avg_prob = np.mean(rating_probs[rating])
print(f"{rating}: {avg_prob:.2%}")
3. 真实收益案例深度剖析
案例1:英科转债(2020年)
- 背景:疫情期间手套需求爆发,正股英科医疗涨幅超10倍
- 转债表现:最高价3999元,涨幅超30倍
- 关键点:强赎条款触发后,投资者被迫转股或按100+利息赎回
案例2:搜特转债(2023年)
- 背景:服装零售企业,正股持续下跌,公司信用恶化
- 转债表现:从100元跌至18元,最终违约
- 关键点:首次出现实质性违约,打破”保底”信仰
案例3:2022年破发潮
- 背景:市场利率上行+正股调整+信用风险担忧
- 数据:全年147只新债中23只首日破发,破发率15.6%
- 典型破发转债特征:
- 评级A+或以下
- 转股溢价率>40%
- 正股为周期性行业或高负债企业
高性价比转债筛选策略
筛选框架设计
1. 双低策略(经典策略)
def select_double_low_bonds(bond_data):
"""
双低值 = 转债价格 + (转股溢价率 × 100)
选择双低值最低的10只
"""
df = pd.DataFrame(bond_data)
df['双低值'] = df['价格'] + df['溢价率'] * 100
return df.nsmallest(10, '双低值')
# 示例数据
bonds = [
{'代码': '110059', '名称': '浦发转债', '价格': 105.5, '溢价率': 0.45, '评级': 'AAA'},
{'代码': '113011', '名称': '光大转债', '价格': 103.2, '溢价率': 0.38, '评级': 'AAA'},
{'代码': '110053', '名称': '苏银转债', '价格': 112.8, '溢价率': 0.22, '评级': 'AAA'},
{'代码': '113021', '名称': '中信转债', '价格': 108.5, '溢价率': 0.31, '评级': 'AAA'},
{'代码': '113013', '名称': '国君转债', '价格': 107.2, '溢价率': 0.28, '评级': 'AAA'},
]
result = select_double_low_bonds(bonds)
print(result[['代码', '名称', '价格', '溢价率', '双低值']])
2. 低价高YTM策略
def select_high_ytm_bonds(bond_data, min_rating='AA-'):
"""
筛选纯债到期收益率高且评级良好的转债
"""
df = pd.DataFrame(bond_data)
# 假设已有YTM列
filtered = df[(df['评级'] >= min_rating) & (df['YTM'] > 3.5)]
return filtered.sort_values('YTM', ascending=False)
# 计算YTM的函数
def calculate_ytm(price, face_value=100, coupon_rate=0.5, years=5):
"""
使用近似公式计算到期收益率
"""
# 简单近似计算
ytm = (coupon_rate * face_value + (face_value - price) / years) / ((face_value + price) / 2)
return ytm
# 示例
print(f"YTM计算示例: {calculate_ytm(95, 100, 0.5, 5):.2%}")
3. 下修博弈策略
def find_downside_opportunities(bond_data, stock_data):
"""
寻找可能下修转股价的机会
条件:
1. 距离回售期近(<1年)
2. 股价持续低于转股价(<80%)
3. 公司有促转股意愿(如临近到期)
"""
df = pd.DataFrame(bond_data)
df['股价/转股价'] = stock_data['现价'] / df['转股价']
df['回售期剩余'] = df['剩余年限'] - df['回售起始年']
candidates = df[
(df['回售期剩余'] < 1) &
(df['股价/转股价'] < 0.8) &
(df['剩余年限'] < 2)
]
return candidates
综合评分模型
def comprehensive_scoring(bond_data):
"""
多因子评分模型
评分维度:
- 价格安全边际(30%)
- 转股潜力(25%)
- 信用资质(20%)
- 条款保护(15%)
- 收益率(10%)
"""
df = pd.DataFrame(bond_data)
# 1. 价格安全边际(越低越好)
df['价格得分'] = 100 - (df['价格'] - 80) * 2 # 80元以下满分
# 2. 转股潜力(溢价率越低越好,正股弹性越好)
df['转股得分'] = 50 - df['溢价率'] * 50
# 3. 信用资质(评级量化)
rating_map = {'AAA': 100, 'AA+': 85, 'AA': 70, 'AA-': 55, 'A+': 40}
df['信用得分'] = df['评级'].map(rating_map)
# 4. 条款保护(回售条款、下修条款)
df['条款得分'] = np.where(df['有回售'] == 1, 15, 0) + np.where(df['可下修'] == 1, 15, 0)
# 5. 收益率(YTM越高越好)
df['收益得分'] = np.minimum(df['YTM'] * 10, 10) # YTM>1%得满分
# 综合得分
df['综合得分'] = (
df['价格得分'] * 0.30 +
df['转股得分'] * 0.25 +
df['信用得分'] * 0.20 +
df['条款得分'] * 0.15 +
df['收益得分'] * 0.10
)
return df.sort_values('综合得分', ascending=False)
# 完整示例
sample_bonds = [
{'名称': 'A转债', '价格': 98, '溢价率': 0.25, '评级': 'AA+', '有回售': 1, '可下修': 1, 'YTM': 2.5, '剩余年限': 3},
{'名称': 'B转债', '价格': 105, '溢价率': 0.15, '评级': 'AAA', '有回售': 1, '可下修': 0, 'YTM': 1.2, '剩余年限': 5},
{'名称': 'C转债', '价格': 92, '溢价率': 0.45, '评级': 'AA-', '有回售': 1, '可下修': 1, 'YTM': 4.8, '剩余年限': 2},
]
scored = comprehensive_scoring(sample_bonds)
print(scored[['名称', '综合得分', '价格得分', '转股得分', '信用得分', '条款得分', '收益得分']])
风险管理与组合构建
风险控制要点
- 分散投资:单只转债不超过组合的5%
- 评级限制:避免A+及以下评级(除非有特殊逻辑)
- 行业分散:避免单一行业过度集中
- 价格上限:避免买入>130元的转债(除非强赎预期明确)
- 剩余期限:优先选择1-3年剩余期限(平衡收益与风险)
组合构建示例
def build_portfolio(bond_data, capital=100000, max_per_bond=5000):
"""
构建可转债组合
"""
df = comprehensive_scoring(bond_data)
df = df[df['综合得分'] > 60] # 只选高分券
df = df[df['价格'] < 130] # 排除高价券
df = df[df['评级'] != 'A+'] # 排除低评级
# 等权分配
n = len(df)
if n == 0:
return "没有符合条件的转债"
per_bond = min(max_per_bond, capital // n)
positions = []
for _, row in df.iterrows():
positions.append({
'名称': row['名称'],
'价格': row['价格'],
'数量': int(per_bond / row['价格']),
'金额': per_bond,
'权重': per_bond / capital
})
return pd.DataFrame(positions)
# 示例
portfolio = build_portfolio(sample_bonds, capital=100000)
print(portfolio)
实战操作指南
交易时机选择
市场情绪指标:
- 可转债指数处于历史低位(如2018年底、2022年底)
- 破发率>10%时往往是较好买点
- 市场成交量萎缩至高点的30%以下
个券买入时机:
- 正股处于行业周期底部
- 转债价格接近债底(<105元)
- 溢价率处于历史中低位(<30%)
持续跟踪与调整
def monitor_portfolio(portfolio, market_data):
"""
组合监控与预警
"""
alerts = []
for bond in portfolio:
name = bond['名称']
current_price = market_data[name]['价格']
cost = bond['价格']
# 价格预警
if current_price < 90:
alerts.append(f"{name}价格跌至{current_price},接近债底")
elif current_price > 130:
alerts.append(f"{name}价格超过130,注意强赎风险")
# 溢价率预警
if market_data[name]['溢价率'] > 50:
alerts.append(f"{name}溢价率过高({market_data[name]['溢价率']:.1%})")
# 评级下调预警
if market_data[name]['评级'] != bond.get('初始评级', bond['评级']):
alerts.append(f"{name}评级下调至{market_data[name]['评级']}")
return alerts
# 示例监控
market_snapshot = {
'A转债': {'价格': 95, '溢价率': 0.28, '评级': 'AA+'},
'B转债': {'价格': 135, '溢价率': 0.12, '评级': 'AAA'},
}
print("\n".join(monitor_portfolio(sample_bonds, market_snapshot)))
总结与建议
核心要点回顾
- 收益来源:票息+转股价值+条款博弈
- 风险识别:信用风险>破发风险>机会成本
- 策略选择:双低策略适合新手,下修博弈适合专业投资者
- 组合管理:分散+动态调整是长期制胜关键
给不同投资者的建议
保守型投资者:
- 选择AAA评级、价格<110元、溢价率<30%的转债
- 仓位控制在20%以内
- 以获取票息和债底保护为主
平衡型投资者:
- 使用双低策略构建10-15只转债组合
- 仓位40-60%
- 兼顾防守与进攻
进取型投资者:
- 关注下修博弈和低价高弹性标的
- 仓位可提升至70%
- 需密切跟踪正股基本面和条款变化
2024年市场展望
当前(2024年初)可转债市场呈现以下特征:
- 存量规模超8000亿元,市场深度足够
- 评级分化加剧,信用风险常态化
- 下修条款使用频率增加
- 双低策略有效性依然显著
建议投资者在控制风险的前提下,利用当前市场调整期,通过系统化筛选构建高性价比转债组合,预期年化收益在6-12%区间,最大回撤控制在5%以内。
