# 应用专题 / 债券研究 / 二叉树可转债估值

## `cb_BinaryTree`

声明：class

基于正股波动率、贴现率和可转债条款构建二叉树，计算可转债及其期权价值

<!-- tags: 可转债 二叉树 债券估值 -->

### `CBCode`

声明：field

可转债代码

可见性：`public`

类型：string

### `EndDate`

声明：field

估值截止日，也作为估值起始日

可见性：`public`

类型：datetime

### `FN`

声明：field

二叉树步数，默认 100

可见性：`public`

类型：integer

### `PriceType`

声明：field

正股初始价类型；0 表示截止日平均价，1 表示截止日收盘价

可见性：`public`

类型：integer

### `VolatilityType`

声明：field

正股波动率计算方式；-1 时通过重写 `GetVolatility` 提供，0 时使用历史波动率

可见性：`public`

类型：integer

### `NVolatility`

声明：field

历史波动率计算天数，默认 90

可见性：`public`

类型：integer

### `RateType`

声明：field

贴现率计算方式；-1 时通过重写 `GetDiscountRate` 提供，0 时使用利率结构曲线

可见性：`public`

类型：integer

### `BTSID`

声明：field

贴现率使用的利率结构曲线代码，默认采用 10 年国债利率结构曲线

可见性：`public`

类型：string

### `GetVolatility()`

声明：function

返回正股年化波动率；当 `VolatilityType=-1` 时由用户重写

可见性：`public`

返回：numeric

### `GetDiscountRate()`

声明：function

返回二叉树各期限贴现率；当 `RateType=-1` 时由用户重写

可见性：`public`

返回：array

### `CBValuation()`

声明：function

计算可转债理论价值

可见性：`public`

返回：numeric

### `CBOptionValue()`

声明：function

在完成可转债估值后返回转债期权价值

可见性：`public`

返回：numeric

## `tsFl_cb_binayTree_01(ccode, initial_date)`

声明：function

以缺省参数构造二叉树估值对象，并返回可转债估值与期权价值

<!-- tags: 可转债 二叉树 调用范例 -->

| 参数           | 类型     | 说明         |
| -------------- | -------- | ------------ |
| `ccode`        | string   | 可转债代码   |
| `initial_date` | datetime | 估值截止日期 |

返回：array
