可转债概述与基本原理

可转债(Convertible Bond)是一种混合型金融工具,它既具有债券的固定收益特性,又附带可以转换为发行公司股票的期权。理解可转债的核心机制对于评估其真实收益至关重要。

可转债的核心要素

  1. 票面利率:通常低于普通债券,采用累进利率(如第一年0.3%、第二年0.5%…)
  2. 转股价格:将债券转换为股票的执行价格,通常高于发行时的正股价
  3. 转股价值 = 正股价 × (面值/转股价格)
  4. 转股溢价率 = (转债价格 - 转股价值) / 转股价值 × 100%
  5. 回售条款:当股价持续低于转股价一定比例时,投资者有权按约定价格回售给发行人
  6. 强制赎回条款:当股价持续高于转股价一定比例时,发行人有权强制赎回
# 可转债价值计算示例
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[['名称', '综合得分', '价格得分', '转股得分', '信用得分', '条款得分', '收益得分']])

风险管理与组合构建

风险控制要点

  1. 分散投资:单只转债不超过组合的5%
  2. 评级限制:避免A+及以下评级(除非有特殊逻辑)
  3. 行业分散:避免单一行业过度集中
  4. 价格上限:避免买入>130元的转债(除非强赎预期明确)
  5. 剩余期限:优先选择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)

实战操作指南

交易时机选择

  1. 市场情绪指标

    • 可转债指数处于历史低位(如2018年底、2022年底)
    • 破发率>10%时往往是较好买点
    • 市场成交量萎缩至高点的30%以下
  2. 个券买入时机

    • 正股处于行业周期底部
    • 转债价格接近债底(<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)))

总结与建议

核心要点回顾

  1. 收益来源:票息+转股价值+条款博弈
  2. 风险识别:信用风险>破发风险>机会成本
  3. 策略选择:双低策略适合新手,下修博弈适合专业投资者
  4. 组合管理:分散+动态调整是长期制胜关键

给不同投资者的建议

保守型投资者

  • 选择AAA评级、价格<110元、溢价率<30%的转债
  • 仓位控制在20%以内
  • 以获取票息和债底保护为主

平衡型投资者

  • 使用双低策略构建10-15只转债组合
  • 仓位40-60%
  • 兼顾防守与进攻

进取型投资者

  • 关注下修博弈和低价高弹性标的
  • 仓位可提升至70%
  • 需密切跟踪正股基本面和条款变化

2024年市场展望

当前(2024年初)可转债市场呈现以下特征:

  • 存量规模超8000亿元,市场深度足够
  • 评级分化加剧,信用风险常态化
  • 下修条款使用频率增加
  • 双低策略有效性依然显著

建议投资者在控制风险的前提下,利用当前市场调整期,通过系统化筛选构建高性价比转债组合,预期年化收益在6-12%区间,最大回撤控制在5%以内。# 历年可转债真实收益全解析:从保底神话到破发风险,如何筛选高性价比转债?

可转债概述与基本原理

可转债(Convertible Bond)是一种混合型金融工具,它既具有债券的固定收益特性,又附带可以转换为发行公司股票的期权。理解可转债的核心机制对于评估其真实收益至关重要。

可转债的核心要素

  1. 票面利率:通常低于普通债券,采用累进利率(如第一年0.3%、第二年0.5%…)
  2. 转股价格:将债券转换为股票的执行价格,通常高于发行时的正股价
  3. 转股价值 = 正股价 × (面值/转股价格)
  4. 转股溢价率 = (转债价格 - 转股价值) / 转股价值 × 100%
  5. 回售条款:当股价持续低于转股价一定比例时,投资者有权按约定价格回售给发行人
  6. 强制赎回条款:当股价持续高于转股价一定比例时,发行人有权强制赎回
# 可转债价值计算示例
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[['名称', '综合得分', '价格得分', '转股得分', '信用得分', '条款得分', '收益得分']])

风险管理与组合构建

风险控制要点

  1. 分散投资:单只转债不超过组合的5%
  2. 评级限制:避免A+及以下评级(除非有特殊逻辑)
  3. 行业分散:避免单一行业过度集中
  4. 价格上限:避免买入>130元的转债(除非强赎预期明确)
  5. 剩余期限:优先选择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)

实战操作指南

交易时机选择

  1. 市场情绪指标

    • 可转债指数处于历史低位(如2018年底、2022年底)
    • 破发率>10%时往往是较好买点
    • 市场成交量萎缩至高点的30%以下
  2. 个券买入时机

    • 正股处于行业周期底部
    • 转债价格接近债底(<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)))

总结与建议

核心要点回顾

  1. 收益来源:票息+转股价值+条款博弈
  2. 风险识别:信用风险>破发风险>机会成本
  3. 策略选择:双低策略适合新手,下修博弈适合专业投资者
  4. 组合管理:分散+动态调整是长期制胜关键

给不同投资者的建议

保守型投资者

  • 选择AAA评级、价格<110元、溢价率<30%的转债
  • 仓位控制在20%以内
  • 以获取票息和债底保护为主

平衡型投资者

  • 使用双低策略构建10-15只转债组合
  • 仓位40-60%
  • 兼顾防守与进攻

进取型投资者

  • 关注下修博弈和低价高弹性标的
  • 仓位可提升至70%
  • 需密切跟踪正股基本面和条款变化

2024年市场展望

当前(2024年初)可转债市场呈现以下特征:

  • 存量规模超8000亿元,市场深度足够
  • 评级分化加剧,信用风险常态化
  • 下修条款使用频率增加
  • 双低策略有效性依然显著

建议投资者在控制风险的前提下,利用当前市场调整期,通过系统化筛选构建高性价比转债组合,预期年化收益在6-12%区间,最大回撤控制在5%以内。