# 应用专题 / 债券研究 / 可转债价格分区统计 ## `cb_PriceAndDeadlineData` 声明:class 统计到期可转债的价格、期限、持有收益和价格分区数据,并生成频数与透视分析结果 ### `FBegT` 声明:field 统计开始日,默认 20060101T 可见性:`public` 类型:datetime ### `FEndT` 声明:field 统计截止日,默认 20201231T 可见性:`public` 类型:datetime ### `FPriceType` 声明:field 统计最高价和最低价时使用的价格类型;0 为收盘价,1 为当日最高价或最低价 可见性:`public` 类型:integer ### `FMRPriceArr` 声明:field 买入价格区间边界数组,默认 `array(0,90,100,110,120,130)` 可见性:`public` 类型:array ### `FMCPriceArr` 声明:field 卖出价格阈值数组,默认 `array(130,140,150,160,170)` 可见性:`public` 类型:array ### `FYearStep` 声明:field 期限频数分布步长,单位为年,默认 0.25 可见性:`public` 类型:real ### `FPriceStep` 声明:field 价格频数分布步长,单位为元,默认 10 可见性:`public` 类型:real ### `FNDay` 声明:field 持有收益率统计使用的交易日数组,默认 `array(5,10,20,30,60,120,240)` 可见性:`public` 类型:array ### `FRLTType` 声明:field 统计维度名称,默认 `median` 可见性:`public` 类型:string ### `Main()` 声明:function 依次执行类中的数据获取、统计与分析流程 可见性:`public` 返回:nil ### `GetMaturityCB(beg_t, end_t)` 声明:function 返回指定区间内有交易数据的到期可转债代码;可重写 可见性:`public` | 参数 | 类型 | 说明 | | ------- | -------- | ------------ | | `beg_t` | datetime | 统计开始日期 | | `end_t` | datetime | 统计截止日期 | 返回:array ### `DatePriceData(cb_arr, ptype)` 声明:function 返回指定可转债的期限和价格明细 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | -------------------------------- | | `cb_arr` | array | 要统计的可转债代码数组 | | `ptype` | integer | 最高价和最低价使用的价格类型选项 | 返回:array ### `MRtoMCData(cb_arr, mr_price_arr, mc_price_arr)` 声明:function 统计首次达到买入区间后持有至卖出阈值的期限和收益率 可见性:`public` | 参数 | 类型 | 说明 | | -------------- | ----- | -------------------- | | `cb_arr` | array | 要统计的可转债代码 | | `mr_price_arr` | array | 买入价格区间边界数组 | | `mc_price_arr` | array | 卖出价格阈值数组 | 返回:array ### `BeforeMCData(cb_arr, mc_price_arr)` 声明:function 统计达到卖出阈值前的价格分区、持有期限和收益率 可见性:`public` | 参数 | 类型 | 说明 | | -------------- | ----- | ------------------ | | `cb_arr` | array | 要统计的可转债代码 | | `mc_price_arr` | array | 卖出价格阈值数组 | 返回:array ### `NDayRateData(cb_arr, n_arr)` 声明:function 统计可转债存续期内持有指定交易日数的收益率 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ----- | ------------------ | | `cb_arr` | array | 要统计的可转债代码 | | `n_arr` | array | 持有交易日数数组 | 返回:array ### `CBondPriceDetail(beg_t, end_t)` 声明:function 返回可转债在指定期间内的日期、收盘价、最高价和最低价明细 可见性:`public` | 参数 | 类型 | 说明 | | ------- | -------- | ------------ | | `beg_t` | datetime | 明细开始日期 | | `end_t` | datetime | 明细截止日期 | 返回:array ### `PriceOrDateHis(data, step_1, option)` 声明:function 计算价格或期限数据的频数分布 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | ---------------------- | | `data` | array | 要处理的数据 | | `step_1` | real | 频数分布步长 | | `option` | integer | 0 统计价格,1 统计期限 | 返回:array ### `RatePivotTable(data, ctype, option)` 声明:function 按价格区间和卖出阈值或持有天数生成收益率、持有期限统计表 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | ------------------------------------- | | `data` | array | 要处理的数据 | | `ctype` | string | 统计方式,例如 `median` 或 `avg` | | `option` | integer | 0 处理持有期限和收益,1 处理 n 日收益 | 返回:array ### `GetData(option)` 声明:function 按编号返回原始价格期限、交易收益或统计分析结果 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | ---------------- | | `option` | integer | 要返回的数据类型 | 返回:array