# 金融 / 基金 / 分级基金 / 中间函数

## `fundAdjustNav1(end_t)`

声明：function

获取T-1调整后单位净值（预估净值）。与系统股票pn_stock()相关。 注： T日如果是拆分基准日，那么基金公司将会公布拆分折算后的净值，其与T-1日的量纲不同，此处将对T-1日的净值进行调整至经过拆分折算调整后的净值。 一般用于分级基金

<!-- tags: 金融 基金 分级基金 中间函数 获取 查询 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
setsysparam(pn_stock(), "OF161028");
return FundAdjustNAV1(20180903T);
```

## `fundAdjustNav2(end_t)`

声明：function

获取T-1调整前单位净值（预估折溢价）。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 获取 查询 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
setsysparam(pn_stock(), "OF161028");
return FundAdjustNAV2(20180822T);
```

## `fundBenchmarkReturn4(end_t)`

声明：function

返回基准预估涨幅(%)。与系统股票pn_stock()、当前时间pn_date()相关

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
setsysparam(pn_stock(), "OF161028");
return FundBenchmarkReturn4(20180903T);
```

## `fundCalculatedNav_all(endt, fund_type)`

声明：function

返回基金T日基金预估净值（用于计算折溢价)。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

| 参数        | 类型     | 说明                   |
| ----------- | -------- | ---------------------- |
| `endt`      | datetime | 日期类型，截止日；     |
| `fund_type` | integer  | 用户自定义，基金类别； |

返回：float

### 示例

范例01：返回基金OF161811在2018年9月3日T日基金预估净值（用于计算折溢价)

```tsl
setsysparam(pn_stock(), "OF161811");
Return FundCalculatedNAV_All(20180903T, 0);
// 输出：0.839
```

## `fundHSL(begt, end_t)`

声明：function

返回分级子基金换手率(%)。与系统股票pn_stock()相关。 注：仅支持分级基金

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
setsysparam(pn_stock(), "SZ150169");
return FundHSL(20180101T, 20180903T);
```

## `fundMarketShare(endt, t)`

声明：function

返回基金T和T-1流通份额(万)，与系统参数(证券代码)相关

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

| 参数   | 类型     | 说明         |
| ------ | -------- | ------------ |
| `endt` | datetime | 日期。截止日 |
| `t`    | int      | 整数         |

返回：int

### 示例

范例01：调用函数

```tsl
SetSysParam(PN_Stock(), 'OF159001');
return FundMarketShare(20231215T, 0);
```

## `fundShareIncrease(endt)`

声明：function

返回基金份额变动数目，数据从基金.份额变动表(324）中取。与系统股票pn_stock()、相关

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

| 参数   | 类型     | 说明     |
| ------ | -------- | -------- |
| `endt` | datetime | 日期类型 |

返回：float

### 示例

范例01：调用函数

```tsl
setsysparam(pn_stock(), "OF000092");
Return FundShareIncrease(20170703T);
```

## `fundShareIncreaseOfRatio(end_t)`

声明：function

获取分级A和B类份额增长率(%)。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 获取 查询 -->

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

返回：real

### 示例

范例01：调用函数

```tsl
// 返回基金OF161028在2018年9月3日，获取分级A和B类份额增长率(%)
setSysParam(pn_stock(), "OF161028");
return fundShareIncreaseOfRatio(20180903T);
// 输出：-0.04951
```

## `fundTrueNav_all(end_t, fund_type)`

声明：function

获取基金的T日基金真实净值（用于计算折溢价)。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 获取 查询 -->

| 参数        | 类型     | 说明                 |
| ----------- | -------- | -------------------- |
| `end_t`     | datetime | 日期类型，截止日     |
| `fund_type` | integer  | 用户自定义，基金类别 |

返回：float

### 示例

范例01：返回基金OF161028在2018年9月3日的母基金真实净值

```tsl
setsysparam(pn_stock(), "OF161028");
return FundTrueNAV_All(20180903T, 0);
// 输出：0.971
```

## `fundVirtualNAwzf4(end_t)`

声明：function

获取基金预估净值涨幅(%)。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 获取 查询 -->

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

返回：real

### 示例

范例01：调用函数

```tsl
// 返回基金OF161028在2018年9月3日的基金预估净值涨幅(%)
setSysParam(pn_stock(), "OF161028");
return fundVirtualNawzf4(20180903T);
// 输出：-1.5213
```

## `getDepositRate(hbid, int_day)`

声明：function

返回指定日指定银行存款利率。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

| 参数      | 类型    | 说明                                           |
| --------- | ------- | ---------------------------------------------- |
| `hbid`    | string  | 字符串类型；                                   |
| `int_day` | integer | 整数类型，整型日期，如20250206表示2025年2月6日 |

返回：real

### 示例

范例01：调用函数

```tsl
return getDepositRate("IR000001", 20180903);
// 或return GetDepositRate("IR000001",datetoint(20180903T));
// 输出：2018年9月3日的银行存款利率
```

## `pf_benchmarkReturnDayly3(b_arr, end_t, yearto_day_type, days_in_1_y, floating_ir, return_type)`

声明：function

返回基准日收益率（高频）。与系统股票pn_stock()相关

<!-- tags: 金融 基金 分级基金 中间函数 返回 获取 -->

| 参数              | 类型     | 说明                                       |
| ----------------- | -------- | ------------------------------------------ |
| `b_arr`           | array    | 数据表类型，组合基准；                     |
| `end_t`           | datetime | 日期类型，截止日；                         |
| `yearto_day_type` | integer  | 用户自定义，年化收益率折算为日收益率方法； |
| `days_in_1_y`     | integer  | 用户自定义，年化收益率折算天数；           |
| `floating_ir`     | float    | 实数类型，浮动利率(%)；                    |
| `return_type`     | integer  | 用户自定义，返回类型；                     |

返回：array

### 示例

范例01：返回基金OF161028在2018年8月22日；年化收益率折算为日收益率方法为：单利法；年化收益率折算天数为：365；浮动利率为：2；返回类型为：日收益率值。setsysparam(pn_stock(),"OF161028");

```tsl
barr := array(
    ("代码":"IR000004", "比例(%)":35.0, "年化收益率(%)":2.75),
    ("代码":"SH000300", "比例(%)":65.0, "年化收益率(%)":0.0));
return pf_BenchmarkReturnDayly3(barr, 20180822T, 0, 365, 2, 0);
// 输出：-0.35717
```
