# 金融 / 组合评价 / 收益

## `pf_relativePerformance(t_1, f_name_1, t_2, f_name_2)`

声明：function

返回组合-相对回报，展示多个周期的超额收益率、alpha、beta、跟踪误差、信息比、特雷诺、詹森

<!-- tags: 金融 组合评价 收益 返回 获取 -->

| 参数       | 类型   | 说明                                               |
| ---------- | ------ | -------------------------------------------------- |
| `t_1`      | array  | 组合收益率序列                                     |
| `f_name_1` | string | t1数组中，代表收益率序列的字段名（涨幅、收益率等） |
| `t_2`      | array  | 基准收益率序列                                     |
| `f_name_2` | string | t2数组中，代表收益率序列的字段名（涨幅、收益率等） |

返回：array

### 示例

范例01：此处以浦发银行收益率序列作为用户组合的收益率序列，基准为上证指数

```tsl
// 此处以浦发银行收益率序列作为用户组合的收益率序列，基准为上证指数
stockid := 'SH600000';
IndexId := 'SH000001';
BegT := inttodate(20050101);
EndT := inttodate(20110630);
setsysparam(pn_date(), EndT);
n := tradedays(begt, endt);
t := nday(n, '截止日', sp_time(),
    '涨幅1', spec(StockZf3(), stockid),
    '涨幅2', spec(StockZf3(), IndexId));
return Pf_RelativePerformance(t, '涨幅1', t, '涨幅2');
```

## `pf_returnandRisk(t_1, f_name_1, t_2, f_name_2)`

声明：function

返回组合-风险回报，展示多个周期的多个风险指标

<!-- tags: 金融 组合评价 收益 返回 获取 -->

| 参数       | 类型   | 说明                                               |
| ---------- | ------ | -------------------------------------------------- |
| `t_1`      | array  | 组合收益率序列                                     |
| `f_name_1` | string | t1数组中，代表收益率序列的字段名（涨幅、收益率等） |
| `t_2`      | array  | 基准收益率序列                                     |
| `f_name_2` | string | t2数组中，代表收益率序列的字段名（涨幅、收益率等） |

返回：array

### 示例

范例01：此处以浦发银行收益率序列作为用户组合的收益率序列，基准为上证指数

```tsl
// 此处以浦发银行收益率序列作为用户组合的收益率序列，基准为上证指数
stockid := 'SH600000';
IndexId := 'SH000001';
BegT := inttodate(20050101);
EndT := inttodate(20110630);
setsysparam(pn_date(), EndT);
n := tradedays(begt, endt);
t := nday(n, '截止日', sp_time(),
    '涨幅1', spec(StockZf3(), stockid),
    '涨幅2', spec(StockZf3(), IndexId));
return pf_ReturnandRisk(t, '涨幅1', t, '涨幅2');
```

## `pf_rollingReturn(t, f_name, beg_t, end_t, cy)`

声明：function

返回组合-滚动收益，展示区间每个周期的区间收益率

<!-- tags: 金融 组合评价 收益 返回 获取 -->

| 参数     | 类型     | 说明                                              |
| -------- | -------- | ------------------------------------------------- |
| `t`      | array    | 组合收益率序列                                    |
| `f_name` | string   | t数组中，代表收益率序列的字段名（涨幅、收益率等） |
| `beg_t`  | datetime | 开始日期                                          |
| `end_t`  | datetime | 截止日期                                          |
| `cy`     | string   | 周期                                              |

返回：array

### 示例

范例01：此处以浦发银行收益率序列作为用户组合的收益率序列，展示组合区间周收益率

```tsl
// 此处以浦发银行收益率序列作为用户组合的收益率序列，展示组合区间周收益率
stockid := 'SH600000';
BegT := inttodate(20050101);
EndT := inttodate(20110630);
setsysparam(pn_date(), EndT);
n := tradedays(begt, endt);
t := nday(n, '截止日', sp_time(), '涨幅', spec(StockZf3(), stockid));
return pf_RollingReturn(t, '涨幅', begt, endt, cy_week());
```

## `pf_trailingReturn(t_1, f_name_1, t_2, f_name_2)`

声明：function

返回组合-阶段收益，即计算最近1周、最近1个月、最近半年等固定周期的组合、指数的收益及标准差

<!-- tags: 金融 组合评价 收益 返回 获取 -->

| 参数       | 类型   | 说明                                               |
| ---------- | ------ | -------------------------------------------------- |
| `t_1`      | array  | 组合收益率序列                                     |
| `f_name_1` | string | t1数组中，代表收益率序列的字段名（涨幅、收益率等） |
| `t_2`      | array  | 基准收益率序列                                     |
| `f_name_2` | string | t2数组中，代表收益率序列的字段名（涨幅、收益率等） |

返回：array

### 示例

范例01：此处以浦发银行收益率序列作为用户组合的收益率序列，基准为上证指数

```tsl
// 此处以浦发银行收益率序列作为用户组合的收益率序列，基准为上证指数
stockid := 'SH600000';
IndexId := 'SH000001';
BegT := inttodate(20050101);
EndT := inttodate(20110630);
setsysparam(pn_date(), EndT);
n := tradedays(begt, endt);
t := nday(n, '截止日', sp_time(), '涨幅1', spec(StockZf3(), stockid), '涨幅2', spec(StockZf3(), IndexId));
return pf_TrailingReturn(t, '涨幅1', t, '涨幅2');
```
