# 衍生品 / 行权变动

## `warrantECirculation(end_t)`

指定日权证规模(万)，若股票类型为权证，则将表402（权证.权证行权变动）按生效日逆序排列，提取当生效日小于等于截止日时的第一条记录的权证规模/10000；若股票类型不为权证，则返回0，与系统证券pn_stock()有关。

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

返回：float

## `warrantEPrice(end_t)`

指定日行权价，若股票类型为权证，则将表402（权证.权证行权变动）按生效日逆序排列，提取当生效日小于等于截止日时的第一条记录的行权价；若股票类型不为权证，则返回0，与系统证券pn_stock()有关。

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

返回：float

## `warrantERate(end_t)`

指定日行权比例，当股票类型为权证，则将表402（权证.权证行权变动）按生效日逆序排列，提取当生效日小于等于截止日时的第一条记录的行权比例；若股票类型不为权证，则返回0，与系统证券pn_stock()有关。

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

返回：float

## `warrantExerciseQk(end_t, beg_t)`

区间行权变动，将表402（权证.权证行权变动）按生效日逆序排列，当生效日等于开始日且小于等于截止日，且变更原因不为权证创设时，从表中提取股票代码、名称、信息发布日、生效日、权证规模（万）、行权价、行权比例和变更原因，与系统证券pn_stock()有关。

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

返回：float

## `optionEsiExerciseAmount(end_t, datatype)`

指定日行权数量，与系统参数(证券代码)相关。如果指定日有行权交收信息，返回指定日期认购/认沽行权数量；如果指定日没有行权交收信息，返回0。

| 参数       | 类型      | 说明                  |
| ---------- | --------- | --------------------- |
| `end_t`    | TDateTime | 日期。截止日期        |
| `datatype` | Integer   | 用户自定义。取值如下: |

返回：Real

### 示例

```tsl
setSysParam(PN_Stock(),'SH510050');
return optionEsiExerciseAmount(20231227T,0);
//结果：20893
```

## `optionEsiGetdata(stock_id, end_t)`

指定日的行权交收信息。

| 参数       | 类型      | 说明             |
| ---------- | --------- | ---------------- |
| `stock_id` | String    | 字符串。股票代码 |
| `end_t`    | TDateTime | 日期。截止日期   |

返回：Array

### 示例

```tsl
return optionEsiGetdata('SH510050',20231227T);
结果：
```
