# 基金 / 基金收益率

## `fundAlpha(index_id, beg_t, end_t, data_select)`

返回基金的α系数，与系统证券、周期有关，周期只能用日线、周线。

| 参数          | 类型     | 说明         |
| ------------- | -------- | ------------ |
| `index_id`    | string   | 指数代码     |
| `beg_t`       | datetime | 开始日期     |
| `end_t`       | datetime | 截止日期     |
| `data_select` | int      | 所选取的数据 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF040001');
SetSysParam(pn_cycle(),cy_day());
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundAlpha('SH000300',begt,endt,0);
```

## `fundAverageYtm2(begt, end_t)`

返回一段时间的指定周期的收益率(算术平均)(%)，与系统证券pn_stock()相关。 注意，该函数只能设置周期为日线或者周线，其他周期则返回0。

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF040001');
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundAverageYTM2(begt,endt);
```

## `fundAverageYtm3(beg_t, end_t, rf)`

返回基金的区间风险收益率(%)，与系统证券pn_stock()相关。

| 参数    | 类型     | 说明                   |
| ------- | -------- | ---------------------- |
| `beg_t` | datetime | 开始日期               |
| `end_t` | datetime | 截止日期               |
| `rf`    | float    | 实数类型，无风险收益率 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF040001');
setsysparam(pn_cycle(),cy_day());
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundAverageYTM3(begt,endt,2.25);
```

## `fundBeta(index_id, beg_t, end_t, data_select)`

返回基金的β系数，与系统证券pn_stock()相关,与系统证券、周期有关，周期只能用日线、周线

| 参数          | 类型     | 说明         |
| ------------- | -------- | ------------ |
| `index_id`    | string   | 指数代码     |
| `beg_t`       | datetime | 开始日期     |
| `end_t`       | datetime | 截止日期     |
| `data_select` | int      | 所选取的数据 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF040001');
SetSysParam(pn_cycle(),cy_day());
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundBeta('SH000300',begt,endt,0);
```

## `fundCorr(index_id, beg_t, end_t, data_select)`

返回某基金与IndexId的相关系数，与系统证券pn_stock()相关。

| 参数          | 类型     | 说明         |
| ------------- | -------- | ------------ |
| `index_id`    | string   | 指数代码     |
| `beg_t`       | datetime | 开始日期     |
| `end_t`       | datetime | 截止日期     |
| `data_select` | int      | 所选取的数据 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF040001');
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundCorr('SH000001',begt,endt,0);
```

## `fundMaxDrawDown(beg_t, end_t, data_select)`

基金最大回撤(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `beg_t`       | datetime | 日期类型，开始日期；           |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundMaxDrawDown(20160101T,20180903T,0);
```

## `fundMinRecoveryPeriod(beg_t, end_t, data_select, cycle)`

基金净值突破前值最长时间。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `beg_t`       | datetime | 日期类型，开始日期；           |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `cycle`       | string   | 周期类型，周期                 |

返回：int

### 示例

```tsl
setsysparam(pn_stock(),"OF090005");
Return FundMinRecoveryPeriod(20160101T,20180903T,0,cy_day());
```

## `fundNavReturn(beg_t, end_t, data_select, annual)`

基金组合收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `beg_t`       | datetime | 日期类型，开始日期；           |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundNAVReturn(20160101T,20180927T,0,1);
```

## `fundNavReturnDtd(end_t, data_select, annual)`

基金本日收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundNAVReturnDTD(20180907T,0,1);
```

## `fundNavReturnItd(end_t, data_select, annual)`

基金成立以来收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundNAVReturnITD(20181008T,0,1);
```

## `fundNavReturnWtd(end_t, data_select, annual)`

基金本周收益(%)，返回组合周区间收益率(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundNAVReturnWTD(20180907T,0,1);
```

## `fundPna(end_t)`

返回基金指定日的市净率，不复权，与系统证券pn_stock()相关。

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'SH500001');
endt:=inttodate(20110910);
return FundPNA(endt);
```

## `fundRSquared(index_id, beg_t, end_t, data_select, cycle)`

基金R2。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `index_id`    | string   | 指数类型，指数代码；           |
| `beg_t`       | datetime | 日期类型，开始日；             |
| `end_t`       | datetime | 日期类型，截止日；             |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `cycle`       | string   | 周期类型，周期                 |

返回：float

## `fundStdDev(beg_t, end_t, data_select)`

返回基金区间收益率的标准差，与系统证券pn_stock()相关，与系统证券、周期有关，周期只能用日线、周线。

| 参数          | 类型     | 说明         |
| ------------- | -------- | ------------ |
| `beg_t`       | datetime | 开始日期     |
| `end_t`       | datetime | 截止日期     |
| `data_select` | int      | 所选取的数据 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF040001');
setsysparam(pn_cycle(),cy_day());
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundStdDev(begt,endt,0) ;
```

## `fundTraingReturn1M(end_t, data_select, annual)`

基金最近1个月收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundTraingReturn1M(20180928T,0,1);
```

## `fundTraingReturn1Y(end_t, data_select, annual)`

基金最近1年收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundTraingReturn1Y(20180928T,0,1);
```

## `fundTraingReturn6M(end_t, data_select, annual)`

基金最近6个月收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | datetime | 日期类型，截止日期；           |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `annual`      | bool     | object                         |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundTraingReturn6M(20180928T,0,1);
```

## `fundTurnOver(begt, end_t)`

返回基金的交易周转率(%)，不复权，与系统证券pn_stock()相关。

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'SH500001');
begt:=inttodate(20110101);
endt:=inttodate(20110910);
return FundTurnOver(begt,endt);
```

## `fundVaR(beg_t, end_t, data_select, cycle)`

基金VaR(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `beg_t`       | datetime | 日期类型，开始日；             |
| `end_t`       | datetime | 日期类型，截止日；             |
| `data_select` | int      | 用户自定义类型，所选取的数据； |
| `cycle`       | string   | 周期类型，周期                 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"OF162714");
Return FundVaR(20160101T,20180927T,0,cy_day());
```

## `fundZjRatio(end_t)`

返回基金指定日的折价率(%)，不复权，与系统证券pn_stock()相关。

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'SH500001');
endt:=inttodate(20110910);
return FundZjRatio(endt);
```

## `fundZjRatio3()`

基金的最新折价率(%) 与系统证券pn_stock()及系统时间pn_date()相关。只适用于封闭基金。

返回：float

### 示例

```tsl
setsysparam(pn_stock(),'OF161226');
setsysparam(pn_date(),inttodate(20250910));
return FundZjRatio3();
```

## `fundExcessReturn(index_id, beg_t, end_t, data_select, annual)`

基金超额收益(%)。与系统股票pn_stock()、当前时间pn_date()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `index_id`    | String   | 指数类型，指数代码；           |
| `beg_t`       | DateTime | 日期类型，开始日期；           |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化             |

返回：Real

### 示例

```tsl
//获取OF001344在一段时间内相对于沪深300的超额收益
setSysParam(pn_stock(),'OF001344');
return fundExcessReturn("SH000300",20160101T,20180903T,0,0);
//返回：21.02
```

## `fundMarginalRisk(index_id, beg_t, end_t, data_select, cycle)`

基金边际风险。与系统股票pn_stock()、当前时间pn_date()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `index_id`    | String   | 指数类型，指数代码；           |
| `beg_t`       | DateTime | 日期类型，开始日期；           |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `cycle`       | String   | 周期类型，周期                 |

返回：Real

### 示例

```tsl
//SH000018，2016年1月1日到2018年9月3日，日线净值数据的边际风险。
return fundMarginalRisk("SH000018",20160101T,20180903T,0,1);
//结果：0.94514
```

## `fundNavReturnYtd(end_t, data_select, annual)`

基金本年收益(%)，返回组合累计收益率(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化             |

返回：Real

### 示例

```tsl
//OF162714，2018年9月3日，净值数据的本年收益(%)。
setSysParam(pn_stock(),"OF162714");
return fundNavReturnYtd(20180903T,0,1);
//结果：-30.67985
```

## `fundTe(index_id, beg_t, end_t, rf, data_select, annual, cycle)`

基金跟踪误差(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `index_id`    | String   | 指数类型，指数代码；           |
| `beg_t`       | DateTime | 日期类型，开始日期；           |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `rf`          | Real     | 实数类型，无风险年收益率(%)；  |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化；           |
| `cycle`       | String   | 周期类型，周期                 |

返回：Real

### 示例

```tsl
//SH000018，2016年1月1日到2018年9月3日，无风险年收益率为3，年化的日线净值数据的跟踪误差(%)。
return fundTe("SH000018",20160101T,20180903T,3,0,1,cy_day());
//结果：17.77457
```

## `FundNetAsset(end_t, return_field)`

基金净值，取数据基金.净值(328)中基金净值。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数           | 类型     | 说明                       |
| -------------- | -------- | -------------------------- |
| `end_t`        | DateTime | 日期类型，截止日期；       |
| `return_field` | String   | 字符串类型，返回字段名称； |

返回：Real，实数

## `Fund_NetAsset(end_t, return_field)`

基金净值，取数据基金.净值(328)中基金净值。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数           | 类型     | 说明                       |
| -------------- | -------- | -------------------------- |
| `end_t`        | DateTime | 日期类型，截止日期；       |
| `return_field` | String   | 字符串类型，返回字段名称； |

返回：Real

### 示例

```tsl
//OF162714，2018年8月22日的净值。
setSysParam(pn_stock(),"OF162714");
return fundNetAsset(20180822T,'单位净值');
//结果：0.9557
```

## `fundTraingReturn2Y(end_t, data_select, annual)`

基金最近2年收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化             |

返回：Real

### 示例

```tsl
//OF162714，2018年9月28日，净值数据的最近2年收益(%)。
setSysParam(pn_stock(),"OF162714");
return fundTraingReturn2Y(20180928T,0,1);
//结果：-0.21469
```

## `fundTraingReturn3Y(end_t, data_select, annual)`

基金最近3年收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化             |

返回：Real

### 示例

```tsl
//OF162714，2018年9月28日，净值数据的最近3年收益(%)。
setSysParam(pn_stock(),"OF162714");
return fundTraingReturn3Y(20180928T,0,1);
//结果：3.32472
```

## `fundSemiDeviation(beg_t, end_t, data_select, annual, cycle)`

基金下方标准差(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `beg_t`       | DateTime | 日期类型，开始日；             |
| `end_t`       | DateTime | 日期类型，截止日；             |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化；           |
| `cycle`       | String   | 周期类型，周期                 |

返回：Real

### 示例

```tsl
//OF162714，2016年1月1日到2018年9月27日，年化的日线净值数据的下方标准差(%)。
setSysParam(pn_stock(),"OF162714");
return fundSemiDeviation(20160101T,20180927T,0,1,cy_day());
//结果：18.5797
```

## `fundNavReturnQtd(end_t, data_select, annual)`

基金本季收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化             |

返回：Real

### 示例

```tsl
//OF162714，2018年6月30日，净值数据的本季收益(%)。
setSysParam(pn_stock(),"OF162714");
return fundNavReturnQtd(20180630T,0,1);
//结果：-36.96638
```

## `fundNavReturnMtd(end_t, data_select, annual)`

基金本月收益(%)。与系统股票pn_stock()、当前时间pn_date(),周期cy_cycle()相关。

| 参数          | 类型     | 说明                           |
| ------------- | -------- | ------------------------------ |
| `end_t`       | DateTime | 日期类型，截止日期；           |
| `data_select` | Integer  | 用户自定义类型，所选取的数据； |
| `annual`      | Boolean  | 真假类型，是否年化             |

返回：Real

### 示例

```tsl
//OF162714，2018年9月27日，净值数据的本月收益(%)。
setSysParam(pn_stock(),"OF162714");
return fundNavReturnMtd(20180927T,0,1);
//结果：-11.07834
```
