# 板块 / 每股财务指标

## `stocksDividendYield3(stock_arr, r_date, right_type, stype, sample_select, eps_criterion)`

计算板块股息支付率(%)，板块股息支付率(%)=分红总额/净利润和\*100%

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `r_date`        | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 用户自定义，股票类型                                       |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20170903);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksDividendYield3 (Stks,20170930,1,1,0,0);
```

## `stocksEps(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块每股收益, 每股收益＝净利润／报告期末普通股股份总数

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `report_date`   | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 用户自定义，股票类型                                       |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20101231);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksEPS(Stks, 20101231,1,1,0,0);
```

## `StocksEPS_12(stock_arr, report_date, stype, eps_criterion)`

板块每股收益(最近12个月)，每股收益＝净利润／报告期末普通股股份总数。

| 参数            | 类型     | 说明                                                       |
| --------------- | -------- | ---------------------------------------------------------- |
| `stock_arr`     | array    | 一维字符串数组，股票列表                                   |
| `report_date`   | datetime | 报告期                                                     |
| `stype`         | any      | 用户自定义，股票类型                                       |
| `eps_criterion` | float    | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：array

## `stocksEpsCut(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块每股收益(扣非), 每股收益＝扣除非经常损益后的净利润／报告期末普通股股份总数

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `report_date`   | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 用户自定义，股票类型                                       |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20101231);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksEPSCut (Stks, 20101231,1,1,0,0);
```

## `stocksNetAssetsPs(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块每股净资产

| 参数            | 类型  | 说明                                                           |
| --------------- | ----- | -------------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                       |
| `report_date`   | int   | 报告期                                                         |
| `right_type`    | int   | 用户自定义，加权方式                                           |
| `stype`         | int   | 整数                                                           |
| `sample_select` | int   | 用户自定义，样本股选择                                         |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股；。 |

返回：float

### 示例

```tsl
EndT := inttodate(20170903);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksNetAssetsPS(Stks,20170930,1,0,0,0);
```

## `stocksNetAssetsPs2(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块调整后每股净资产

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `report_date`   | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 整数                                                       |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20170903);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksNetAssetsPS2(Stks,20170930,1,0,0,0);
```

## `StocksNetEquityReturn_12(stock_arr, report_date, stype, eps_criterion)`

板块板块净资产收益率(%)(最近12个月)

| 参数            | 类型     | 说明                                                       |
| --------------- | -------- | ---------------------------------------------------------- |
| `stock_arr`     | array    | 一维字符串数组，股票列表                                   |
| `report_date`   | datetime | 报告期                                                     |
| `stype`         | any      | 用户自定义，股票类型                                       |
| `eps_criterion` | float    | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：array

## `stocksNetEquityReturnCut(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块净资产收益率(扣除), 净资产收益率=净利润 / 股东权益

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `report_date`   | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 整数                                                       |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20170903);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksNetEquityReturnCut (Stks,20170930,1,1,0,0);
```

## `stocksOperateActivityCashPs(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块每股经营活动产生的现金流量净额

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `report_date`   | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 整数                                                       |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20170903);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksOperateActivityCashPS (Stks,20170930,1,0,0,0);
```

## `StocksPB_12(stock_arr, end_t, stype, naps_criterion)`

计算板块PB(最近12个月)

| 参数             | 类型     | 说明                     |
| ---------------- | -------- | ------------------------ |
| `stock_arr`      | array    | 一维字符串数组，股票列表 |
| `end_t`          | datetime | 日期，截止日             |
| `stype`          | any      | 用户自定义，股票类型     |
| `naps_criterion` | float    | 实数，低每股净资产标准   |

返回：array

## `StocksPE_12(stock_arr, end_t, stype, eps_criterion)`

板块板块PE(最近12个月)

| 参数            | 类型     | 说明                                                       |
| --------------- | -------- | ---------------------------------------------------------- |
| `stock_arr`     | array    | 一维字符串数组，股票列表                                   |
| `end_t`         | datetime | 日期，截止日                                               |
| `stype`         | any      | 用户自定义，股票类型                                       |
| `eps_criterion` | float    | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：array

## `stocksRetainedProfitPs(stock_arr, report_date, right_type, stype, sample_select, eps_criterion)`

计算板块每股未分配利润

| 参数            | 类型  | 说明                                                       |
| --------------- | ----- | ---------------------------------------------------------- |
| `stock_arr`     | array | 一维字符串数组，股票列表                                   |
| `report_date`   | int   | 报告期                                                     |
| `right_type`    | int   | 用户自定义，加权方式                                       |
| `stype`         | int   | 用户自定义                                                 |
| `sample_select` | int   | 用户自定义，样本股选择                                     |
| `eps_criterion` | float | 实数，绩差股标准。每股收益(摊薄)< EPSCriterion即表示绩差股 |

返回：float

### 示例

```tsl
EndT := inttodate(20170903);
setsysparam(pn_date(),EndT);
Stks := getbkbydate('SH000300',EndT);
return StocksRetainedProfitPS(Stks,20170930,1,0,0,0);
```

## `Bk_EPS(report_date, right_type, s_type, sample_select, eps_criterion)`

计算板块每股收益，板块为pn_bk()设置的当前系统板块。 1）总股本加权时，其值为为板块个股的净利润的简单加总和 / 板块个股总股本的简单加总和。 2）流通股本加权时，其值为板块个股折算为流通股的净利润与股本比的乘积后的简单加总和 / 板块个股流通股本简单加总和。 3）算术平均时，其值为板块个股的每股收益的简单加总和 / 板块个股个数。

| 参数            | 类型     | 说明                                                                                                                                                                                                                                       |
| --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `report_date`   | datetime | 报告期                                                                                                                                                                                                                                     |
| `right_type`    | any      | 加权方式，具体取值如下:                                                                                                                                                                                                                    |
| `s_type`        | any      | 股票类型，具体取值如下:                                                                                                                                                                                                                    |
| `sample_select` | any      | 样本股选择，具体取值如下:；取值为0即板块中所有个股都参与计算；；取值为1即剔除每股收益<0的个股；；取值为2即剔除每股收益<EPSCriterion的个股。                                                                                                |
| `eps_criterion` | float    | 绩差股标准，即对应EndT点的期初报告期的每股收益，如果小于EPSCriterion，则不参与计算。此参数与SampleSelect结合使用，当SampleSelect为0或1时，此参数无效；当SampleSelect为2时，此参数给定某值，假设为0.1，即剔除板块中所有每股收益<0.1的个股。 |

返回：float

## `Bk_RetainedProfitPS(report_date, right_type, s_type, sample_select, eps_criterion)`

计算板块每股未分配利润，板块为pn_bk()设置的当前系统板块。 1）总股本加权时，其值为为板块个股未分配利润的简单加总和 / 板块个股总股本的简单加总和。 2）流通股本加权时，其值为板块个股未分配利润与股本比的乘积后的简单加总和 / 板块个股流通股本简单加总和。 3）算术平均时，其值为板块个股每股未分配利润的简单加总和 / 板块的个股个数。

| 参数            | 类型     | 说明                                                                                                                                                                                                                                       |
| --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `report_date`   | datetime | 报告期                                                                                                                                                                                                                                     |
| `right_type`    | any      | 加权方式，具体取值如下:                                                                                                                                                                                                                    |
| `s_type`        | any      | 股票类型，具体取值如下:                                                                                                                                                                                                                    |
| `sample_select` | any      | 样本股选择，具体取值如下:；取值为0即板块中所有个股都参与计算；；取值为1即剔除每股收益<0的个股；；取值为2即剔除每股收益<EPSCriterion的个股。                                                                                                |
| `eps_criterion` | float    | 绩差股标准，即对应EndT点的期初报告期的每股收益，如果小于EPSCriterion，则不参与计算。此参数与SampleSelect结合使用，当SampleSelect为0或1时，此参数无效；当SampleSelect为2时，此参数给定某值，假设为0.1，即剔除板块中所有每股收益<0.1的个股。 |

返回：float

## `stocksFinancialItemPs(stock_arr, r_date, right_type, s_type, sample_select)`

计算板块的指定的指标，其结果与参数ValueType和RightType有关

| 参数            | 类型  | 说明                      |
| --------------- | ----- | ------------------------- |
| `stock_arr`     | Array | 股票列表                  |
| `r_date`        | Int   | 报告期                    |
| `right_type`    | Int   | 加权方式，具体取值如下:   |
| `s_type`        | int   | 股票类型，具体取值如下:   |
| `sample_select` | Int   | 样本股选择，具体取值如下: |

返回：Float

### 示例

```tsl
//返回沪深300 2012年上半年板块沪深300总股本加权的每股收益
t:=intToDate(20120801);
setSysParam(pn_date(),t);
stock_arr:=getBkByDate('SH000300',t);
return stocksFinancialItemPs(stock_arr,20120630,0,0,0,0,0);
//结果：0.33
范例二：
//返回沪深300 2012年上半年板块沪深300总股本加权的每股收益
t:=intToDate(20120801);
setSysParam(pn_date(),t);
stock_arr:=getBkByDate('SH000300',t);
return stocksFinancialItemPs(stock_arr,20120630,0,0,0,0,0);
//结果：0.33
```

## `stocksFinancialItemPsByEndT(stock_arr, end_t, right_type, s_type, sample_select)`

计算股票池指定日的每股财务指标，其结果与参数ValueType和RightType有关。

| 参数            | 类型    | 说明                        |
| --------------- | ------- | --------------------------- |
| `stock_arr`     | Array   | 一维字符串数组or 二维数据表 |
| `end_t`         | Date    | 日期，截止日期              |
| `right_type`    | Integer | 加权方式，整型，取值如下    |
| `s_type`        | Integer | 股票类型，具体取值如下:     |
| `sample_select` | Integer | 样本股选择，具体取值如下:   |

返回：real

### 示例

```tsl
范例一：
//多个股票在20230731的TTM、直接权重加权的每股收益
stock_arr := array(("代码":"SH600356","比例(%)":26.0),
("代码":"SH600602","比例(%)":14.0),
("代码":"SH600054","比例(%)":22.0),
("代码":"SH600001","比例(%)":18.0),
("代码":"SH600718","比例(%)":20.0));
endt := 20230731T;
return stocksFinancialItemPsByEndT(stock_arr,endt,13,0,0,0,0,0);
//结果：0.0827
范例2：
//多个股票在20230731的TTM、调和平均数权重加权的每股净资产
stock_arr := array(("代码":"SH600356","比例(%)":26.0),
("代码":"SH600602","比例(%)":14.0),
("代码":"SH600054","比例(%)":22.0),
("代码":"SH600001","比例(%)":18.0),
("代码":"SH600718","比例(%)":20.0));
endt := 20230731T;
return stocksFinancialItemPsByEndT(stock_arr,endt,12,0,0,0,1,0);
//结果：5.5689
```

## `stockEpsDirect(report_date)`

直接从报表中取得的每股收益值

| 参数          | 类型 | 说明   |
| ------------- | ---- | ------ |
| `report_date` | Int  | 报告期 |

返回：Real

### 示例

```tsl
//返回万科A，2002年年报每股收益
setSysParam(pn_stock(),"SZ000002");
return stockEpsDirect(20021231);
//结果：0.61
```
