# 金融 / 专题函数 / 债券研究 / 可转债系列01：可转债常用指标 / 估值指标

## `cb_bsm(ntype)`

声明：function

返回可转债BSM模型估值，与系统代码、时间相关

<!-- tags: 金融 专题函数 债券研究 01： 可转债系列可转债常用指标 估值指标 查找 搜索 lookup 返回 获取 BSM -->

| 参数    | 类型        | 说明                 |
| ------- | ----------- | -------------------- |
| `ntype` | user_define | 用户自定义，返回类型 |

返回：float

### 示例

范例01：return CB_BSM(0);//期权价值 35

```tsl
Setsysparam(pn_date(), 20201118T);
Setsysparam(pn_Stock(), "SH110072");
// return CB_BSM(0);//期权价值 35
return CB_BSM(1); // 可转债价值 124.67
```

## `cb_impliedVolatility(rtype, hist_n, out_ret)`

声明：function

返回可转债隐含波动率(%)，与系统代码、时间相关。根据BS模型，欧式看涨期权的上界应为S，下界为max(S-X\*exp(-rT),0)，这里S为期权现价，X为执行价，r为年无风险利率，T为剩余期限（年），若当前可转债的单位期权价值超过边界则会给出提示信息

<!-- tags: 金融 专题函数 债券研究 01： 可转债系列可转债常用指标 估值指标 查找 搜索 lookup 返回 获取 BS -->

| 参数      | 类型        | 说明                                                                      |
| --------- | ----------- | ------------------------------------------------------------------------- |
| `rtype`   | user_define | 用户自定义，返回类型。当可转债单位期权价值超过边界时可选多种返回结果      |
| `hist_n`  | int         | 整型，当可转债期权价值超过边界并且rtype=3时，历史波动率计算天数，默认为10 |
| `out_ret` | array       | 一维数组，中间详情，用于函数调试                                          |

返回：float

### 示例

范例01：调用 CB_ImpliedVolatility

```tsl
Setsysparam(pn_date(), 20201118T);
Setsysparam(pn_Stock(), "SH110072");
return CB_ImpliedVolatility();  // 输出：19.05
```

## `cb_optionValue_bt()`

声明：function

采用二叉树的估值方法计算转债期权部分的理论价值，计算公式为：期权价值=理论价值-纯债价值

<!-- tags: 金融 专题函数 债券研究 01： 可转债系列可转债常用指标 估值指标 查找 搜索 lookup 计算 求解 -->

返回：float

### 示例

范例01：调用 CB_OptionValue_BT

```tsl
SetSysParam(PN_Stock(), "SH110030");
SetSysParam(PN_Date(), inttodate(20190807));
return CB_OptionValue_BT ();
// 输出：0.44
```

## `cb_theoreticalValue_bt(endt)`

声明：function

利用二叉树估值方法，计算指定日转债的理论价值

<!-- tags: 金融 专题函数 债券研究 01： 可转债系列可转债常用指标 估值指标 查找 搜索 lookup 计算 求解 -->

| 参数   | 类型     | 说明         |
| ------ | -------- | ------------ |
| `endt` | datetime | 日期，截止日 |

返回：float

### 示例

范例01：调用 CB_TheoreticalValue_BT

```tsl
SetSysParam(PN_Stock(), "SZ128036");
SetSysParam(PN_Date(), IntToDate(20190807));
return CB_TheoreticalValue_BT ();
// 输出：128.97
```
