# 股票 / 综合指标

## `financialConstraint(report_date)`

融资约束(专用函数)，与当前股票pn_stock()，当前时间pn_date()相关。 如果t年的每股股利高于t-1年的每股股利，那么融资约束是1， 如果不变，融资约束是0，如果减少，融资约束是-1

| 参数          | 类型     | 说明                 |
| ------------- | -------- | -------------------- |
| `report_date` | datetime | 报告期类型，报告期； |

返回：int

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
return FinancialConstraint(20171231);
```

## `rfToDay(rf, _type)`

折年百分比折算为周/日

| 参数    | 类型   | 说明                |
| ------- | ------ | ------------------- |
| `rf`    | float  | 实数，折年收益率(%) |
| `_type` | string | 字符串，数据周期    |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(PN_Precision(),4);
return RfToDay(2.2,'周线');
```

## `Risk_NonSystem(t1, t2, rf, theta, cy)`

通过参数t1、t2给定的证券和指数的涨幅数据，计算非系统性风险，返回信息比(%)、MCV、效用调整法(%)。注意，t1、t2必须包含“涨幅(%)”列。 其中， 信息比(%)= 两数据的alpha/两数据回归残差的标准差\*100 MCV=两数据的alpha/(t1的标准差-t2的标准差-两数据的beta)\*abs(t2的平均涨幅- Rf\_） 效用调整法(%)= -(1+ Rf\_)/Theta\* 证券的复合增长率 Rf\_ ：由无风险年收益率(%)Rf 按照周期Cy转化的指定周期的无风险收益率(%)

| 参数    | 类型   | 说明                                               |
| ------- | ------ | -------------------------------------------------- |
| `t1`    | array  | 数据表类型，证券日涨幅数据；必须包含“涨幅(%)”列    |
| `t2`    | array  | 数据表类型，Benchmark涨幅数据；必须包含“涨幅(%)”列 |
| `rf`    | float  | 用户自定义类型，无风险年收益率(%)                  |
| `theta` | float  | 实数类型，θ                                        |
| `cy`    | string | 周期类型，数据周期                                 |

返回：float

## `Risk_System(t1, t2, rf, zxd, cy)`

系统风险 特雷诺(%)、詹森(%)、β、选股(%)、上涨择时(%)、下跌择时(%)、VAR@标准正态法(%)、VAR@历史模拟法(%)

| 参数  | 类型   | 说明                    |
| ----- | ------ | ----------------------- |
| `t1`  | any    | 数组，数据              |
| `t2`  | any    | 数组，Benchmark数据     |
| `rf`  | float  | 实数，无风险年收益率(%) |
| `zxd` | float  | 实数，置信度(%)         |
| `cy`  | string | 字符串，数据周期        |

返回：array

## `Risk_Total(t, rf, r_max, cy)`

总风险 夏普(%)、绍坦诺比率(%)、标准差(%)、下方标准差(%)

| 参数    | 类型   | 说明                          |
| ------- | ------ | ----------------------------- |
| `t`     | any    | 数组，数据                    |
| `rf`    | float  | 实数，无风险年利率(%)         |
| `r_max` | float  | 实数，最低可接受的年收益率(%) |
| `cy`    | string | 字符串，数据周期              |

返回：array

## `rtheta(x, rf, theta)`

效用调整法

| 参数    | 类型  | 说明                         |
| ------- | ----- | ---------------------------- |
| `x`     | Table | 数组，数据                   |
| `rf`    | float | 实数，无风险收益率(已折算过) |
| `theta` | float | 实数，θ                      |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_date(),inttodate(20120419));
X:=nday3(180,spec(StockLnZf3(),'SZ000002'));
return Rtheta(X,0.0225,0.1);
```

## `sf_Normal3(x)`

置信度-->概率水平

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `x`  | float | 实数，置信度 |

返回：float

## `sf_Normal3_CallBack(x)`

计算置信度-->概率水平回调

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `x`  | float | 实数，置信度 |

返回：float

## `stockAlpha(index_id, beg_t, end_t)`

α系数（区间） 取股票和指数对数收益率序列，求α系数（用复权后的日线数据计算）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockAlpha('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockAlpha4(index_id, n)`

N个交易日α系数（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数       | 类型   | 说明                     |
| ---------- | ------ | ------------------------ |
| `index_id` | string | 指数类型，指数代码；     |
| `n`        | int    | 用户自定义类型，日期间隔 |

返回：float

### 示例

```tsl
setsysparam(pn_date(),20181012T);
return StockAlpha4("SH000018",8);
```

## `stockAlphaVsVolatility(index_id, beg_t, end_t)`

α/σ（区间） 取股票和指数对数收益率序列，求α/σ（用复权后的日线数据计算）

| 参数       | 类型     | 说明     |
| ---------- | -------- | -------- |
| `index_id` | string   | 指数代码 |
| `beg_t`    | datetime | 起始日期 |
| `end_t`    | datetime | 截止日期 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return
StockAlphaVsVolatility ('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockAlphaVsVolatility4(index_id, n)`

N个交易日α/σ（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数       | 类型   | 说明                     |
| ---------- | ------ | ------------------------ |
| `index_id` | string | 指数类型，指数代码；     |
| `n`        | int    | 用户自定义类型，日期间隔 |

返回：float

### 示例

```tsl
setsysparam(pn_date(),20181012T);
return StockAlphaVsVolatility4("SH000018",8);
```

## `stockATotalValue(end_t)`

指定日A股总市值(万元)，与系统参数(股票)相关。

| 参数    | 类型     | 说明             |
| ------- | -------- | ---------------- |
| `end_t` | datetime | 日期。结束日期。 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),"SH600026");
return StockATotalValue(20241217T);
```

## `stockBeta(index_id, beg_t, end_t)`

β系数（区间） 取股票和指数对数收益率序列，求β系数（用复权后的日线数据计算）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockBeta('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockBeta4(index_id, n)`

N个交易日β系数（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数       | 类型   | 说明                     |
| ---------- | ------ | ------------------------ |
| `index_id` | string | 指数类型，指数代码；     |
| `n`        | int    | 用户自定义类型，日期间隔 |

返回：float

### 示例

```tsl
setsysparam(pn_date(),20181012T);
return StockBeta4("SH000018",8);
```

## `stockBetaAlpha(beg_t, end_t, index_id, beta, alpha, mean_reaturn, risk, residual, sim_rm, corr)`

计算股票Beta，Alpha，平均收益率，收益率标准差，残差标准差。

| 参数           | 类型     | 说明                 |
| -------------- | -------- | -------------------- |
| `beg_t`        | datetime | 日期。开始日期       |
| `end_t`        | datetime | 日期。截止日期       |
| `index_id`     | string   | 字符串。指数代码     |
| `beta`         | float    | 实数。Beta实数       |
| `alpha`        | float    | 实数。Alpha系数      |
| `mean_reaturn` | float    | 实数。平均收益率     |
| `risk`         | float    | 实数。标准差标准差   |
| `residual`     | float    | 实数。残差标准差     |
| `sim_rm`       | float    | 实数。指数平均收益率 |
| `corr`         | float    | 实数。相关系数       |

返回：array

## `stockBTotalValue(end_t)`

指定日B股总市值(万元)，与系统参数(股票)相关。

| 参数    | 类型     | 说明             |
| ------- | -------- | ---------------- |
| `end_t` | datetime | 日期。结束日期。 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),"SH600054");
return StockBTotalValue(20241217T);
```

## `stockCorr(index_id, beg_t, end_t)`

相关系数ρ（区间） 取股票和指数对数收益率序列，求相关系数（用复权后的日线数据计算）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockCorr('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockCorr4(index_id, n)`

N个交易日相关系数ρ（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数       | 类型   | 说明                     |
| ---------- | ------ | ------------------------ |
| `index_id` | string | 指数类型，指数代码；     |
| `n`        | int    | 用户自定义类型，日期间隔 |

返回：float

### 示例

```tsl
setsysparam(pn_date(),20181012T);
return StockCorr4("SH000018",8);
```

## `stockCov(index_id, beg_t, end_t)`

协方差（区间） 取股票和指数对数收益率序列，求协方差（用复权后的日线数据计算）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockCov ('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockCov4(index_id, n)`

N个交易日协方差（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数       | 类型   | 说明                     |
| ---------- | ------ | ------------------------ |
| `index_id` | string | 指数类型，指数代码；     |
| `n`        | int    | 用户自定义类型，日期间隔 |

返回：float

### 示例

```tsl
setsysparam(pn_date(),20181012T);
return StockCov4("SH000018",8);
```

## `stockDr(beg_t, end_t, right_type)`

个股贡献度(%)=个股市值变动/大盘市值变动\*100

| 参数         | 类型     | 说明               |
| ------------ | -------- | ------------------ |
| `beg_t`      | datetime | 日期，统计开始日期 |
| `end_t`      | datetime | 日期，统计截止日期 |
| `right_type` | int      | 整数，加权方式     |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
return StockDR(inttodate(20120101),inttodate(20120419),0);
```

## `stockFreeMarketValue(endt)`

自由流通市值，与系统参数（证券代码）相关

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SH600834");
return StockFreeMarketValue(20211118T);
```

## `stockFreeMarketValue3()`

最新自由流通市值，与系统参数（证券代码,日期）相关

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SH600834");
setsysparam(pn_date(),20211118T);
return StockFreeMarketValue3();
```

## `stockFreeMarketValueAdjust(endt)`

自由流通市值(调整后)，与系统参数（证券代码）相关

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SH600834");
return StockFreeMarketValueAdjust(20211118T);
```

## `stockFreeMarketValueAdjust3()`

最新自由流通市值(调整后)，与系统参数（证券代码,日期）相关

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SH600834");
setsysparam(pn_date(),20211118T);
return StockFreeMarketValueAdjust3();
```

## `stockHTotalValue(end_t)`

指定日H股总市值(万元)，与系统参数(股票)相关。

| 参数    | 类型     | 说明             |
| ------- | -------- | ---------------- |
| `end_t` | datetime | 日期。结束日期。 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),"SH600036");
return StockHTotalValue(20241217T);
```

## `stockMarketValue(end_t)`

指定日流通市值(万)，与系统参数（证券代码）相关

| 参数    | 类型     | 说明          |
| ------- | -------- | ------------- |
| `end_t` | datetime | 日期,结束日期 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SH600834");
return StockMarketValue(20250619T);
```

## `stockMarketValue2(n)`

最近N日平均流通市值(万)

| 参数 | 类型 | 说明       |
| ---- | ---- | ---------- |
| `n`  | int  | 整数，天数 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockMarketValue2(5);
```

## `stockMarketValue3()`

最新流通市值(万)

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockMarketValue3 ();
```

## `stockMarketValueGrow(beg_t, end_t)`

流通市值变动(万)

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
return StockMarketValueGrow(inttodate(20120101),inttodate(20120419));
```

## `stockMarketValueGrowRatio(beg_t, end_t)`

流通市值变比(%)

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
return StockMarketValueGrowRatio(inttodate(20120101),inttodate(20120419));
```

## `stockMarketValuePercent(end_t, bk_name)`

指定日流通市值占市场流通市值比例(%)

| 参数      | 类型     | 说明             |
| --------- | -------- | ---------------- |
| `end_t`   | datetime | 日期，截止日期   |
| `bk_name` | string   | 字符串，市场名称 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
savebk('我的沪深300','用户板块',
getbkbydate('SH000300',inttodate(20111230)));
return StockMarketValuePercent(inttodate(20111230),'我的沪深300');
```

## `stockMeanReturn(beg_t, end_t)`

平均收益率μ（区间） 取股票对数收益率序列，求均值（用复权后的日线数据计算）

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

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockMeanReturn(inttodate(20120101),inttodate(20120419));
```

## `stockMeanReturn4(n)`

平均收益率μ（定日期间隔，用复权后的日线数据计算）

| 参数 | 类型 | 说明           |
| ---- | ---- | -------------- |
| `n`  | int  | 整数，日期间隔 |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockMeanReturn4(10);
```

## `stockPcf(end_t)`

指定日市现率(最新年度报告)=指定日总市值/最新年度报告经营活动产生的现金流量净额。

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

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002');
v:=StockPCF(inttodate(20120830));
return v;
```

## `stockPcf3()`

市现率(最新年度报告)=当前时间总市值/最新年度报告经营活动产生的现金流量净额。与当前时间有关，取当前时间的最新年度报告。

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002');
v:=StockPCF3();
return v;
```

## `StockPCF3_II()`

市现率(最新财务数据加权)。 （1）市现率(最新财务数据加权)=总市值/(最新财务的经营活动产生的现金流量净额\*加权系数)； （2）加权系数： 季报 加权系数值 一季报 12/3 中报 12/6 三季报 12/9 年报 12/12

返回：float

## `StockPCF3_V()`

市现率(最近12个月)。 市现率(最近12个月)=当前时间总市值/最近12个月经营活动产生的现金流量净额。

返回：float

## `StockPCF_II(end_t)`

指定日市现率(最新财务数据加权)，与当前股票pn_stock()，当前时间pn_date()相关。

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

返回：float

## `StockPCF_III(end_t, r_date)`

指定日市现率(指定财务数据加权)。 （1）市现率(指定财务数据加权)=总市值/(指定财务的经营活动产生的现金流量净额\*加权系数)； （2）加权系数： 季报 加权系数值 一季报 12/3 中报 12/6 三季报 12/9 年报 12/12

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `end_t`  | datetime | 日期，截止日期； |
| `r_date` | datetime | 整数，报告期；   |

返回：float

## `StockPCF_V(end_t)`

指定日市现率(最近12个月)=指定日总市值/最近12个月经营活动产生的现金流量净额。

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

返回：float

## `StockPCF_VI(end_t)`

指定日市现率(最近12个月,按公布日)。 （1）指定日市现率(最近12个月,按公布日)=指定日总市值/最近12个月经营活动产生的现金流量净额； （2）按公布日取报告期，再取该报告期对应的最近12个月的数据。

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

返回：float

## `stockPe(end_t, data_type)`

指定日市盈率(最新年度报告)。 （1）取指定日对应的最新年度报告（向后兼容）RDate。 （2）当DataType为空或者0时，指定日市盈率(最新年度报告)=指定日总市值/RDate报告期的净利润。 当DataType为其他值时，指定日市盈率(最新年度报告)=指定日总市值/RDate报告期的扣除非经常性损益后的净利润

| 参数        | 类型     | 说明                                                                                          |
| ----------- | -------- | --------------------------------------------------------------------------------------------- |
| `end_t`     | datetime | 日期，截止日期；                                                                              |
| `data_type` | int      | 取值为0，市盈率=总市值/最新年度报告净利润； 取值为1，市盈率=总市值/扣除非经常性损益后的净利润 |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002');
v:=StockPE(inttodate(20120830));
return v;
```

## `stockPe3()`

市盈率(最新年度报告)。 （1）取当前日期对应的最新年度报告（向后兼容）RDate。 （2）市盈率(最新年度报告)=当前日期总市值/RDate报告期的净利润。

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002');
v:=StockPE3 ();
return v;
```

## `StockPE3_II()`

市盈率(最新财务数据加权)。 （1）取当前日期对应的最新财务报告（向后兼容）RDate。 （2）市盈率(最新财务数据加权)=当前日期总市值/（RDate报告期的加权净利润\*加权系数）。 （3）加权系数： 季报 加权系数值 一季报 12/3 中报 12/6 三季报 12/9 年报 12/12

返回：float

## `StockPE3_IV(data_type)`

获取当前时间市盈率(专用)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数        | 类型 | 说明             |
| ----------- | ---- | ---------------- |
| `data_type` | any  | 整数类型，类型； |

返回：float

## `StockPE3_V()`

市盈率(最近12个月)=当前日期的总市值/当前日期的最近报告期计算出的最近12个月净利润。

返回：float

## `stockPe4(end_t, data_type)`

指定日市盈率(季度)，与系统参数(证券代码)相关。

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),"SZ000001");
return StockPE4(20200930T,1);
```

## `StockPEG_III(end_t, n, data_type)`

指定日PEG(最近12个月加权)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数        | 类型     | 说明                         |
| ----------- | -------- | ---------------------------- |
| `end_t`     | datetime | 日期类型，截止日期；         |
| `n`         | any      | 用户自定义类型，增长率标准； |
| `data_type` | any      | 整数类型，类型；             |

返回：float

## `StockPEG_V(end_t, n, data_type)`

指定日PEG(最近12个月)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数        | 类型     | 说明                         |
| ----------- | -------- | ---------------------------- |
| `end_t`     | datetime | 日期类型，截止日期；         |
| `n`         | any      | 用户自定义类型，增长率标准； |
| `data_type` | any      | 整数类型，类型；             |

返回：float

## `StockPE_II(end_t)`

指定日市盈率(最新财务数据加权)。 （1）取指定日对应的最新财务报告（向后兼容）RDate。 （2）指定日市盈率(最新财务数据加权)=指定日总市值/（RDate报告期的加权净利润\*加权系数）。 （3）加权系数： 季报 加权系数值 一季报 12/3 中报 12/6 三季报 12/9 年报 12/12

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

返回：float

## `StockPE_III(end_t, r_date)`

指定日市盈率(指定财务数据加权) （1）指定日市盈率(指定财务数据加权)=指定日总市值/（指定报告期的加权净利润\*加权系数）。 （3）加权系数： 季报 加权系数值 一季报 12/3 中报 12/6 三季报 12/9 年报 12/12

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `end_t`  | datetime | 日期，截止日期； |
| `r_date` | datetime | 整数，报告期     |

返回：float

## `StockPE_Ipo1()`

返回指定证券的发行市盈率，与系统参数(证券代码)相关。 发行市盈率(每股收益=扣非前后净利润孰低/发行前总股本)

返回：float

## `StockPE_Ipo2()`

返回指定证券的发行市盈率，与系统参数(证券代码)相关。 发行市盈率(每股收益=扣非前后净利润孰低/发行后总股本)

返回：float

## `StockPE_IV(end_t)`

指定日市盈率(专用)。 （1）取EndT对应年度的中报和3季报； （2）加权净利润=3季报的净利润/3\*2+中报的净利润； （3）指定日市盈率(专用)=指定日总市值/加权净利润。

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

返回：float

## `StockPE_V(end_t)`

指定日市盈率(最近12个月)=指定日总市值/最近12个月净利润。

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

返回：float

## `StockPE_VI(end_t)`

指定日市盈率(最近12个月,按公布日)=指定日总市值/指定日当天已公布的最新报告可计算出的最近12个月净利润。

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

返回：float

## `stockPmi(end_t)`

指定日市销率(最新年度报告)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数    | 类型     | 说明 |
| ------- | -------- | ---- |
| `end_t` | datetime |      |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
setsysparam(pn_date(),20181011T);
return StockPMI(20180822T);
```

## `stockPmi3()`

当前时间的市销率(最新年度报告)，与当前股票pn_stock()，当前时间pn_date()相关。

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
setsysparam(pn_date(),20181011T);
return StockPMI3();
```

## `StockPMI3_II()`

市销率(最新财务数据加权)，与当前股票pn_stock()，当前时间pn_date()相关。

返回：float

## `StockPMI3_V()`

当前时间的市销率(最近12个月)，与当前股票pn_stock()，当前时间pn_date()相关。

返回：float

## `StockPMI_II(end_t)`

指定日市销率(最新财务数据加权)，与当前股票pn_stock()，当前时间pn_date()相关。 注：计算假设：中报和年报的净利润是简单的倍数关系

| 参数    | 类型     | 说明 |
| ------- | -------- | ---- |
| `end_t` | datetime |      |

返回：float

## `StockPMI_III(end_t, r_date)`

指定日市销率(指定财务数据加权)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数     | 类型     | 说明 |
| -------- | -------- | ---- |
| `end_t`  | datetime |      |
| `r_date` | datetime |      |

返回：float

## `StockPMI_VI(end_t)`

指定日市销率(最近12个月,按公布日)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数    | 类型     | 说明 |
| ------- | -------- | ---- |
| `end_t` | datetime |      |

返回：float

## `stockPna(end_t)`

指定日市净率(最新年度报告)=指定日总市值/最新年度报告净资产

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

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002');
v:=StockPNA(inttodate(20120830));
return v;
```

## `stockPna3()`

市净率(最新年度报告) =当前时间总市值/最新年度报告净资产。与当前时间有关，取当前时间的最新年度报告。

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002');
v:=StockPNA3();
return v;
```

## `StockPNA3_II()`

市净率(最新财务数据)=当前时间总市值/最新财务报告净资产。与当前时间有关，取当前时间的最新财务报告数据。

返回：float

## `StockPNACutGW3_I()`

市净率(扣除商誉、最新年度报告)，与系统参数(证券代码,时间)相关。

返回：float|datetime

## `StockPNACutGW3_II()`

市净率(扣除商誉、最新财务数据)，与系统参数(证券代码,时间)相关。

返回：float|datetime

## `StockPNACutGW3_III(r_date)`

市净率(扣除商誉、指定财务数据)，与系统参数(证券代码,时间)相关。

| 参数     | 类型     | 说明         |
| -------- | -------- | ------------ |
| `r_date` | datetime | 整数。报告期 |

返回：float

## `StockPNACutGW_I(endt)`

指定日市净率(扣除商誉、最新年度报告)，与系统参数(证券代码)相关。净资产取指定日最新年度报告的归属母公司股东权益合计。

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

返回：float

## `StockPNACutGW_II(endt)`

指定日市净率(扣除商誉、最新财务数据)，与系统参数(证券代码)相关。净资产取最近报告期的归属母公司股东权益合计-按公布日

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

返回：float

## `StockPNACutGW_III(end_t, r_date)`

指定日市净率(扣除商誉、指定财务数据)，与系统参数(证券代码)相关。净资产取指定报告期的归属母公司股东权益合计。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `end_t`  | datetime | 日期。截止日期 |
| `r_date` | datetime | 整数。报告期   |

返回：float

## `StockPNA_II(end_t)`

指定日市净率(最新财务数据)=指定日总市值/最近报告期净资产

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

返回：float

## `StockPNA_III(end_t, r_date)`

指定日市净率(指定财务数据)=指定日总市值/指定报告期净资产

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `end_t`  | datetime | 日期，截止日期； |
| `r_date` | datetime | 整数，报告期     |

返回：float

## `StockPNA_VI(end_t)`

指定日市净率(最新财务数据,按公布日)=指定日总市值/最近报告期净资产。

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

返回：float

## `StockPTBR3_II()`

股价有形净值比(最新财务数据)，与当前股票pn_stock()，当前时间pn_date()相关。

返回：float

## `StockPTBR_II(end_t)`

指定日股价有形净值比(最新财务数据)，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数    | 类型     | 说明 |
| ------- | -------- | ---- |
| `end_t` | datetime |      |

返回：float

## `stockResidualRisk(index_id, beg_t, end_t)`

残差标准差（区间） 取股票和指数对数收益率序列，求残差的标准差（用复权后的日线数据计算）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
returnStockResidualRisk ('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockResidualRisk4(index_id, n)`

残差标准差（定日期间隔，用复权后的日线数据计算）

| 参数       | 类型   | 说明             |
| ---------- | ------ | ---------------- |
| `index_id` | string | 字符串，指数代码 |
| `n`        | int    | 整数，日期间隔   |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockResidualRisk4('SH000001',10);
```

## `stockRisk(index_id, beg_t, end_t)`

对数收益率标准差σ（区间），波动率 取股票和指数对数收益率序列，求α系数（用复权后的日线数据计算）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockRisk('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockRisk4(index_id, n)`

标准差σ（定日期间隔，用复权后的日线数据计算）

| 参数       | 类型   | 说明             |
| ---------- | ------ | ---------------- |
| `index_id` | string | 字符串，指数代码 |
| `n`        | int    | 整数，日期间隔   |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockRisk4('SH000001',10);
```

## `stockSelfCov(beg_t, end_t)`

一阶自协方差（区间） 取股票对数收益率序列，求一阶自协方差（用复权后的日线数据计算）

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockSelfCov (inttodate(20120101),inttodate(20120419));
```

## `stockSelfCov4(index_id, n)`

一阶自协方差（定日期间隔，用复权后的日线数据计算）

| 参数       | 类型   | 说明             |
| ---------- | ------ | ---------------- |
| `index_id` | string | 字符串，指数代码 |
| `n`        | int    | 整数，日期间隔   |

返回：float

### 示例

```tsl
oV:=BackUpSystemParameters2();
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockSelfCov4('SH000001',10);
```

## `stockTe(index_id, beg_t, end_t)`

跟踪误差（区间）

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `index_id` | string   | 字符串，指数代码 |
| `beg_t`    | datetime | 日期，起始日期   |
| `end_t`    | datetime | 日期，截止日期   |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockTE ('SH000001',inttodate(20120101),inttodate(20120419));
```

## `stockTe4(index_id, n)`

N个交易日跟踪误差（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数       | 类型   | 说明                                      |
| ---------- | ------ | ----------------------------------------- |
| `index_id` | string | 指数类型，指数代码；                      |
| `n`        | int    | 用户自定义，指定计算时间段，具体取值如下: |

返回：float

### 示例

```tsl
setsysparam(pn_date(),20181012T);
return StockTE4("SH000018",8);
```

## `stockTobinsQValue(report_date, method_select)`

股票的托宾Q值，与当前股票pn_stock()，当前时间pn_date()相关。 注：MethodSelect=1，用权益的市场价值比上账面(Q1) =2，以公司的市场价值加上负债再除以公司的总资产(Q2)

| 参数            | 类型     | 说明                 |
| --------------- | -------- | -------------------- |
| `report_date`   | datetime | 报告期类型，报告期； |
| `method_select` | int      | 整数类型             |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
setsysparam(pn_date(),20181012T);
return StockTobinsQValue(20180331,0);
```

## `stockTotalValue(end_t)`

指定日总市值(万)，与系统参数（证券代码）相关

| 参数    | 类型     | 说明          |
| ------- | -------- | ------------- |
| `end_t` | datetime | 日期,结束日期 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SH600834");
return StockTotalValue(20250619T);
```

## `stockTotalValue2(n)`

最近N日平均总市值(万)

| 参数 | 类型 | 说明       |
| ---- | ---- | ---------- |
| `n`  | int  | 整数，天数 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockTotalValue2(5);
```

## `stockTotalValue3()`

最新总市值(万)

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20120419));
return StockTotalValue3();
```

## `stockTotalValueGrow(beg_t, end_t)`

总市值变动(万StockTotalValueGrow)

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
return StockTotalValueGrow(inttodate(20120101),inttodate(20120419));
```

## `stockTotalValueGrowRatio(beg_t, end_t)`

总市值变比(%)

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
return StockTotalValueGrowRatio(inttodate(20120101),inttodate(20120419));
```

## `StockTotalValue_II(end_t)`

指定日总市值(万元)，与系统参数(股票)相关。

| 参数    | 类型     | 说明             |
| ------- | -------- | ---------------- |
| `end_t` | datetime | 日期。结束日期。 |

返回：float

## `stockTotalValuePercent(end_t, bk_name)`

指定日市价总值占市场市价总值比例(%)

| 参数      | 类型     | 说明             |
| --------- | -------- | ---------------- |
| `end_t`   | datetime | 日期，截止日期   |
| `bk_name` | string   | 字符串，市场名称 |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
savebk('我的沪深300','用户板块',
getbkbydate('SH000300',inttodate(20111230)));
return StockTotalValuePercent(inttodate(20111230),'我的沪深300');
```

## `stockVaR(beg_t, end_t)`

VaR（区间），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

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

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
setsysparam(pn_date(),20181012T);
return StockVaR(20000101T,20180927T);
```

## `stockVaR4(n)`

N个交易日VaR（定日期间隔），与当前股票pn_stock()，当前时间pn_date()相关。 注：（用复权后的日线数据计算）

| 参数 | 类型 | 说明                     |
| ---- | ---- | ------------------------ |
| `n`  | int  | 用户自定义类型，日期间隔 |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
setsysparam(pn_date(),20181012T);
return StockVaR4(8);
```

## `stockVariance(beg_t, end_t)`

方差（区间） 取股票对数收益率序列，求方差（用复权后的日线数据计算）

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SZ000002');
SetSysParam(pn_cycle(),cy_day());
return StockVariance (inttodate(20120101),inttodate(20120419));
```

## `stockVariance4(n)`

返回指定股票方差（指定时间区间），（用复权后的日线数据计算），该函数和证券代码、当前设置的时间有关。

| 参数 | 类型 | 说明                                      |
| ---- | ---- | ----------------------------------------- |
| `n`  | int  | 用户自定义，指定计算时间段，具体取值如下: |

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),'SH600000');
setsysparam(pn_date(),20150601T);
N:=10;
return StockVariance4(N);//4.74
```

## `tobinsQValue(report_date)`

托宾Q值，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数          | 类型     | 说明 |
| ------------- | -------- | ---- |
| `report_date` | datetime |      |

返回：float

### 示例

```tsl
setsysparam(pn_stock(),"SZ300296");
setsysparam(pn_date(),20181012T);
return TobinsQValue_III(20180331);
```

## `TobinsQValue_I(report_date)`

托宾Q值I，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数          | 类型     | 说明 |
| ------------- | -------- | ---- |
| `report_date` | datetime |      |

返回：float

## `TobinsQValue_III(report_date)`

托宾Q值III，与当前股票pn_stock()，当前时间pn_date()相关。

| 参数          | 类型     | 说明 |
| ------------- | -------- | ---- |
| `report_date` | datetime |      |

返回：float

## `VAR_HistSimulation(t, alpha)`

VAR-历史模拟法

| 参数    | 类型  | 说明         |
| ------- | ----- | ------------ |
| `t`     | any   | 数组，数据   |
| `alpha` | float | 实数，置信度 |

返回：float
