2、可转债定价模型:纯债价值、转股价值、期权价值、BS模型与二叉树模型

聊到可转债定价,很多新手第一反应就是「这东西到底值多少钱?」。

说实话,可转债的定价确实比普通股票或债券要复杂一些。它本质上是个「混血儿」——既有债性,又有股性,还带个期权属性。我做了这么多年量化,每次遇到新产品上市,第一件事就是把它的定价模型跑一遍。

2.1 纯债价值:最底线的保护

纯债价值,说白了就是「如果这只可转债永远不转股,它作为一张债券值多少钱」。

计算方式其实很简单:把未来所有的利息和本金,用合适的折现率折回来。

# 纯债价值计算示例
def bond_value(coupon_rate, years, face_value, discount_rate):
    """
    coupon_rate: 票面利率(比如0.02表示2%)
    years: 剩余年限
    face_value: 面值(通常是100)
    discount_rate: 折现率(参考同评级信用债收益率)
    """
    total = 0
    for t in range(1, years + 1):
        # 每年利息折现
        coupon = face_value * coupon_rate
        total += coupon / (1 + discount_rate) ** t
    # 最后一年本金折现
    total += face_value / (1 + discount_rate) ** years
    return total

# 举个例子:票面利率1.5%,剩余5年,折现率4%
print(bond_value(0.015, 5, 100, 0.04))
# 输出大概在89元左右

嗯,这里要注意:折现率怎么选?我个人习惯用同评级、同期限的信用债收益率。如果可转债评级是AA,那就找AA级企业债的收益率曲线。

核心要点:纯债价值就是可转债的「安全垫」。市场再差,它也不会跌到纯债价值以下太多——因为套利者会买入并持有到期。

2.2 转股价值:跟股票走的部分

转股价值就直白了:如果现在就把可转债换成股票,这些股票值多少钱。

公式很简单:

转股价值 = (100 / 转股价) × 当前正股价格

举个例子:某可转债转股价10元,正股现价12元,那转股价值就是 (100/10)×12 = 120元。

我在项目中遇到过这样的情况:有些新手只看转股价值,觉得120元比面值100元高,就冲进去买。结果呢?正股一跌,转股价值跟着跳水,亏得挺惨。所以啊,转股价值只是「当前时点」的估值,不能代表未来。

小技巧:转股溢价率 = (可转债价格 - 转股价值) / 转股价值 × 100%。溢价率越低,可转债的「股性」越强。我个人一般把溢价率低于10%的称为「偏股型」,高于30%的称为「偏债型」。

2.3 期权价值:可转债的「隐藏技能」

可转债最迷人的地方,就是它附带的期权。

你想想看,持有可转债相当于:

  • 持有一张债券(保底)
  • 外加一个看涨期权(股价涨了能转股获利)
  • 还可能带个回售权(股价跌太多,你可以把债券卖回给公司)

所以可转债的理论价格应该是:

可转债理论价 = 纯债价值 + 期权价值

这个期权价值怎么算?这就轮到BS模型和二叉树模型登场了。

2.4 BS模型:快速但粗糙

BS模型(Black-Scholes模型)是期权定价的经典方法。用在可转债上,就是把转股权看作一个欧式看涨期权。

from scipy.stats import norm
import math

def bs_call_price(S, K, T, r, sigma):
    """
    S: 正股当前价格
    K: 转股价
    T: 剩余期限(年)
    r: 无风险利率
    sigma: 正股波动率
    """
    d1 = (math.log(S/K) + (r + 0.5*sigma**2)*T) / (sigma*math.sqrt(T))
    d2 = d1 - sigma*math.sqrt(T)
    call_price = S*norm.cdf(d1) - K*math.exp(-r*T)*norm.cdf(d2)
    return call_price

# 示例:正股12元,转股价10元,剩余2年,无风险利率3%,波动率25%
option_value = bs_call_price(12, 10, 2, 0.03, 0.25)
print(f"期权价值: {option_value:.2f}")

注意:BS模型有个硬伤——它假设期权只能在到期日行权。但可转债的转股权是「随时可以转」的,属于美式期权。另外,BS模型也没考虑可转债的赎回条款和回售条款。所以它只能给个粗略参考。

我曾经用BS模型给一只可转债定价,算出来理论价130元,结果市场价才115元。我差点以为自己发现了套利机会。后来仔细一分析——哦,原来这只债有强赎条款,正股涨到转股价的130%公司就可以强制赎回。BS模型没考虑这个,所以高估了。

2.5 二叉树模型:更精确,也更麻烦

二叉树模型(Binomial Tree)就灵活多了。它可以处理美式期权,也能加入赎回、回售等条款。

基本思路是这样的:

  • 把时间分成N个小步
  • 每一步,股价要么上涨u倍,要么下跌d倍
  • 从最后一步倒推回来,每一步都判断「转股划算还是持有划算」
def binomial_tree(S, K, T, r, sigma, N, coupon_rate=0, call_price=None, put_price=None):
    """
    二叉树定价可转债(简化版)
    S: 正股价格
    K: 转股价
    T: 剩余期限
    r: 无风险利率
    sigma: 波动率
    N: 步数
    """
    dt = T / N
    u = math.exp(sigma * math.sqrt(dt))
    d = 1 / u
    p = (math.exp(r * dt) - d) / (u - d)
    
    # 构建股价树
    stock_tree = [[S]]
    for i in range(1, N+1):
        level = []
        for j in range(i+1):
            price = S * (u ** (i-j)) * (d ** j)
            level.append(price)
        stock_tree.append(level)
    
    # 从最后一层倒推
    bond_tree = [[0] * (i+1) for i in range(N+1)]
    # 最后一层:转股价值 vs 纯债价值
    for j in range(N+1):
        conversion = (100 / K) * stock_tree[N][j]
        bond_floor = 100  # 简化:到期按面值
        bond_tree[N][j] = max(conversion, bond_floor)
    
    # 倒推
    for i in range(N-1, -1, -1):
        for j in range(i+1):
            hold = math.exp(-r*dt) * (p * bond_tree[i+1][j] + (1-p) * bond_tree[i+1][j+1])
            conversion = (100 / K) * stock_tree[i][j]
            bond_tree[i][j] = max(hold, conversion)
            # 如果有赎回条款,这里要加判断
    
    return bond_tree[0][0]

# 示例
price = binomial_tree(12, 10, 2, 0.03, 0.25, 100)
print(f"二叉树定价: {price:.2f}")

经验之谈:二叉树模型虽然计算量大,但胜在灵活。我一般用BS模型做快速筛选,用二叉树模型做精细定价。步数N取50-100就够用了,再大边际效益递减。

2.6 三种价值的联动关系

搞清楚了这三个价值,我们来看它们怎么一起作用。

我画了张图,帮你理清思路:

可转债定价模型结构图 可转债市场价格 纯债价值 安全垫,保底作用 转股价值 跟随正股波动 期权价值 隐含看涨期权 现金流折现法 正股价格 × 转股比例 BS模型 / 二叉树模型 可转债理论价 = 纯债价值 + 期权价值

从这张图你能看到:

  • 纯债价值是下限,市场再差也跌不到哪去
  • 转股价值是动态的,跟着正股走
  • 期权价值是溢价部分,体现了「上涨潜力」

实际交易中,可转债价格往往在「纯债价值」和「转股价值+期权价值」之间波动。当市场情绪高涨时,期权价值会被高估;当市场恐慌时,期权价值可能被低估——这时候就是套利机会。

避坑指南:我曾经用BS模型给一只剩余期限不到半年的可转债定价,算出来期权价值几乎为零。但市场价还比纯债价值高不少。后来发现——原来这只债有回售条款,持有人可以按面值+利息回售给公司。BS模型没考虑这个,所以低估了。记住:模型只是工具,条款才是关键。

好了,关于可转债定价模型的核心内容就这些。记住三个价值、两个模型,再加上对条款的敏感度,你就能在定价上超过90%的散户了。


公众号:蓝海资料掘金营,微信deep3321