# 金融 / 股票 / 股本结构

## `mergeReformListDate()`

声明：function

提取股票的股权分置后交易首日，与系统股票pn_stock()、当前时间pn_date()相关

<!-- tags: 金融 股票 股本结构 -->

返回：float

### 示例

范例01：调用函数

```tsl
setsysparam(pn_stock(), 'SH600019');
Return MergeReformListDate();
```

## `stockanshares(endt)`

声明：function

返回股票A股总量，单位：（股）。与系统参数(证券代码)，系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的） A股=总股本-B股-H股-其中：有限售外资股-外资法人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SZ000002");
return StockANShares(20200924T);
// 输出：9724196533
```

## `stockBNShares(end_t)`

声明：function

返回B股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回B股股本数。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockBTotalShares(end_t)`

声明：function

返回B股总股本，单位：（股），与系统参数(证券代码)相关。 与系统参数(证券代码)，系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SZ000488");
return StockBTotalShares(20241224T);
```

## `stockCPShares(end_t)`

声明：function

返回转配股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回转配股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600690');
v := StockCPShares(20000620T);
return v;
```

## `stockDSShares(end_t)`

声明：function

返回境内法人股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回境内法人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600690');
v := StockDSShares (20040712T);
return v;
```

## `stockFLShares(end_t)`

声明：function

返回外资发起人股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回外资发起人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600221');
v := StockFLShares (20021125T);
return v;
```

## `stockFNShares(end_t)`

声明：function

返回有限售外资股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回有限售外资股。 与系统参数（证券代码）,系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600015');
v := StockFNShares(20120830T);
return v;
```

## `stockFreeNegotiableShares(endt)`

声明：function

返回自由流通股本，与系统参数（证券代码）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableShares3()`

声明：function

返回最新自由流通股本，与系统参数（证券代码,日期）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesAdjust(endt)`

声明：function

返回自由流通股本(调整后)，与系统参数（证券代码）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesAdjust3()`

声明：function

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

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesAdjustNPercent(endt)`

声明：function

返回自由流通股占流通股本(%)(调整后)，与系统参数（证券代码）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesAdjustNPercent3()`

声明：function

返回最新自由流通股占流通股本(%)(调整后)，与系统参数（证券代码,日期）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesAdjustPercent(endt)`

声明：function

返回自由流通股占总股本(%)(调整后)，与系统参数（证券代码）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesAdjustPercent3()`

声明：function

返回最新自由流通股占总股本(%)(调整后)，与系统参数（证券代码,日期）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesNPercent(endt)`

声明：function

返回自由流通股占流通股本(%)，与系统参数（证券代码）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesNPercent3()`

声明：function

返回最新自由流通股占流通股本(%)，与系统参数（证券代码,日期）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesPercent(endt)`

声明：function

返回自由流通股占总股本(%)，与系统参数（证券代码）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockFreeNegotiableSharesPercent3()`

声明：function

返回最新自由流通股占总股本(%)，与系统参数（证券代码,日期）相关

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockHasNAShares(end_t)`

声明：function

返回已上市流通A股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回已上市流通A股。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockHNShares(end_t)`

声明：function

返回H股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回H股。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600011');
v := StockHNShares (20120830T);
return v;
```

## `stockHTotalShares(end_t)`

声明：function

返回H股总股本，单位：（股），与系统参数(证券代码)，系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SZ000488");
return StockHTotalShares(20241224T);
```

## `stockNegotiableShares(end_t)`

声明：function

返回流通股本。 如果是A股，则返回已上市流通A股；如果是B股票，则返回流通B股。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockNegotiableShares3()`

声明：function

返回最新流通股本。 函数默认截止日为今天，如果在调用该函数之前，设置当前日期，则返回设置的日期的流通股本数据。 与系统参数（证券代码、时间），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SZ000002');
setsysparam(pn_date(), inttodate(20120930));
v := StockNegotiableShares3();
return v;
```

## `stockNNShares(end_t)`

声明：function

返回未流通股，单位：（股）。 （1）未流通股＝发起人股＋募集法人股＋自然人法人股＋内部职工股＋优先股＋转配股＋其他未流通股； （2）从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，可以取出最近的发起人股、募集法人股等股本数据，根据算法计算出未流通股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockNNShares2(end_t)`

声明：function

返回有限售条件的流通股，单位：（股）。 （1）有限售条件的流通股=总股本－已上市流通A股－B股－H股； （2）从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，可以取出最近的总股本、已上市流通A股等股本数据，根据算法计算出有限售条件的流通股。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockNPShares(end_t)`

声明：function

返回自然人法人股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回自然人法人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SH600355');
v := StockNPShares(20030515T);
return v;
```

## `stockNShares(end_t)`

声明：function

返回流通股(A.B.H)，单位：（股）。 （1）流通股(A.B.H)＝流通A股＋B股＋H股； （2）从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，可以取出最近的流通A股、B股、H股等股本数据，根据算法计算出流通股(A.B.H)。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockONShares(end_t)`

声明：function

返回其它股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回其它股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockPPShares(end_t)`

声明：function

返回募集法人股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回募集法人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockPriorShares(end_t)`

声明：function

返回优先股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回优先股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockRDShares(end_t)`

声明：function

返回有限售其他内资股，与系统参数(证券代码)相关 系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的） 有限售其他内资股=有限售境内法人股+有限售境内自然人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：bool

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SZ000002");
return StockRDShares(20200924T);
// 输出：9881598
```

## `stockRFShares(end_t)`

声明：function

返回有限售外资股，与系统参数(证券代码)相关 系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的） 有限售外资股=有限售境外法人股+有限售境外自然人持股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：bool

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SH600038");
return StockRFShares(20250924T);
// 输出：2648616
```

## `stockRShares(end_t)`

声明：function

返回有限售股份，与系统参数(证券代码)相关 系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：bool

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SZ000002");
return StockRShares(20200924T);
// 输出：9881598
```

## `stockShare(end_t)`

声明：function

返回股本结构。 从股本结构表中取出截止至EndT的股本结构表数据

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：array

### 示例

范例01：调用函数

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

## `stockShares(end_t, return_field)`

声明：function

返回指定证券在指定日期的某类股本数量，单位为股

<!-- tags: 金融 股票 股本结构 股本数量 总股本 流通股 shares capital structure -->

| 参数           | 类型        | 说明     |
| -------------- | ----------- | -------- |
| `end_t`        | t_date_time | 指定日期 |
| `return_field` | string      | 股本类别 |

返回：real

### 示例

范例01：查询万科 A 的总股本

```tsl
setSysParam(pn_stock(), "SZ000002");
return stockShares(20120830T, sss_totalSharesField());
// 输出：10995210218
```

## `stockShares3(return_field)`

声明：function

返回最新股本数量，与系统参数（证券代码\时间）相关 系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

| 参数           | 类型 | 说明                |
| -------------- | ---- | ------------------- |
| `return_field` | int  | 用户自定义,股本类别 |

返回：float

### 示例

范例01：调用函数

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

## `stockSharesRatio(end_t, share_name_1, share_name_2)`

声明：function

计算指定证券两类股本的比例，结果为第一类股本除以第二类股本再乘以 100

<!-- tags: 金融 股票 股本结构 股本比例 流通股 总股本 shares ratio capital structure -->

| 参数           | 类型        | 说明         |
| -------------- | ----------- | ------------ |
| `end_t`        | t_date_time | 指定日期     |
| `share_name_1` | string      | 分子股本类别 |
| `share_name_2` | string      | 分母股本类别 |

返回：real

### 示例

范例01：计算万科 A 流通股占总股本的比例

```tsl
setSysParam(pn_stock(), "SZ000002");
return stockSharesRatio(
    20120830T, sss_nSharesField(), sss_totalSharesField());
// 输出：87.874955
```

## `stockSOShares(end_t)`

声明：function

返回国家股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回国家股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockSShares(end_t)`

声明：function

返回发起人股，单位：（股）。 （1）发起人股＝国家股+境内法人股+外资法人股+其他法人股； （2）从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，可以取出最近的国家股、境内法人股等股本数据，根据算法计算出发起人股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockStuffShares(end_t)`

声明：function

返回内部职工股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回内部职工股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockTLShares(end_t)`

声明：function

返回高管股，单位：（股）。 从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回高管股

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockTotalShares(end_t)`

声明：function

返回总股本，单位：（股）。 与系统参数（证券代码），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的） （1）总股本＝未流通股＋流通股； （2）从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，可以取出最近的未流通股、流通股等股本数据，根据算法计算出总股本

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockTotalShares3()`

声明：function

返回最新总股本 函数默认截止日为今天，如果在调用该函数之前，设置当前日期，则返回设置的日期的总股本。 与系统参数（证券代码，时间），系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

```tsl
oV := BackUpSystemParameters2();
Setsysparam(pn_date(), inttodate(20120930));
setsysparam(pn_stock(), 'SZ000002');
v := StockTotalShares3();
return v;
```

## `stockTotalSharesBeforeIssue()`

声明：function

返回总股本（发行前）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

返回：float

### 示例

范例01：调用函数

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

## `stockTotalSharesForPs(end_t)`

声明：function

返回总股本（计算每股指标用），单位：（股）。 （1）从股本结构表中，取出小于变动日小于EndT且最接近EndT的记录，返回高管股； （2）如果EndT未上市，则取上市前的总股本（发行后总股本-发行额度）。如果上市首日没有数据，则取变动表中的第一条记录

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockTotalSharesRight(end_t)`

声明：function

返回总股本（加权），单位：（股）。 （1）加权的总股本=加权的债转股+加权新股+加权增发； （2）根据EndT得到期初报告期RDate； （3）加权债转股=RDate至EndT之前的债转股总和/RDate至EndT之前的月份； 加权增发=RDate至EndT之前的增发股总和/RDate至EndT之前的月份； 加权新股=RDate至EndT之前的增发股总和/RDate至EndT之前的天数

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：float

### 示例

范例01：调用函数

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

## `stockUNShares(end_t)`

声明：function

返回无限售条件股份，与系统参数(证券代码)相关 系统参数PN_ChangedDateMode()相关，默认PN_ChangedDateMode()=0，同时考虑变动日和公布日，PN_ChangedDateMode()=1，表示只考虑变动日的情况（以前的）

<!-- tags: 金融 股票 股本结构 返回 获取 -->

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

返回：bool|void

### 示例

范例01：调用函数

```tsl
SetSysParam(pn_stock(), "SZ000002");
return StockUNShares(20200924T);
// 输出：11607850603
```
