# 量化 / 多因子

## `tsMultiFactor`

声明：class

执行多因子计算、分组回测、因子检验与数据预处理

<!-- tags: 调用 聚合 检查 判定 验证 因子分析 因子指标 历史模拟 -->

### `FBegT`

声明：field

开始日期 当前系统时间往前推 3 年

可见性：`public`

类型：date_time

### `FEndT`

声明：field

截止日期 当前时间

可见性：`public`

类型：date_time

### `FIndexId`

声明：field

基准代码 SH000300

可见性：`public`

类型：string

### `FCycle`

声明：field

调仓周期，字符串 Cy_month()

可见性：`public`

类型：string

### `FFactorArr`

声明：field

因子库

可见性：`public`

类型：array

### `FFillMissType`

声明：field

缺失值处理方法 0：剔除

可见性：`public`

类型：integer

### `FAbnormalType`

声明：field

极值处理方法 0：中位数法

可见性：`public`

类型：integer

### `FStandarizeType`

声明：field

标准化方法 1：Z 值法

可见性：`public`

类型：integer

### `FNeuType`

声明：field

中性化方法 0：不进行中性化

可见性：`public`

类型：integer

### `FOrthType`

声明：field

正交化方法 0：不进行正交化

可见性：`public`

类型：integer

### `FConstr`

声明：field

剔除条件 空字符串

可见性：`public`

类型：string

### `FBuyRatio`

声明：field

开仓费率(%) 0.1

可见性：`public`

类型：numeric

### `FSellRatio`

声明：field

平仓费率(%) 0.1

可见性：`public`

类型：numeric

### `FGroupType`

声明：field

分组方式 1：百分位

可见性：`public`

类型：integer

### `FGroups`

声明：field

五分位

可见性：`public`

类型：string

### `FIndustryMethod`

声明：field

行业资金分配方法 -1：不进行行业中性处理

可见性：`public`

类型：integer

### `FRateType`

声明：field

个股资金分配方法 4：等权重

可见性：`public`

类型：integer

### `FGridNo`

声明：field

网格数目 5

可见性：`public`

类型：integer

### `FpriceType`

声明：field

成交价类别 2：收盘价

可见性：`public`

类型：integer

### `FvolModType`

声明：field

成交量取整模式 0：不取整

可见性：`public`

类型：integer

### `FdividendType`

声明：field

是否分红再投资 0：分红不再投资

可见性：`public`

类型：integer

### `FAllotmentType`

声明：field

是否参与配股 0：不自动参与配股

可见性：`public`

类型：integer

### `FBacktestType`

声明：field

使用的回测方法 0：表示使用回测框架清算

可见性：`public`

类型：integer

### `FbmType`

声明：field

基准类型 0：单个基准

可见性：`public`

类型：integer

### `FbmDetail`

声明：field

复合基准成分 Array()

可见性：`public`

类型：array

### `BackTest()`

声明：function

执行多因子计算、分组、清算和评价的完整流程

<!-- tags: 历史模拟 因子检验 策略验证 -->

可见性：`public`

### `CalculateFactorValue()`

声明：function

执行回测清算之前的因子计算与分组流程

<!-- tags: 调用 聚合 因子分析 因子指标 历史模拟 策略验证 -->

可见性：`public`

### `GetTimeSeries()`

声明：function

获取多因子框架的调仓日期序列；可重写

<!-- tags: 查询 因子分析 因子指标 时序 序列数据 交易日期 日期时间 时间处理 -->

可见性：`public`

返回：array

### `GetSamples(v_end_t)`

声明：function

获取指定调仓日的初始证券样本；可重写

<!-- tags: 查询 股票样本 选股池 -->

可见性：`public`

| 参数      | 类型      | 说明   |
| --------- | --------- | ------ |
| `v_end_t` | date_time | 调仓日 |

返回：array

### `GetFactors(end_t)`

声明：function

获取指定调仓日的因子配置；可重写

<!-- tags: 查询 因子配置 因子列表 -->

可见性：`public`

| 参数    | 类型      | 说明    |
| ------- | --------- | ------- |
| `end_t` | date_time | 调仓日T |

返回：array

### `GetFactorParams(end_t, factor_param)`

声明：function

该函数一般在实现动态因子公式参数时需要重写，默认是直接返回设定的静态参数。用户在

<!-- tags: 查询 因子分析 因子指标 -->

可见性：`public`

| 参数           | 类型      | 说明                                                                             |
| -------------- | --------- | -------------------------------------------------------------------------------- |
| `end_t`        | date_time | 调仓日T                                                                          |
| `factor_param` | array     | 通过 config_Set('因子公式参数',value)配置的静态自定义因子公式参数。参看 静态参数 |

返回：array

### `GetGroupFactorValue()`

声明：function

获取调仓日因子值及分组结果；支持按日期、组号或组名查询

<!-- tags: 聚合 因子分析 因子指标 交易日期 日期时间 -->

可见性：`public`

返回：var_array

### `GetGroupFactorValue(v_end_t)`

声明：function

获取调仓日因子值及分组结果；支持按日期、组号或组名查询

<!-- tags: 聚合 因子分析 因子指标 交易日期 日期时间 -->

可见性：`public`

| 参数      | 类型     | 说明       |
| --------- | -------- | ---------- |
| `v_end_t` | datetime | 指定调仓日 |

返回：var_array

### `GetGroupFactorValue(group_id)`

声明：function

获取调仓日因子值及分组结果；支持按日期、组号或组名查询

<!-- tags: 聚合 因子分析 因子指标 交易日期 日期时间 -->

可见性：`public`

| 参数       | 类型    | 说明                                                                                                        |
| ---------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| `group_id` | integer | 组号，1 代表第 1 组，2 代表第 2 组，依次类推；GroupID：组号，-1 代表倒数第 1 组，-2 代表倒数第2组，依次类推 |

返回：var_array

### `GetGroupFactorValue(group_name)`

声明：function

获取调仓日因子值及分组结果；支持按日期、组号或组名查询

<!-- tags: 聚合 因子分析 因子指标 交易日期 日期时间 -->

可见性：`public`

| 参数         | 类型   | 说明                                               |
| ------------ | ------ | -------------------------------------------------- |
| `group_name` | string | 组名，"第1组"代表第1组，"第2组"代表第2组，依次类推 |

返回：var_array

### `GetGroupFactorValue(v_end_t, group_id)`

声明：function

获取调仓日因子值及分组结果；支持按日期、组号或组名查询

<!-- tags: 聚合 因子分析 因子指标 交易日期 日期时间 -->

可见性：`public`

| 参数       | 类型     | 说明                                                                                                                |
| ---------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `v_end_t`  | datetime | 日期，当前时点。 （2）GroupID：组号，1代表第1组，2代表第2组，依次类推；-1代表倒数第1组，-2代表倒数第 2 组，依次类推 |
| `group_id` | integer  | 分组编号                                                                                                            |

返回：var_array

### `FactorValue_QueryfactorfullTable(endt, query_typ)`

声明：function

查询指定期分组前的完整因子暴露矩阵

<!-- tags: 聚合 敞口 因子分析 因子指标 表数据 二维表 -->

可见性：`public`

| 参数        | 类型 | 说明                                          |
| ----------- | ---- | --------------------------------------------- |
| `endt`      | date | 指定期，因子计算日，为nil，表示不对日期做限制 |
| `query_typ` | int  | 查询类型，默认nil 等价Querytyp =3             |

返回：var_array

### `Factortccq_quaeyhistory(begt, endt, filtertype)`

声明：function

查询因子截止日与对应检验截止日

<!-- tags: 查询 因子截止日 检验截止日 -->

可见性：`public`

| 参数         | 类型 | 说明                                                                              |
| ------------ | ---- | --------------------------------------------------------------------------------- |
| `begt`       | date | 日期，开始日                                                                      |
| `endt`       | date | 日期，截止日                                                                      |
| `filtertype` | int  | 整数，过滤方式， 0：根据【因子截止日】过滤 1：根据【检验截止日】过滤 其他：不过滤 |

返回：array

### `GetGroupReturn(p_type, cy)`

声明：function

获取各分组收益率、累计收益率或相对净值数据

<!-- tags: 查询 聚合 回报率 投资收益 单位净值 资产净值 -->

可见性：`public`

| 参数     | 类型   | 说明                     |
| -------- | ------ | ------------------------ |
| `p_type` | int    | 数值类型，返回的收益类型 |
| `cy`     | string | 行情或统计周期           |

返回：array

### `GetGroupTurnOver(weight_type)`

声明：function

获取各分组相邻调仓期之间的换手率

<!-- tags: 查询 聚合 交易频率 -->

可见性：`public`

| 参数          | 类型 | 说明                                                             |
| ------------- | ---- | ---------------------------------------------------------------- |
| `weight_type` | int  | 换手率计算方法 取值 含义 备注 1 个数法换手率 默认 2 权重法换手率 |

### `GetTrailingReturn(cy, if_benchmark)`

声明：function

检验各因子分组在不同阶段的收益表现与区分度

<!-- tags: 查询 分组收益率 阶段收益 -->

可见性：`public`

| 参数           | 类型    | 说明                                                                                                                                                                           |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `cy`           | string  | 考察对象的收益率序列的周期。 取值 含义 备注 -1 得到按调仓周期分的阶段收益 Tsl 中的周期字符串 得到按对应周期分割的收益 如：cy_month() （2） if_benchmark：是否返回基准组，默认0 |
| `if_benchmark` | boolean | 是否同时计算基准收益                                                                                                                                                           |

返回：array

### `GetSignificanceStatistics(cy)`

声明：function

执行因子分组收益的显著性检验

<!-- tags: 查询 显著性检验 因子统计 -->

可见性：`public`

| 参数 | 类型   | 说明                       |
| ---- | ------ | -------------------------- |
| `cy` | string | 考察对象的收益率序列的周期 |

返回：array

### `GetLongShortStatistics(cy)`

声明：function

是第一组与最后一组的比较

<!-- tags: 查询 因子区分度 多空组合 收益差 -->

可见性：`public`

| 参数 | 类型   | 说明                       |
| ---- | ------ | -------------------------- |
| `cy` | string | 考察对象的收益率序列的周期 |

返回：array

### `GetInformationCoefficient(ret_type)`

声明：function

获取因子得分与后续收益之间的信息系数 IC

<!-- tags: 查询 信息系数 IC -->

可见性：`public`

| 参数       | 类型 | 说明                                                                         |
| ---------- | ---- | ---------------------------------------------------------------------------- |
| `ret_type` | int  | 控制返回格式 取值 说明 备注 0 返回详情【默认】 1 返回简单统计 2 返回详情统计 |

返回：array

### `GetInformationCoefficientbyICType(ic_type)`

声明：function

按指定 IC 计算方法获取因子信息系数

<!-- tags: 查询 信息系数 IC -->

可见性：`public`

| 参数      | 类型    | 说明                                                                                                                                                                       |
| --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ic_type` | integer | 整数类型，IC 类型 取值 含义 备注 0 NormIC 默认 1 RankIC 2 kendall 秩相关 200 行业调整 IC（等权） 同 3 210 行业调整 IC（流通市值加权） 同 4 20 加权 IC（基准权重加权） 同 5 |

返回：array

### `GetSignalStability()`

声明：function

描述T-1期到T 期的信号稳定性

<!-- tags: 查询 信号稳定性 因子稳定性 自相关 -->

可见性：`public`

返回：array

### `GetLinearEvaluationResult(show_type)`

声明：function

使用线性回归评估各因子对下期收益的贡献

<!-- tags: 查询 评价 影响度 收益分解 因子分析 因子指标 拟合 -->

可见性：`public`

| 参数        | 类型 | 说明                                                                                                                                                        |
| ----------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `show_type` | int  | 返回类型。 取值 含义 备注 0 或者空 拿每期的数据做最小二乘参数估计(带常数项) 1 拿所有期的数据一起做最小二乘参数估计（带常数项） 每期变因子法不能使用该种方法 |

返回：array

### `GetPrincipalComponentResult(fep, show_type)`

声明：function

因变量是下期收益

<!-- tags: 查询 主成分回归 因子贡献度 PCA -->

可见性：`public`

| 参数        | 类型  | 说明                                                                                                                                                                             |
| ----------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fep`       | float | 累计贡献率阀值。当Fep取到整数时，代表取的主成分的个数。 取值 范例 说明 小数 0.85 代表累计贡献率的阀值（阀值的时候 100%用1.000 表示，一定要用小数）。 整数 2 代表取的主成分的个数 |
| `show_type` | int   | 返回类型。 取值 说明 备注 0 或者空 分别用每期的数据做主成分回归 1 用所有期数据一起做主成分回归                                                                                   |

返回：array

### `GetDecay_InformationCoefficient(begt, endt, ret_type, lag_n)`

声明：function

参考延续性检验的说明，来选择ic类型

<!-- tags: 查询 筛选 检查 判定 验证 -->

可见性：`public`

| 参数       | 类型 | 说明                                                                       |
| ---------- | ---- | -------------------------------------------------------------------------- |
| `begt`     | date | 调仓日筛选开始日                                                           |
| `endt`     | date | 调仓日筛选截止日                                                           |
| `ret_type` | int  | 0、返回详情 1、返回简单统计【默认】 2、返回详情统计 3、0+2                 |
| `lag_n`    | int  | 最大间隔期数，默认为5，支持数组给定，例如array(1,2,3,4,5)与给定5的含义一样 |

返回：array

### `GetDecay_SignalStability(begt, endt, ret_type, lag_n)`

声明：function

获取指定区间与滞后期的因子信号稳定性衰减结果

<!-- tags: 查询 信号衰减 稳定性 -->

可见性：`public`

| 参数       | 类型 | 说明                            |
| ---------- | ---- | ------------------------------- |
| `begt`     | date | 调仓日筛选开始日                |
| `endt`     | date | 调仓日筛选截止日                |
| `ret_type` | int  | 0、返回详情 1、返回统计【默认】 |
| `lag_n`    | int  | 最大间隔期数，默认为5           |

返回：array

### `GetDecay_IC(lag_n, cycle, ret_type)`

声明：function

参考延续性检验的说明，来选择ic类型

<!-- tags: 查询 筛选 检查 判定 验证 信息系数 -->

可见性：`public`

| 参数       | 类型   | 说明                                                                                                                          |
| ---------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
| `lag_n`    | array  | 一维数组，间隔期数配置，计算IC时相隔的周期（cycle）数 ，array(1,5,10,15,20)，同样 支持给定整数，例如给定3，与array(1,2,3)等效 |
| `cycle`    | string | 周期，字符串，例如"日线"或者cy_day()                                                                                          |
| `ret_type` | int    | 0、返回详情【默认】 1、返回简单统计 2、返回详情统计 3、0+2                                                                    |

返回：array

### `GetDecay_ICByICType(lag_n, cycle, ret_type, ic_type)`

声明：function

按指定 IC 类型获取因子延续性衰减结果

<!-- tags: 查询 IC衰减 信息系数 -->

可见性：`public`

| 参数       | 类型   | 说明                                                  |
| ---------- | ------ | ----------------------------------------------------- |
| `lag_n`    | array  | IC 衰减分析使用的滞后期数组                           |
| `cycle`    | string | 行情或统计周期                                        |
| `ret_type` | int    | 控制计算口径的类型选择项                              |
| `ic_type`  | int    | 参考GetInformationCoefficientbyICType接口的ICType参数 |

返回：array

### `GetIndustryIC(beg_t, end_t, ret_type, ic_type)`

声明：function

计算并比较因子在不同行业中的信息系数

<!-- tags: 查询 行业IC 信息系数 -->

可见性：`public`

| 参数       | 类型 | 说明                                                       |
| ---------- | ---- | ---------------------------------------------------------- |
| `beg_t`    | date | 日期，区间开始日，可为空，不给则为Fbegt                    |
| `end_t`    | date | 日期，区间截止日，可为空，不给则为Fendt                    |
| `ret_type` | int  | 0、返回详情【默认】 1、返回简单统计 2、返回详情统计 3、0+2 |
| `ic_type`  | int  | 整数，IC计算类型 取值 含义 备注                            |

返回：array

### `GetStockZoneIC(beg_t, end_t, ret_type, indesx, ic_type)`

声明：function

计算指定股票域或指数成分范围内的因子 IC

<!-- tags: 查询 股票域IC 信息系数 -->

可见性：`public`

| 参数       | 类型  | 说明                                                                |
| ---------- | ----- | ------------------------------------------------------------------- |
| `beg_t`    | date  | 日期，区间开始日，可为空，不给则为Fbegt                             |
| `end_t`    | date  | 日期，区间截止日，可为空，不给则为Fendt                             |
| `ret_type` | int   | 0、返回详情【默认】 1、返回简单统计 2、返回详情统计 3、0+2          |
| `indesx`   | array | 一维数组，样本指数序列，默认array("SH000300","SH000905","SH000852") |
| `ic_type`  | int   | 整数，IC计算类型 取值 含义 备注 0 NormIC 默认 1 RankIC              |

返回：array

### `UpdateStockInfoData(factor_raw_table, v_endt)`

声明：function

补充当期股票市值、行业等基本信息，供加权、标准化和中性化使用

<!-- tags: 更新 归一化 证券 个股 行业分类 板块 约束配置 -->

可见性：`public`

| 参数               | 类型     | 说明                                     |
| ------------------ | -------- | ---------------------------------------- |
| `factor_raw_table` | array    | 因子原值，主要包含代码、截止日、因子原值 |
| `v_endt`           | datetime | 调仓日                                   |

### `IndustrializeData(factortable, v_end_t)`

声明：function

如果用户需要使用自定义行业且分组考虑行业时候，才需要重载此方法 。即当以下情形才会

<!-- tags: 聚合 行业分类 板块 -->

可见性：`public`

| 参数          | 类型        | 说明                                                                                                                              |
| ------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `factortable` | array       | 完成数据处理之后的数组，主要包含代码、截止日、因子原值、奇异值处理后的 值、无量纲化后的值、综合因子得分这些。 （2） vEndT: 调仓日 |
| `v_end_t`     | t_date_time | 当前计算日期或查询区间的结束日期                                                                                                  |

返回：array

### `GetBenchmarkWeight(v_end_t)`

声明：function

获取指定日期的基准指数成分股权重；可重写

<!-- tags: 查询 组合权重 资产配置 指数产品 比较基准 业绩基准 交易日期 日期时间 -->

可见性：`public`

| 参数      | 类型        | 说明                             |
| --------- | ----------- | -------------------------------- |
| `v_end_t` | t_date_time | 当前计算日期或查询区间的结束日期 |

返回：array

### `GetBenchmarkDailyReturn(v_beg_t, v_end_t)`

声明：function

返回基准的每日收益率序列；可重写

<!-- tags: 查询 回报率 投资收益 比较基准 业绩基准 -->

可见性：`public`

| 参数      | 类型 | 说明   |
| --------- | ---- | ------ |
| `v_beg_t` | date | 开始日 |
| `v_end_t` | date | 截止日 |

返回：array

### `FillMissData(factor_matrix, factors, index)`

声明：function

处理因子矩阵缺失值，并同步返回保留样本索引；可重写

<!-- tags: 填充 缺失值 数据预处理 -->

可见性：`public`

| 参数            | 类型  | 说明                                                                                        |
| --------------- | ----- | ------------------------------------------------------------------------------------------- |
| `factor_matrix` | array | 矩阵，未进行缺失值处理之前的数据。每一列代表一个因子的取值，跟用 户所给因子表的因子顺序相同 |
| `factors`       | array | 二维数组，因子表的关键信息，包含"因子名称"、"因子公式"、"因子方 向"、"因子比例(%)"字段      |
| `index`         | array | 一维数组，数据缺失值处理后的索引。因为缺失值处理可能会删除无效数据，需要 返回索引           |

返回：array

### `NormalizeData(factor_matrix, factors)`

声明：function

对因子矩阵执行极值处理；可重写

<!-- tags: 调用 标准化 归一化 因子分析 因子指标 -->

可见性：`public`

| 参数            | 类型  | 说明                                                                                      |
| --------------- | ----- | ----------------------------------------------------------------------------------------- |
| `factor_matrix` | array | 矩阵，未进行极值处理之前的数据。每一列代表一个因子的取值，跟用户 所给因子表的因子顺序相同 |
| `factors`       | array | 二维数组，当期因子配置                                                                    |

返回：array

### `StandarizeData(factor_matrix, factors)`

声明：function

对极值处理后的因子矩阵执行标准化；可重写

<!-- tags: 标准化 归一化 数据预处理 -->

可见性：`public`

| 参数            | 类型  | 说明                                                                                     |
| --------------- | ----- | ---------------------------------------------------------------------------------------- |
| `factor_matrix` | array | 矩阵，极值处理之后的矩阵。接下来是对这个矩阵进行标准化处理。 （2） Factors：当期因子配置 |
| `factors`       | array | 参与标准化处理的因子列或因子名称数组                                                     |

返回：array

### `NeutralizeData(factor_table, factors)`

声明：function

对因子表执行行业或市值中性化；可重写

<!-- tags: 中性化 因子处理 数据预处理 -->

可见性：`public`

| 参数           | 类型  | 说明                                                                                          |
| -------------- | ----- | --------------------------------------------------------------------------------------------- |
| `factor_table` | array | 二维数组，未进行中性化处理之前的数据。字段名包含"代码"、"名称"、 "截止日"、"报告期"和因子名称 |
| `factors`      | array | 二维数组，当期因子配置                                                                        |

返回：array

### `OrthData(factor_table)`

声明：function

对因子表执行历史正交化处理；新代码优先使用 OrthDataCore

<!-- tags: 正交化 因子处理 数据预处理 -->

可见性：`public`

| 参数           | 类型  | 说明                                                                                          |
| -------------- | ----- | --------------------------------------------------------------------------------------------- |
| `factor_table` | array | 二维数组，未进行正交化处理之前的数据。字段名包含"代码"、"名称"、 "截止日"、"报告期"和因子名称 |

返回：array

### `OrthDataCore(factor_table, factors)`

声明：function

按配置对因子表执行正交化，支持分组正交；可重写

<!-- tags: 正交化 因子处理 数据预处理 -->

可见性：`public`

| 参数           | 类型  | 说明                                                                                          |
| -------------- | ----- | --------------------------------------------------------------------------------------------- |
| `factor_table` | array | 二维数组，未进行正交化处理之前的数据。字段名包含"代码"、"名称"、 "截止日"、"报告期"和因子名称 |
| `factors`      | array | 二维数组，因子表                                                                              |

返回：array

### `ScoreData(factor_matrix, my_factor_arr)`

声明：function

根据标准化因子矩阵与因子配置计算综合因子得分

<!-- tags: 计算 综合因子得分 多因子打分 -->

可见性：`public`

| 参数            | 类型  | 说明                                                   |
| --------------- | ----- | ------------------------------------------------------ |
| `factor_matrix` | array | 标准化处理之后的矩阵。 （2） MyFactorArr：当期因子配置 |
| `my_factor_arr` | array | 用户自定义因子数组；重写评分逻辑时使用                 |

返回：array

### `GroupData(data, v_end_t)`

声明：function

可重写，但一般不需要重写

<!-- tags: 分组 聚合 -->

可见性：`public`

| 参数      | 类型        | 说明                                                                                 |
| --------- | ----------- | ------------------------------------------------------------------------------------ |
| `data`    | array       | 多因子打分处理之后的矩阵，主要用到"代码"、"截止日"、"综合因子"等字段。 （2） VEndT： |
| `v_end_t` | t_date_time | 当前计算日期或查询区间的结束日期                                                     |

返回：array

### `AllocateWeight(data, v_end_t)`

声明：function

可重写，但一般不需要重写

<!-- tags: 计算 资金分配 个股权重 -->

可见性：`public`

| 参数      | 类型      | 说明                                        |
| --------- | --------- | ------------------------------------------- |
| `data`    | array     | 因子分组之后的所有组。 （2） VEndT ：调仓日 |
| `v_end_t` | date_time | 当前计算日期或查询区间的结束日期            |

返回：array

### `AllocateWeightByGroup(data, v_end_t)`

声明：function

注意此方法与 AllocateWeight 的区别, AllocateWeight是要对所有组数挨个个券比例分

<!-- tags: 分组 聚合 组合权重 资产配置 -->

可见性：`public`

| 参数      | 类型      | 说明                                                      |
| --------- | --------- | --------------------------------------------------------- |
| `data`    | array     | 因子分组之后的某组成分，为一维数组。 （2） VEndT ：调仓日 |
| `v_end_t` | date_time | 当前计算日期或查询区间的结束日期                          |

返回：array

### `GetShowPeriod()`

声明：function

获取因子评价使用的近一年、近两年、近三年及整体区间；可重写

<!-- tags: 查询 评价区间 时间分段 -->

可见性：`public`

返回：array

### `UserCalFactors(data, end_t)`

声明：function

获取本地自定义因子值并与天软因子数据合并；需按数据来源重写

<!-- tags: 扩展 本地因子 因子合并 -->

可见性：`public`

| 参数    | 类型     | 说明                                                                   |
| ------- | -------- | ---------------------------------------------------------------------- |
| `data`  | array    | 二维数组，天软因子值表；用于提取本地因子样本，并与本地因子值合并后返回 |
| `end_t` | datetime | 需要获取并合并本地因子值的指定日期                                     |

返回：array
