145 lines
2.2 KiB
Markdown
145 lines
2.2 KiB
Markdown
# 应用专题 / 债券研究 / 二叉树可转债估值
|
|
|
|
## `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
|