# 基金研究 / 业绩延续性

## `ts_PersistenceOfFund`

声明：class

基金业绩延续性研究框架

<!-- tags: 绩效 业绩表现 基金产品 基金业绩 持续性 稳定性 -->

### `FBegT`

声明：field

开始日 FEndT-365*3

可见性：`public`

类型：datetime

### `FEndT`

声明：field

截止日 DATE()

可见性：`public`

类型：datetime

### `FCycle`

声明：field

周期 "月线"

可见性：`public`

类型：varchar

### `FFeature`

声明：field

基金业绩指标

可见性：`public`

类型：integer

### `FIndexID`

声明：field

市场基准代码 "SH000985"

可见性：`public`

类型：varchar

### `FRf`

声明：field

年无风险收益率（%） 2.225

可见性：`public`

类型：real

### `FzbqkType`

声明：field

区间类型

可见性：`public`

类型：integer

### `FAlpha`

声明：field

显著性水平 0.05

可见性：`public`

类型：real

### `FAlianType`

声明：field

前后期样本对齐方式

可见性：`public`

类型：integer

### `FpfmIndName`

声明：field

业绩指标显示字段名称 "业绩指标"

可见性：`public`

类型：string

### `Backtest()`

声明：function

执行基金业绩延续性研究主流程，生成业绩指标与持续性检验数据

<!-- tags: 历史模拟 基金业绩 持续性检验 -->

可见性：`public`

返回：array

### `GetTimeSeries()`

声明：function

按周期划分研究区间并获取各期业绩指标计算时点；可重写

<!-- tags: 查询 拆分 分割 绩效 业绩表现 时序 序列数据 时间处理 -->

可见性：`public`

返回：array

### `GetFundPools(vendt)`

声明：function

根据参数日期，获取指定日期内符合筛选条件的基金代码序列

<!-- tags: 查询 过滤 基金产品 交易日期 日期时间 -->

可见性：`public`

| 参数    | 类型     | 说明                       |
| ------- | -------- | -------------------------- |
| `vendt` | datetime | 日期型，获取基金池的截止日 |

返回：array

### `GetZB(v_end_t)`

声明：function

设置业绩指标公式

<!-- tags: 查询 配置 绩效 业绩表现 -->

可见性：`public`

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

返回：string

### `GetSPC(end_t)`

声明：function

设置指标求解环境变量，用于设置 GetZB 返回的指标公式中的变量值

<!-- tags: 查询 配置 -->

可见性：`public`

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

返回：array

### `GetValueByEndt(funds, endt)`

声明：function

获取指定日基金池基金业绩指标

<!-- tags: 查询 绩效 业绩表现 基金产品 -->

可见性：`public`

| 参数    | 类型     | 说明                         |
| ------- | -------- | ---------------------------- |
| `funds` | array    | 一维字符串数组，目标基金序列 |
| `endt`  | datetime | 日期型，截止日               |

返回：array

### `GetBenchmarketZf(v_end_t)`

声明：function

获取指定日市场基准指数收益率，与设置的 FIndexID 相关

<!-- tags: 查询 配置 回报率 投资收益 指数产品 比较基准 业绩基准 市场行情 -->

可见性：`public`

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

返回：real

### `GetPFMData_Alian(end_t, n_end_t, ov, o_nv, field)`

声明：function

前后期指标数据依据代码列对齐，并填充

<!-- tags: 查询 基金业绩 -->

可见性：`public`

| 参数      | 类型     | 说明                                                                                                                                 |
| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `end_t`   | datetime | 日期型，当期截止日                                                                                                                   |
| `n_end_t` | datetime | 日期型，下期截止日                                                                                                                   |
| `ov`      | array    | 输出变量，对齐后的当期指标                                                                                                           |
| `o_nv`    | array    | 输出变量，对齐后的下期指标                                                                                                           |
| `field`   | string   | 字符串型，指标名称，为空时使用 FPFMIndName。如果在 GetValueByEndt 返回结果中除 FPFMIndName 外有其他字段要进行分析，可通过 field 指定 |

### `GetQKRankCorrel2(begt, end_t, n, field)`

声明：function

计算区间前后指定间隔 N 期基金业绩指标的秩相关系数序列

<!-- tags: 查询 排名 排序 绩效 业绩表现 基金产品 -->

可见性：`public`

| 参数    | 类型     | 说明                                                                                                                                 |
| ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `begt`  | datetime | 日期型，区间开始日                                                                                                                   |
| `end_t` | datetime | 日期型，区间截止日                                                                                                                   |
| `n`     | integer  | 整型，间隔期数                                                                                                                       |
| `field` | string   | 字符串型，指标名称，为空时使用 FPFMIndName。如果在 GetValueByEndt 返回结果中除 FPFMIndName 外有其他字段要进行分析，可通过 field 指定 |

返回：array

### `GetRankCorrelStat(begt, end_t)`

声明：function

计算 GetQKRankCorrel 中秩相关系数、P-Value 的一些统计指标

<!-- tags: 查询 排名 排序 汇总 相关性 关联关系 -->

可见性：`public`

| 参数    | 类型     | 说明               |
| ------- | -------- | ------------------ |
| `begt`  | datetime | 日期型，区间开始日 |
| `end_t` | datetime | 日期型，区间截止日 |

返回：array

### `CsRegression(begt, end_t, field)`

声明：function

计算区间前后期基金业绩指标的横截面回归系数

<!-- tags: 绩效 业绩表现 拟合 基金产品 -->

可见性：`public`

| 参数    | 类型     | 说明                                                                                                                                 |
| ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `begt`  | datetime | 日期型，区间开始日                                                                                                                   |
| `end_t` | datetime | 日期型，区间截止日                                                                                                                   |
| `field` | string   | 字符串型，指标名称，为空时使用 FPFMIndName。如果在 GetValueByEndt 返回结果中除 FPFMIndName 外有其他字段要进行分析，可通过 field 指定 |

返回：array

### `CsRegressionStat(begt, end_t)`

声明：function

对 CSRegression 中的横截面回归截距项、回归系数进行统计指标的计算

<!-- tags: 汇总 拟合 -->

可见性：`public`

| 参数    | 类型     | 说明               |
| ------- | -------- | ------------------ |
| `begt`  | datetime | 日期型，区间开始日 |
| `end_t` | datetime | 日期型，区间截止日 |

返回：array

### `Crosstab(begt, end_t, field)`

声明：function

对区间前后期基金业绩指标进行输赢列联表检验

<!-- tags: 检查 判定 验证 绩效 业绩表现 基金产品 -->

可见性：`public`

| 参数    | 类型     | 说明                                                                                                                                 |
| ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `begt`  | datetime | 日期型，区间开始日                                                                                                                   |
| `end_t` | datetime | 日期型，区间截止日                                                                                                                   |
| `field` | string   | 字符串型，指标名称，为空时使用 FPFMIndName。如果在 GetValueByEndt 返回结果中除 FPFMIndName 外有其他字段要进行分析，可通过 field 指定 |

返回：array

### `CrosstabStat(begt, end_t)`

声明：function

对 Crosstab 列联表四个比例(%)指标进行简单统计

<!-- tags: 统计 列联表 业绩延续性 -->

可见性：`public`

| 参数    | 类型     | 说明               |
| ------- | -------- | ------------------ |
| `begt`  | datetime | 日期型，区间开始日 |
| `end_t` | datetime | 日期型，区间截止日 |

返回：array

### `SymbolCrosstab(begt, end_t, field)`

声明：function

对区间前后期基金业绩指标进行符号列联表检验

<!-- tags: 检查 判定 验证 绩效 业绩表现 基金产品 -->

可见性：`public`

| 参数    | 类型     | 说明                                                                                                                                 |
| ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `begt`  | datetime | 日期型，区间开始日                                                                                                                   |
| `end_t` | datetime | 日期型，区间截止日                                                                                                                   |
| `field` | string   | 字符串型，指标名称，为空时使用 FPFMIndName。如果在 GetValueByEndt 返回结果中除 FPFMIndName 外有其他字段要进行分析，可通过 field 指定 |

返回：array

### `SymbolStat(begt, end_t)`

声明：function

对符号列联表四个指标进行简单统计

<!-- tags: 统计 符号检验 业绩延续性 -->

可见性：`public`

| 参数    | 类型     | 说明               |
| ------- | -------- | ------------------ |
| `begt`  | datetime | 日期型，区间开始日 |
| `end_t` | datetime | 日期型，区间截止日 |

返回：array

### `Significance(begt, end_t)`

声明：function

对四种分析方法中业绩指标通过检验的显著性统计

<!-- tags: 检查 判定 验证 汇总 绩效 业绩表现 -->

可见性：`public`

| 参数    | 类型     | 说明               |
| ------- | -------- | ------------------ |
| `begt`  | datetime | 日期型，区间开始日 |
| `end_t` | datetime | 日期型，区间截止日 |

返回：array
