# 财务基本面 / 最近N个会计年度

## `MainIncomeGrowRatio_Year(r_date, n)`

声明：function

最近N年的营业收入增长率(%)（复合增长率）。 （1）取向后兼容的最新年报Q1，然后取N年前同期的年报Q2； （2）分别以Q1、Q2为指定报告期，取营业收入(合并利润分配表)得到v1、v2； （3）如果v1/v2>0，营业收入增长率(%)（复合增长率）=(Power(v1/v2,1/N)-1)\*100，否则返回0。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |
| `n`      | any      | 整数，最近N年  |

返回：float

## `MainProfitGrowRatio_Year(r_date, n)`

声明：function

最近N年的主营业务利润增长率(%)（复合增长率）。 （1）取向后兼容的最新年报Q1，然后取N年前同期的年报Q2； （2）分别以Q1、Q2为指定报告期，取主营业务利润(合并利润分配表)得到v1、v2； （3）如果v1/v2>0，主营业务利润增长率(%)（复合增长率）=(Power(v1/v2,1/N)-1)\*100，否则返回0。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |
| `n`      | any      | 整数，最近N年  |

返回：float

## `NetProfitGrowRatio_Year(r_date, n)`

声明：function

最近N年的净利润增长率(%)（复合增长率）。 （1）取向后兼容的最新年报Q1，然后取N年前同期的年报Q2； （2）分别以Q1、Q2为指定报告期，取归属于母公司所有者的净利润(合并利润分配表)得到v1、v2； （3）如果v1/v2>0，净利润增长率(%)（复合增长率）=(Power(v1/v2,1/N)-1)\*100，否则返回0。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |
| `n`      | any      | 整数，最近N年  |

返回：float

## `OperatingProfitGrowRatio_Year(r_date, n)`

声明：function

最近N年的营业利润增长率(%)（复合增长率）。 （1）取向后兼容的最新年报Q1，然后取N年前同期的年报Q2； （2）分别以Q1、Q2为指定报告期，取营业利润(合并利润分配表)得到v1、v2； （3）如果v1/v2>0，营业利润增长率(%)（复合增长率）=(Power(v1/v2,1/N)-1)\*100，否则返回0。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |
| `n`      | any      | 整数，最近N年  |

返回：float

## `fiIn12MonthRatio(r_date, info_id1, info_id2)`

声明：function

最近12个月财务比率。

| 参数       | 类型    | 说明             |
| ---------- | ------- | ---------------- |
| `r_date`   | Integer | 整数，报告期；   |
| `info_id1` | Integer | 整数，基本面id； |
| `info_id2` | Integer | 整数，基本面id。 |

返回：Real

### 示例

```tsl
//指定2011年报，取万科A的最近12个月财务比率
//最近12个月净利润/最近12个月股东权益合计
o_v:=BackUpSystemParameters2();
setSysParam(pn_stock(),'SZ002423');
v:= fiIn12MonthRatio(20111231,46033,44111);
return v;
//结果：0.05
```

## `fiIn12MonthPs(r_date, info_id)`

声明：function

最近12个月财务数据(每股)。

| 参数      | 类型    | 说明             |
| --------- | ------- | ---------------- |
| `r_date`  | Integer | 整数，报告期；   |
| `info_id` | Integer | 整数，基本面id。 |

返回：Real

### 示例

```tsl
//指定2011年报，取万科A的最近12个月净利润(每股)
o_v:=BackUpSystemParameters2();
setSysParam(pn_stock(),'SZ000002');
v:= fiIn12MonthPs(20111231,46033);
return v;
//结果：1.05
```

## `fiIn12Month(r_date, info_id)`

声明：function

最近12个月InfoId所对应财务数据。

| 参数      | 类型    | 说明             |
| --------- | ------- | ---------------- |
| `r_date`  | Integer | 整数，报告期；   |
| `info_id` | Integer | 整数，基本面id。 |

返回：Real

### 示例

```tsl
//指定2011年报，取万科A的最近12个月净利润
o_v:=BackUpSystemParameters2();
setSysParam(pn_stock(),'SZ000002');
v:= fiIn12Month(20111231,46033);
return v;
//结果：11599606211.77
```

## `fiIn12MonthGrowRatio(r_date, info_id)`

声明：function

最近12个月财务数据同比增长率(%)；

| 参数      | 类型    | 说明             |
| --------- | ------- | ---------------- |
| `r_date`  | Integer | 整数，报告期；   |
| `info_id` | Integer | 整数，基本面id。 |

返回：Real

### 示例

```tsl
//指定2011年报，取万科A的最近12个月净利润同比增长率(%)
o_v:=BackUpSystemParameters2();
setSysParam(pn_stock(),'SZ000002');
v:= fiIn12MonthGrowRatio(20111231,46033);
return v;
//结果：31.22
```

## `fiIn12MonthPsGrowRatio(r_date, info_id)`

声明：function

最近12个月财务数据(每股)同比增长率(%)。

| 参数      | 类型    | 说明             |
| --------- | ------- | ---------------- |
| `r_date`  | Integer | 整数，报告期；   |
| `info_id` | Integer | 整数，基本面id。 |

返回：Real

### 示例

```tsl
//指定2011年报，取万科A的最近12个月净利润(每股)同比增长率(%)
o_v:=BackUpSystemParameters2();
setSysParam(pn_stock(),'SZ000002');
v:= fiIn12MonthPsGrowRatio(20111231,46033);
return v;
//结果：31.22
```

## `cagr(v1, v2, n)`

声明：function

复合增长率(%)。

| 参数 | 类型    | 说明         |
| ---- | ------- | ------------ |
| `v1` | Real    | 实数，终值； |
| `v2` | Real    | 实数，初值； |
| `n`  | Integer | 整数，年数。 |

返回：Real

### 示例

```tsl
//已知终值为1，初值为2，年数为3年，求复合增长率
v:= cagr(1,2,3);
return v;
//结果:-20.63
```

## `annualRatio(r_date, n, info_id1, info_id2)`

声明：function

提取股票的财务比率，与系统股票pn_stock()、当前时间pn_date()相关。

| 参数       | 类型    | 说明               |
| ---------- | ------- | ------------------ |
| `r_date`   | RDate   | 报告期类型，报告期 |
| `n`        | Integer | 整数，最近N年      |
| `info_id1` | Integer | 整数，基本面ID     |
| `info_id2` | Integer | 整数，基本面ID2    |

返回：Real

### 示例

```tsl
//计算SZ000002去年的营业利润/营业收入
setSysParam(pn_stock(),'SZ000002');
return annualRatio(20180630,1,46015,46002);
//结果：0.21
```

## `annualRatioGrowRatio(r_date, n, info_id1, info_id2)`

声明：function

提取股票的财务比率复合增长率(%)，与系统股票pn_stock()、当前时间pn_date()相关。

| 参数       | 类型    | 说明               |
| ---------- | ------- | ------------------ |
| `r_date`   | RDate   | 报告期类型，报告期 |
| `n`        | Integer | 整数，最近N年      |
| `info_id1` | Integer | 整数，基本面ID1    |
| `info_id2` | Integer | 整数，基本面ID2    |

返回：Real

### 示例

```tsl
//计算SZ000002去年的净利润/股东权益合计的复合增长率
setSysParam(pn_stock(),'SZ000002');
return annualRatioGrowRatio(20180630,1,46033,44111);
//结果：0
```

## `annualValue(r_date, n, info_id)`

声明：function

提取股票的财务数据，与系统股票pn_stock()、当前时间pn_date()相关。

| 参数      | 类型    | 说明               |
| --------- | ------- | ------------------ |
| `r_date`  | RDate   | 报告期类型，报告期 |
| `n`       | Integer | 整数，最近N年      |
| `info_id` |         | 整数，基本面ID     |

返回：Real

### 示例

```tsl
//计算SZ000002前年的营业利润
setSysParam(pn_stock(),'SZ000002');
return annualValue(20180630,2,46015);
//结果：39021784520.23
```

## `annualValueGrowRatio(r_date, n, info_id)`

声明：function

提取股票的财务数据复合增长率(%)，与系统股票pn_stock()、当前时间pn_date()相关。

| 参数      | 类型    | 说明               |
| --------- | ------- | ------------------ |
| `r_date`  | RDate   | 报告期类型，报告期 |
| `n`       | Integer | 整数，最近N年      |
| `info_id` |         | 整数，基本面ID     |

返回：Real

### 示例

```tsl
//计算SZ000002前年营业收入的复合增长率
setSysParam(pn_stock(),'SZ000002');
return annualValueGrowRatio(20180630,2,46002);
//结果：11.45081019
```

## `annualValuePs(r_date, n, info_id)`

声明：function

提取股票的每股财务数据，与系统股票pn_stock()、当前时间pn_date()相关。

| 参数      | 类型    | 说明               |
| --------- | ------- | ------------------ |
| `r_date`  | RDate   | 报告期类型，报告期 |
| `n`       | Integer | 整数，最近N年      |
| `info_id` |         | 整数，基本面ID     |

返回：Real

### 示例

```tsl
//计算SZ000002前年的每股净利润
setSysParam(pn_stock(),'SZ000002');
return annualValuePs(20180630,2,46033);
//结果：2.56815519
```

## `annualValuePsGrowRatio(r_date, n, info_id)`

声明：function

提取股票的每股财务数据复合增长率(%)，与系统股票pn_stock()、当前时间pn_date()相关。

| 参数      | 类型    | 说明               |
| --------- | ------- | ------------------ |
| `r_date`  | RDate   | 报告期类型，报告期 |
| `n`       | Integer | 整数，最近N年      |
| `info_id` |         | 整数，基本面ID     |

返回：Real

### 示例

```tsl
//计算SZ000002前年每股净利润的复合增长率
setSysParam(pn_stock(),'SZ000002');
return annualValuePsGrowRatio(20180630,2,46033);
//结果：19.81
```
