# 金融 / 专题函数 / 因子研究 / 基金业绩因子

## `fund_attackAndDefense(fund_id, index_id, end_t, n)`

声明：function

返回基金攻防能力指标

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `fund_id`  | string   | 字符串类型，基金代码     |
| `index_id` | string   | 字符串类型，市场基准代码 |
| `end_t`    | datetime | 日期类型，截止日         |
| `n`        | integer  | 整数类型，期数           |

返回：array

### 示例

范例01：调用 Fund_AttackAndDefense

```tsl
FundID := "OF000001";
IndexID := "SH000300";
EndT := 20211014T;
N := 12;
return Fund_AttackAndDefense(FundID, IndexID, EndT, N);
```

## `fund_busse(fund_id, index_id, beg_t, end_t, rf)`

声明：function

返回基金波动择时能力-Busse模型

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `fund_id`  | string   | 字符串类型，基金代码     |
| `index_id` | string   | 字符串类型，市场基准代码 |
| `beg_t`    | datetime | 日期类型，开始日         |
| `end_t`    | datetime | 日期类型，截止日         |
| `rf`       | float    | 周无风险收益率(%)        |

返回：array

### 示例

范例01：调用 Fund_Busse

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.043;
return Fund_Busse(FundID, IndexID, BegT, EndT, rf);
```

## `fund_cl(fund_id, index_id, beg_t, end_t, rf)`

声明：function

返回基金选股择时能力-CL模型

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 CL -->

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `fund_id`  | string   | 字符串类型，基金代码     |
| `index_id` | string   | 字符串类型，市场基准代码 |
| `beg_t`    | datetime | 日期类型，开始日         |
| `end_t`    | datetime | 日期类型，截止日         |
| `rf`       | real     | 日无风险收益率(%)        |

返回：array

### 示例

范例01：调用 Fund_CL

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.009;
return Fund_CL(FundID, IndexID, BegT, EndT, rf);
```

## `fund_extraReturn(fund_id, index_id, beg_t, end_t, days_in_1_y)`

声明：function

返回基金超额收益评价指标

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数          | 类型     | 说明                     |
| ------------- | -------- | ------------------------ |
| `fund_id`     | string   | 字符串类型，基金代码     |
| `index_id`    | string   | 字符串类型，市场基准代码 |
| `beg_t`       | datetime | 日期类型，开始日         |
| `end_t`       | datetime | 日期类型，截止日         |
| `days_in_1_y` | integer  | 整数类型，年化期数       |

返回：array

### 示例

范例01：调用 Fund_ExtraReturn

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210801T;
EndT := 20210831T;
DaysIn1y := 1;
return Fund_ExtraReturn(FundID, IndexID, BegT, EndT, DaysIn1y);
```

## `fund_hm(fund_id, index_id, beg_t, end_t, rf)`

声明：function

返回基金选股择时能力-HM模型

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 HM -->

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `fund_id`  | string   | 字符串类型，基金代码     |
| `index_id` | string   | 字符串类型，市场基准代码 |
| `beg_t`    | datetime | 日期类型，开始日         |
| `end_t`    | datetime | 日期类型，截止日         |
| `rf`       | float    | 日无风险收益率(%)        |

返回：array

### 示例

范例01：调用 Fund_HM

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.009;
return Fund_HM(FundID, IndexID, BegT, EndT, rf);
```

## `fund_pf_holdFeeling(fund_id, begt, end_t, cycle, ma_num, delta, roll_years_arr)`

声明：function

返回基金持有体验指标

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数             | 类型     | 说明                                       |
| ---------------- | -------- | ------------------------------------------ |
| `fund_id`        | string   | 字符串类型，基金代码                       |
| `begt`           | datetime | 日期类型，开始日                           |
| `end_t`          | datetime | 日期类型，截止日                           |
| `cycle`          | string   | 字符串类型，取数周期                       |
| `ma_num`         | integer  | 整数类型，移动期数                         |
| `delta`          | integer  | 整数类型，路程间隔数                       |
| `roll_years_arr` | array    | 一维数组类型，滚动年份数，例如array(1,3,5) |

返回：array

### 示例

范例01：调用 Fund_PF_HoldFeeling

```tsl
FundID := "OF000001";
begt := 20180831t;
endt := 20210831t;
cycle := cy_day();
MANum := 60;
delta := 20;
RollYearsArr := array(1, 2);
return Fund_PF_HoldFeeling(FundID, begt, endt, cycle, MANum, delta, RollYearsArr);
```

## `fund_pf_themeStyle(fund_id, beg_t, end_t, theme_arr, top_n)`

声明：function

返回主题风格因子：基于业绩

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数        | 类型     | 说明                                                                                                               |
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `fund_id`   | string   | 字符串类型，基金代码                                                                                               |
| `beg_t`     | datetime | 日期类型，开始日                                                                                                   |
| `end_t`     | datetime | 日期类型，截止日                                                                                                   |
| `theme_arr` | array    | 数据表类型，主题池，需包含"主题"、"代表指数"及"成分股"字段，；其中，成分股为一维字符串数组，为空时会选择默认主题池 |
| `top_n`     | integer  | 整数类型，前N个主题                                                                                                |

返回：array

### 示例

范例01：调用 Fund_PF_ThemeStyle

```tsl
FundID := "OF000001";
BegT := 20230901T;
EndT := 20230919T;
ThemeArr := array(); // 默认主题池
TopN := 3;      // 前3个主题
return Fund_PF_ThemeStyle(FundID, BegT, EndT, ThemeArr, TopN);
```

## `fund_regression(fund_id, index_id, beg_t, end_t, days_in_1_y)`

声明：function

计算指定基金相对市场基准的回归统计指标

<!-- tags: 金融 基金 因子研究 业绩评价 回归统计 市场基准 -->

| 参数          | 类型     | 说明         |
| ------------- | -------- | ------------ |
| `fund_id`     | string   | 基金代码     |
| `index_id`    | string   | 市场基准代码 |
| `beg_t`       | datetime | 开始日期     |
| `end_t`       | datetime | 截止日期     |
| `days_in_1_y` | integer  | 年化期数     |

返回：array

### 示例

范例01：计算基金回归统计指标

```tsl
return fund_regression(
    "OF000001", "SH000300", 20210801T, 20210831T, 1);
```

## `fund_returnRiskRatio(fund_id, index_id, beg_t, end_t, rf, mar, days_in_1_y)`

声明：function

计算指定基金相对市场基准的收益风险比率指标

<!-- tags: 金融 基金 因子研究 业绩评价 收益风险比率 市场基准 -->

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `fund_id`     | string   | 基金代码                       |
| `index_id`    | string   | 市场基准代码                   |
| `beg_t`       | datetime | 开始日期                       |
| `end_t`       | datetime | 截止日期                       |
| `rf`          | real     | 日无风险收益率，单位为百分比   |
| `mar`         | real     | 最低可接受收益率，单位为百分比 |
| `days_in_1_y` | integer  | 年化期数                       |

返回：array

### 示例

范例01：计算基金收益风险比率指标

```tsl
return fund_returnRiskRatio(
    "OF000001", "SH000300", 20210801T, 20210831T,
    0.009, 0, 1
);
```

## `fund_risk(fund_id, index_id, beg_t, end_t, mar, days_in_1_y)`

声明：function

计算指定基金相对市场基准的风险评价指标

<!-- tags: 金融 基金 因子研究 业绩评价 风险评价 市场基准 -->

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `fund_id`     | string   | 基金代码                       |
| `index_id`    | string   | 市场基准代码                   |
| `beg_t`       | datetime | 开始日期                       |
| `end_t`       | datetime | 截止日期                       |
| `mar`         | real     | 最低可接受收益率，单位为百分比 |
| `days_in_1_y` | integer  | 年化期数                       |

返回：array

### 示例

范例01：计算基金风险评价指标

```tsl
return fund_risk(
    "OF000001", "SH000300", 20210801T, 20210831T, 0, 1);
```

## `fund_return(fund_id, beg_t, end_t, mar, days_in_1_y)`

声明：function

返回基金绝对收益评价指标

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数          | 类型     | 说明                          |
| ------------- | -------- | ----------------------------- |
| `fund_id`     | string   | 字符串类型，基金代码          |
| `beg_t`       | datetime | 日期类型，开始日              |
| `end_t`       | datetime | 日期类型，截止日              |
| `mar`         | float    | 实数类型，最低可接受收益率(%) |
| `days_in_1_y` | integer  | 整数类型，年化期数            |

返回：array

### 示例

范例01：调用 Fund_Return

```tsl
FundID := "OF000001";
BegT := 20210801T;
EndT := 20210831T;
Mar := 0;
DaysIn1y := 1;
return Fund_Return(FundID, BegT, EndT, Mar, DaysIn1y);
```

## `fund_riskAdjusted(fund_id, index_id, beg_t, end_t, rf, days_in_1_y)`

声明：function

返回基金风险调整后收益指标

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 -->

| 参数          | 类型     | 说明                     |
| ------------- | -------- | ------------------------ |
| `fund_id`     | string   | 字符串类型，基金代码     |
| `index_id`    | string   | 字符串类型，市场基准代码 |
| `beg_t`       | datetime | 日期类型，开始日         |
| `end_t`       | datetime | 日期类型，截止日         |
| `rf`          | float    | 日无风险收益率(%)        |
| `days_in_1_y` | integer  | 整数类型，年化期数       |

返回：array

### 示例

范例01：调用 Fund_RiskAdjusted

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210801T;
EndT := 20210831T;
rf := 0.009;
DaysIn1y := 1;
return Fund_RiskAdjusted(FundID, IndexID, BegT, EndT, rf, DaysIn1y);
```

## `fund_tm(fund_id, index_id, beg_t, end_t, rf)`

声明：function

返回基金选股择时能力-TM模型

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 TM -->

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `fund_id`  | string   | 字符串类型，基金代码     |
| `index_id` | string   | 字符串类型，市场基准代码 |
| `beg_t`    | datetime | 日期类型，开始日         |
| `end_t`    | datetime | 日期类型，截止日         |
| `rf`       | float    | 日无风险收益率(%)        |

返回：array

### 示例

范例01：调用 Fund_TM

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.009;
return Fund_TM(FundID, IndexID, BegT, EndT, rf);
```

## `fund_tm_busse(fund_id, index_id, beg_t, end_t, rf)`

声明：function

返回基金波动择时能力- TM-Busse模型

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 TM -->

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `fund_id`  | string   | 字符串类型，基金代码     |
| `index_id` | string   | 字符串类型，市场基准代码 |
| `beg_t`    | datetime | 日期类型，开始日         |
| `end_t`    | datetime | 日期类型，截止日         |
| `rf`       | float    | 周无风险收益率(%)        |

返回：array

### 示例

范例01：调用 Fund_TM_Busse

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.043;
return Fund_TM_Busse(FundID, IndexID, BegT, EndT, rf);
```

## `fund_tm_busse_ff3(fund_id, index_id, beg_t, end_t, weight_type, rf)`

声明：function

返回基金波动择时能力- TM-Busse-FF3模型

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 TM FF3 -->

| 参数          | 类型     | 说明                     |
| ------------- | -------- | ------------------------ |
| `fund_id`     | string   | 字符串类型，基金代码     |
| `index_id`    | string   | 字符串类型，市场基准代码 |
| `beg_t`       | datetime | 日期类型，开始日         |
| `end_t`       | datetime | 日期类型，截止日         |
| `weight_type` | integer  | 整数类型，因子加权方式   |
| `rf`          | float    | 周无风险收益率(%)        |

返回：array

### 示例

范例01：调用 Fund_TM_Busse_FF3

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
WeightType := 1; // 自由流通股本加权
rf := 0.043;
return Fund_TM_Busse_FF3(FundID, IndexID, BegT, EndT, WeightType, Rf);
```

## `fund_tm_ff(fund_id, index_id, beg_t, end_t, rf, model_type, weight_type)`

声明：function

返回基金选股择时能力-TM_FF模型：在TM模型的基础上增加因子数据进行回归

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 TM_FF TM -->

| 参数          | 类型     | 说明                     |
| ------------- | -------- | ------------------------ |
| `fund_id`     | string   | 字符串类型，基金代码     |
| `index_id`    | string   | 字符串类型，市场基准代码 |
| `beg_t`       | datetime | 日期类型，开始日         |
| `end_t`       | datetime | 日期类型，截止日         |
| `rf`          | float    | 日无风险收益率(%)        |
| `model_type`  | integer  | 整数类型，计算模型       |
| `weight_type` | integer  | 整数类型，因子加权方式   |

返回：array

### 示例

范例01：调用 Fund_TM_FF

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.009;
ModelType := 1;   // 三因子
WeightType := 1;  // 自由流通股本加权
return Fund_TM_FF(FundID, IndexID, BegT, EndT, Rf, ModelType, WeightType);
```

## `fund_tm_ff_indus(fund_id, index_id, beg_t, end_t, rf, model_type, weight_type)`

声明：function

返回基金选股择时能力-TM_FF_Indus模型：在TM模型的基础上增加因子数据与行业指数进行回归

<!-- tags: 金融 专题函数 因子研究 基金业绩因子 查找 搜索 lookup 返回 获取 TM -->

| 参数          | 类型     | 说明                     |
| ------------- | -------- | ------------------------ |
| `fund_id`     | string   | 字符串类型，基金代码     |
| `index_id`    | string   | 字符串类型，市场基准代码 |
| `beg_t`       | datetime | 日期类型，开始日         |
| `end_t`       | datetime | 日期类型，截止日         |
| `rf`          | float    | 日无风险收益率(%)        |
| `model_type`  | integer  | 整数类型，计算模型       |
| `weight_type` | integer  | 整数类型，因子加权方式   |

返回：array

### 示例

范例01：调用 Fund_TM_FF_Indus

```tsl
FundID := "OF000001";
IndexID := "SH000300";
BegT := 20210816T;
EndT := 20211014T;
rf := 0.009;
ModelType := 1;   // 三因子
WeightType := 1;  // 自由流通股本加权
return Fund_TM_FF_Indus(FundID, IndexID, BegT, EndT, Rf, ModelType, WeightType);
```
