# 金融 / 基本面 / 基本 / 报告期数据获取 / 环比

## `beginReportDate(r_date)`

声明：function

返回期初报告期，财务上按照年度进行结算，比如：2002一季度的期初报告期是2001年年报，2002年报的期初报告期也是2001年年报

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：integer

### 示例

范例01：调用函数

```tsl
return beginReportDate(20111231);
// 输出：2011年年报期初报告期
```

## `beginReportValue(stock_id, id, endt)`

声明：function

返回期初报告期数据

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数       | 类型        | 说明     |
| ---------- | ----------- | -------- |
| `stock_id` | string      | 股票代码 |
| `id`       | integer     | 字段id   |
| `endt`     | t_date_time | 截止日   |

返回：real

### 示例

范例01：调用函数

```tsl
end_t := intToDate(20111130);
return beginReportValue("SH600004", 9, end_t);
// 返回"SH600004的期初报告期9对应的id为46078的数据
// 输出：587778570.54
```

## `hbhbGrowRatio(r_date, info_id)`

声明：function

返回环比之环比变动(%)。与系统股股票有关

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数      | 类型   | 说明               |
| --------- | ------ | ------------------ |
| `r_date`  | r_date | 报告期类型，报告期 |
| `info_id` | int    | 基本面类型，基本面 |

返回：real

### 示例

范例01：调用函数

```tsl
// 返回平安银行在2010年6月30日的环比之环比变动(%)
setSysParam(PN_Stock(), 'SZ000001');
return hbhbGrowRatio(20100630, 46002);
// 输出：8.02
```

## `hbReportDate(r_date)`

声明：function

返回环比报告期（RDate的前一个报告期），如果是一季报，则返回第一个报告期

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：integer

### 示例

范例01：返回2011-12-31环比报告期

```tsl
return HBReportDate(20111231);
// 输出：20110930
```

范例02：返回2011-03-31的报告期

```tsl
return HBReportDate(20110331);
// 输出：20110331
```

## `hbReportDateOfOneQuarter(r_date)`

声明：function

返回环比报告期（获取RDate的上一个报告期）

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：integer

### 示例

范例01：2011-12-31环比报告期

```tsl
return HBReportDateOfOneQuarter(20111231);
// 2011-12-31环比报告期
// 输出：20110930
```

范例02：结果：20101231

```tsl
return HBReportDateOfOneQuarter(20110331);
// 输出：20101231
```

## `hbShowField2(r_date)`

声明：function

返回指定报告期的季度名称

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：string

### 示例

范例01：调用函数

```tsl
return hbShowField2(20111231);
// 输出：2011年年报的环比显示
```

## `hbtbGrowRatio(r_date, info_id)`

声明：function

返回环比之同比变动(%)。与系统股票有关

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数      | 类型   | 说明               |
| --------- | ------ | ------------------ |
| `r_date`  | r_date | 报告期类型，报告期 |
| `info_id` | int    | 基本面类型，基本面 |

返回：real

### 示例

范例01：调用函数

```tsl
// 返回平安银行在2010年6月30日的环比之同比变动(%)
setSysParam(PN_Stock(), 'SZ000001');
return hbtbGrowRatio(20100630, 46002);
// 输出：18.27
```

## `hbValue(rdate, info_id, get_the_nearest)`

声明：function

按季度取环比数据。若GetTheNearest为真时，则取指定报告期的值，若GetTheNearest为假时，则取最接近的报告期的值

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 报表 报告期 -->

| 参数              | 类型    | 说明                                     |
| ----------------- | ------- | ---------------------------------------- |
| `rdate`           | integer | 报告期                                   |
| `info_id`         | integer | 基本面                                   |
| `get_the_nearest` | boolean | 1取指定报告期的值，0找最接近的报告期的值 |

返回：real

### 示例

范例01：调用函数

```tsl
setSysParam(pn_Stock(), "SZ000002");
return hbValue(20101231, 44002, 1);
// 返回万科2010年第4季度的货币资金
// 输出：37816932911.84
```

## `hbValue2(r_date, info_id, info_id_2, get_the_nearest)`

声明：function

返回环比数据(按季度)，与系统参数(证券代码，时间)相关

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数              | 类型    | 说明                           |
| ----------------- | ------- | ------------------------------ |
| `r_date`          | integer | 整数。报告期                   |
| `info_id`         | integer | 整数。基本面                   |
| `info_id_2`       | integer | 整数。基本面ID2                |
| `get_the_nearest` | integer | 整数。如无指定报告，找最接近的 |

返回：real

### 示例

范例01：调用函数

```tsl
// SZ000728 2022第四季度归母净利润季度数据（业绩快报）
setSysParam(pn_stock(), "SZ000728");
setSysParam(PN_Date(), 20230327T);
return hbValue2(20221231, 41006, 46078, 0);
// 输出：558706055.49
```

## `hbValuePs(rdate, info_id, get_the_nearest)`

声明：function

返回环比数据(每股)

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数              | 类型    | 说明                                     |
| ----------------- | ------- | ---------------------------------------- |
| `rdate`           | integer | 报告期                                   |
| `info_id`         | integer | 基本面ID                                 |
| `get_the_nearest` | boolean | 1取指定报告期的值，0找最接近的报告期的值 |

返回：real

### 示例

范例01：调用函数

```tsl
setSysParam(pn_Stock(), "SZ000002");
return hbValuePs(20100930, 44002, 1);
// 返回万科2010第三季度的货币资金
// 输出：2.868836
```

## `hbValuePs2(r_date, info_id, info_id_2, get_the_nearest)`

声明：function

返回环比数据(每股)，与系统参数(证券代码，时间)相关

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数              | 类型    | 说明                     |
| ----------------- | ------- | ------------------------ |
| `r_date`          | integer | 整数。报告期             |
| `info_id`         | integer | 整数。基本面             |
| `info_id_2`       | integer | 整数。基本面ID2          |
| `get_the_nearest` | integer | 整数。是否取最接近报告期 |

返回：real

### 示例

范例01：调用函数

```tsl
// SZ000728 20221231的第四季度基本每股收益（业绩快报）
setSysParam(pn_stock(), "SZ000728");
setSysParam(PN_Date(), 20230327T);
return hbValuePs2(20221231, 41006, 46078, 0);
// 输出：0.128032651854782
```

## `previousReportDate(r_date)`

声明：function

返回同比报告期（前）

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：integer

### 示例

范例01：调用函数

```tsl
return previousReportDate(20111231);
// 输出：2011年报的同比报告期
```

## `previousReportDateEx(r_date, n, type)`

声明：function

返回前报告期（通用）

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明                     |
| -------- | ------- | ------------------------ |
| `r_date` | integer | 报告期                   |
| `n`      | integer | 前N个报告期或者前N个季度 |
| `type`   | integer | 0是年度标准，1季度标准   |

返回：integer

### 示例

范例01：调用函数

```tsl
return previousReportDateEx(20111231, 2, 0);
// 输出：2011年报前报告期
```

## `previousReportDateOfHG(r_date)`

声明：function

返回同比报告期（宏观）

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：integer

### 示例

范例01：调用函数

```tsl
return previousReportDateOfHg(20111231);
// 输出：2011年报的同比报告期
```

## `previuosReportDateList(end_t, n)`

声明：function

返回前N个会计年度报告期

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数    | 类型        | 说明   |
| ------- | ----------- | ------ |
| `end_t` | t_date_time | 截止日 |
| `n`     | integer     | 索引号 |

返回：array

### 示例

范例01：返回截止2011-10-01前2个会计年度报告期

```tsl
return PreviuosReportDateList(inttodate(20111001), 2);
// 输出：截止2011-10-01前2个会计年度报告期
```

## `priorReportDate(r_date)`

声明：function

返回同比报告期（后）

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数     | 类型    | 说明   |
| -------- | ------- | ------ |
| `r_date` | integer | 报告期 |

返回：integer

### 示例

范例01：调用函数

```tsl
return priorReportDate(20101231);
// 输出：2010年报的报告期同比报告期（后）
```

## `reportDateListByNumber(end_t, year_report_number, quarter_report_number, add_end_t, listed_date)`

声明：function

返回到截止日的最新的N个年报+M个季报

<!-- tags: 金融 基本面 基本 报告期数据获取 环比 返回 获取 报表 报告期 -->

| 参数                    | 类型        | 说明                   |
| ----------------------- | ----------- | ---------------------- |
| `end_t`                 | t_date_time | 截止日                 |
| `year_report_number`    | integer     | 最近N年                |
| `quarter_report_number` | integer     | 最近M个季度            |
| `add_end_t`             | boolean     | 把指定的截止日期返回来 |
| `listed_date`           | boolean     | 删除未上市的报告期     |

返回：返回到最新日期的最近的n个年报+m个季报

### 示例

范例01：返回最新日期的最近的3个年报+2个季报，同时把指定的截止日期也返回

```tsl
SetSysParam(pn_Stock(), "SZ00002");
return ReportDateListByNumber(inttodate(20111021), 3, 2, 1, 0);
// 输出：最新日期的最近的3个年报+2个季报，同时把指定的截止日期也返回
```
