# 衍生品 / 基本信息

## `OP_ResidualMaturity(maturity_unit)`

期权剩余期限（日历日），与系统证券、时间相关，仅支持日线

| 参数            | 类型 | 说明                               |
| --------------- | ---- | ---------------------------------- |
| `maturity_unit` | any  | 剩余期限单位，整型，默认以年为单位 |

返回：float

## `optionContractUnit(endt)`

期权指定日合约单位，与系统参数（代码）相关。

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

返回：int

### 示例

```tsl
SetSysParam(pn_stock(),"CU2101C39000");
return OptionContractUnit(20210201T);
```

## `optioninfoceilingprice(endt)`

取期权基本信息表，然后该日涨幅上限价格。

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

返回：float

## `optionInfoConsSuspended(end_t)`

指定期权指定日是否连续停牌，与系统参数(证券代码)相关。 1）如果指定日有期权基本信息，返回是否连续停牌 2）如果指定日没有期权基本信息，返回空字符串。

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

返回：string

### 示例

```tsl
SetSysParam(pn_stock(),"OP10004233");
return OptionInfoConsSuspended(20220627T); //结果：否
```

## `optionInfoFloorPrice(end_t)`

指定期权指定日跌幅下限价格，与系统参数(证券代码)相关。 1）如果指定日有期权基本信息，返回跌幅下限价格 2）如果指定日没有期权基本信息，返回0。

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),"OP10004233");
return OptionInfoFloorPrice(20220627T); //结果：0.57
```

## `optionInfoIsBetweenMaturityLess5Days(end_t)`

指定期权指定日是否距离到期日不足5个交易日，与系统参数(证券代码)相关。 1）如果指定日有期权基本信息，返回是否距离到期日不足5个交易日 2）如果指定日没有期权基本信息，返回空字符串。

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

返回：string

### 示例

```tsl
SetSysParam(pn_stock(),"OP10004233");
return OptionInfoIsBetweenMaturityLess5Days(20220627T); //结果：否
```

## `optionInfoIsTradeRange(end_t)`

期权指定日是否在市

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

返回：any类型

### 示例

```tsl
SetSysParam(pn_stock(),"CF201C13800");
return OptionInfoIsTradeRange(20210924T); //结果：1
```

## `optionInfoLast5DayContractAdjusted(end_t)`

指定期权指定日最近5个交易日内合约是否发生过调整，与系统参数(证券代码)相关。 1）如果指定日有期权基本信息，返回判断最近5个交易日内合约是否发生过调整 2）如果指定日没有期权基本信息，返回空字符串。

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

返回：string

### 示例

```tsl
SetSysParam(pn_stock(),"OP10004233");
return OptionInfoLast5DayContractAdjusted(20220627T); //结果：否
```

## `optionInfoStatusInfo(end_t)`

指定期权指定日期权合约状态信息，与系统参数(证券代码)相关。 1）如果指定日有期权基本信息，返回判断最近5个交易日内合约是否发生过调整 2）如果指定日没有期权基本信息，返回空字符串。 目前是 5位字符串，每位表示特定的含义： 第1位：‘0’表示可开仓，‘1’表示限制 卖出开仓（不包括备兑开仓）和买入开仓。 第2位：‘0’表示未连续停牌，‘1’表示 连续停牌。（预留，暂填 0） 第3位：‘0’表示未临近到期日，‘1’表 示距离到期日不足 5个交易日。 第4位：‘0’表示近期未做调整，‘1’表 示最近 5个交易日内合约发生过调整。 第5位：‘A’表示当日新挂牌的合约， ‘E’表示存续的合约 具体可见下面 5个字段

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

返回：string

### 示例

```tsl
SetSysParam(pn_stock(),"OP10004233");
return OptionInfoStatusInfo(20220627T); //结果：0000E0
```

## `optionInfoStrikePrice(end_t)`

指定日行权价，与系统参数（代码）相关。如果指定日有期权基本信息，返回该日行权价；如果指定日没有期权基本信息，返回0。

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

返回：float

### 示例

```tsl
SetSysParam(pn_stock(),"OP10008613");
endt:= 20250123T;
return OptionInfoStrikePrice(Endt);
```

## `optionToPz()`

通过期权代码获取期权品种代码，与系统参数（代码）相关。

返回：string

### 示例

```tsl
SetSysParam(pn_stock(),"CU2101C39000");
return OptionToPZ();
```

## `optionInfoEndTBetweenMaturityDays(end_t)`

指定期权指定日距离到期日的交易日天数，与系统参数(证券代码)相关。

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

返回：Real

### 示例

```tsl
// "IO2306-P-4200"在2022-6-27距离到期日天数
setSysParam(pn_stock(),"IO2306-P-4200");
return optionInfoEndTBetweenMaturityDays(20220627T); //结果：249
```

## `optionInfoUnitDeposit(end_t)`

指定期权指定日单位保证金，与系统参数(证券代码)相关。

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

返回：Real

### 示例

```tsl
// "OP10004233"在2022-6-27的单位保证金
setSysParam(pn_stock(),"OP10004233");
return optionInfoUnitDeposit(20220627T); //结果：15425.6
```

## `optionInfoOpenPosition(end_t)`

指定期权指定日开仓状态，与系统参数(证券代码)相关。

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

返回：String

### 示例

```tsl
// "OP10004233"在2022-6-27的开仓状态
setSysParam(pn_stock(),"OP10004233");
return optionInfoOpenPosition(20220627T); //结果：可开仓
```

## `optionInfoIsNewContract(end_t)`

指定期权指定日是否新挂牌合约，与系统参数(证券代码)相关。

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

返回：String

### 示例

```tsl
// "OP10004233"在2022-6-27的是否新挂牌合约
setSysParam(pn_stock(),"OP10004233");
return optionInfoIsNewContract(20220627T); //结果：否
```

## `optiongetdatabyendt(endt)`

指定日的基本信息表

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

返回：array

## `optioncbisstop(endt)`

指定日是否熔断

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

返回：boolean

## `optioncbsuspendtime(endt)`

指定日熔断暂停交易时长，期权标的与系统参数相关。

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

返回：Integer

## `optioncblaststopdate(endt)`

取出该期权的所有熔断记录的表格，取最后一次的行。

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

返回：any

## `optioncbstopcount(endt)`

取出该期权的所有熔断记录的表格，对比生效日与指定区间

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

返回：Integer

## `optioncbzfaboveminiquotenum(endt)`

指定日熔断涨跌幅达到或超过最小报价单位数，指定日由系统参数指定。

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

返回：String

## `optioncbzdthresh(endt)`

指定日熔断涨跌幅阀值(%)，期权标的与系统参数相关。

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

返回：real

## `optioncbstopcountqj(begt, endt)`

取出该期权的所有熔断记录的表格，对比生效日与指定区间

| 参数   | 类型 | 说明   |
| ------ | ---- | ------ |
| `begt` | date | 开始日 |
| `endt` | date | 截止日 |

返回：int

## `optioncbgetdataperiod(begt, endt)`

区间期权熔断机制数据

| 参数   | 类型 | 说明     |
| ------ | ---- | -------- |
| `begt` | date | 开始日期 |
| `endt` | date | 截止日期 |

返回：array

## `optionubcinstitutoigrow(endt, institutname, tradetype)`

取指定日指定机构持仓量变动,T日-(T-1日）

| 参数           | 类型      | 说明                            |
| -------------- | --------- | ------------------------------- |
| `endt`         | date      | 截止日期,                       |
| `institutname` | string    | 机构简称,                       |
| `tradetype`    | usrdefine | 期权类型,认沽=0认购=1,usrdefine |

返回：any

## `optionubcsumnvolgrow(endt, topn, tradetype)`

指定日前N名机构成交量变动

| 参数        | 类型      | 说明                            |
| ----------- | --------- | ------------------------------- |
| `endt`      | date      | 截止日期,                       |
| `topn`      | integer   | 前N名,                          |
| `tradetype` | usrdefine | 期权类型,认沽=0认购=1,usrdefine |

返回：float

## `optionubcsumnnetoigrow(endt, topn)`

指定日前N名机构净认购持仓量变动

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `endt` | date    | 截止日期 |
| `topn` | integer | 前N名    |

返回：float

## `optionubcinstitutnetoigrow(endt, institutname)`

取指定日指定机构净认购持仓量变动,今日净认购-上日净认购

| 参数           | 类型   | 说明     |
| -------------- | ------ | -------- |
| `endt`         | date   | 截止日期 |
| `institutname` | string | 机构简称 |

返回：any

## `optionubcinstitutnetvolgrow(endt, institutname)`

取指定日指定机构净认购成交量变动,今日净认购-上日净认购

| 参数           | 类型   | 说明     |
| -------------- | ------ | -------- |
| `endt`         | date   | 截止日期 |
| `institutname` | string | 机构简称 |

返回：any

## `optionubcnonoigrow(endt, topn, tradetype)`

指定日第N名机构持仓量变动

| 参数        | 类型      | 说明                            |
| ----------- | --------- | ------------------------------- |
| `endt`      | date      | 截止日期,                       |
| `topn`      | integer   | 第N名,                          |
| `tradetype` | usrdefine | 期权类型,认沽=0认购=1,usrdefine |

返回：float

## `optionubcinstitutvolgrow(endt, institutname, tradetype)`

取指定日指定机构成交量变动,T日-(T-1日）

| 参数           | 类型      | 说明                            |
| -------------- | --------- | ------------------------------- |
| `endt`         | date      | 截止日期,                       |
| `institutname` | string    | 机构简称,                       |
| `tradetype`    | usrdefine | 期权类型,认沽=0认购=1,usrdefine |

返回：any

## `optionubcsumnnetvolgrow(endt, topn)`

指定日前N名机构净认购成交量变动

| 参数   | 类型    | 说明     |
| ------ | ------- | -------- |
| `endt` | date    | 截止日期 |
| `topn` | integer | 前N名    |

返回：float

## `optionubcsumnoigrow(endt, topn, tradetype)`

指定日前N名机构持仓量变动

| 参数        | 类型      | 说明                            |
| ----------- | --------- | ------------------------------- |
| `endt`      | date      | 截止日期,                       |
| `topn`      | integer   | 前N名,                          |
| `tradetype` | usrdefine | 期权类型,认沽=0认购=1,usrdefine |

返回：float

## `optionubcnonnetoigrow(endt, topn)`

指定日第N名机构净认购持仓量变动

| 参数   | 类型    | 说明          |
| ------ | ------- | ------------- |
| `endt` | date    | 截止日期,     |
| `topn` | integer | 第N名,integer |

返回：any

## `optionubcnonvolgrow(endt, topn, tradetype)`

指定日第N名机构成交量变动

| 参数        | 类型      | 说明                            |
| ----------- | --------- | ------------------------------- |
| `endt`      | date      | 截止日期,                       |
| `topn`      | integer   | 第N名,                          |
| `tradetype` | usrdefine | 期权类型,认沽=0认购=1,usrdefine |

返回：float

## `optionubcnonnetvolgrow(endt, topn)`

取指定日第N名机构净认购成交量变动,今日净认购-上日净认购

| 参数   | 类型    | 说明          |
| ------ | ------- | ------------- |
| `endt` | date    | 截止日期,     |
| `topn` | integer | 第N名,integer |

返回：any

## `optionUbcSumNVol(end_t, top_n, trade_type)`

指定日前N名机构成交量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回前N名机构成交量；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。前N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcSumNVol(20200807T,1,0);
//结果：339980
```

## `optionUbcInstitutOiRank(end_t, institut_name, trade_type)`

指定日指定机构持仓量排名，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构持仓量排名；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明                            |
| --------------- | --------- | ------------------------------- |
| `end_t`         | TDateTime | 日期。截止日期                  |
| `institut_name` | String    | 字符串。机构简称                |
| `trade_type`    | Integer   | 用户自定义。期权类型，取值如下: |

返回：Integer

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutOiRank(20200807T,'华泰证券',0);
//结果：3
```

## `optionUbcInstitutOiPercent(end_t, institut_name, trade_type)`

指定日指定机构持仓量占总持仓量比(%)，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构持仓量占总持仓量比(%)；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明                            |
| --------------- | --------- | ------------------------------- |
| `end_t`         | TDateTime | 日期。截止日期                  |
| `institut_name` | String    | 字符串。机构简称                |
| `trade_type`    | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutOiPercent(20200807T,'华泰证券',0);
//结果：5.29416436328386
```

## `optionUbcNoNoiPercent(end_t, top_n, trade_type)`

指定日第N名机构持仓量占总持仓量比(%)，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名机构持仓量占总持仓量比(%)；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。第N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNoiPercent(20200807T,1,0);
//结果：7.58237322661357
```

## `optionUbcInstitutPercent(end_t, institut_name, trade_type)`

指定日指定机构成交量占总成交量比(%)，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构成交量占总成交量比(%)；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明                            |
| --------------- | --------- | ------------------------------- |
| `end_t`         | TDateTime | 日期。截止日期                  |
| `institut_name` | String    | 字符串。机构简称                |
| `trade_type`    | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutPercent(20200807T,'华泰证券',0);
//结果：15.4328861467173
```

## `optionUbcNoNNetVol(end_t, top_n)`

指定日第N名机构净认购成交量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名机构净认购成交量；如果标的没有机构交易数据，返回0。

| 参数    | 类型      | 说明           |
| ------- | --------- | -------------- |
| `end_t` | TDateTime | 日期。截止日期 |
| `top_n` | Integer   | 整数。第N名    |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNNetVol(20200807T,1);
//结果：-9468
```

## `optionUbcNoNoiName(end_t, top_n, trade_type)`

指定日第N名持仓量排名的机构名称，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名持仓量排名的机构名称；如果标的没有机构交易数据，返回””。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。第N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：String

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNoiName(20200807T,1);
//结果：华泰证券
```

## `optionUbcInstitutOi(end_t, institut_name, trade_type)`

指定日指定机构持仓量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构持仓量；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明                            |
| --------------- | --------- | ------------------------------- |
| `end_t`         | TDateTime | 日期。截止日期                  |
| `institut_name` | String    | 字符串。机构简称                |
| `trade_type`    | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutOi(20200807T,"华泰证券",1);
//结果：177850
```

## `optionUbcSumNNetVol(end_t, top_n)`

指定日前N名机构净认购成交量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日前N名机构净认购成交量；如果标的没有机构交易数据，返回0。

| 参数    | 类型      | 说明           |
| ------- | --------- | -------------- |
| `end_t` | TDateTime | 日期。截止日期 |
| `top_n` | Integer   | 整数。前N名    |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcSumNNetVol(20200807T,1);
//结果：-9468
```

## `optionUbcSumNoiPercent(end_t, top_n, trade_type)`

指定日前N名机构持仓量占总持仓量比(%)，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日前N名机构持仓量占总持仓量比(%)；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。前N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcSumNoiPercent(20200807T,1,0);
//结果：7.58237322661357
```

## `optionUbcInstitutNetVol(end_t, institut_name)`

指定日指定机构净认购成交量变动，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构净认购成交量变动；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明             |
| --------------- | --------- | ---------------- |
| `end_t`         | TDateTime | 日期。截止日期   |
| `institut_name` | String    | 字符串。机构简称 |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutNetVol(20200807T,'华泰证券');
//结果：-26123
```

## `optionUbcInstitutVol(end_t, institut_name, trade_type)`

指定日指定机构成交量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构成交量；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明                            |
| --------------- | --------- | ------------------------------- |
| `end_t`         | TDateTime | 日期。截止日期                  |
| `institut_name` | String    | 字符串。机构简称                |
| `trade_type`    | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutVol(20200807T,'华泰证券',1);
//结果：313857
```

## `optionUbcInstitutNetOi(end_t, institut_name)`

指定日指定机构净认购持仓量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构净认购持仓量；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明             |
| --------------- | --------- | ---------------- |
| `end_t`         | TDateTime | 日期。截止日期   |
| `institut_name` | String    | 字符串。机构简称 |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutNetOi(20200807T,'华泰证券');
//结果：48525
```

## `optionUbcNoNVolName(end_t, top_n, trade_type)`

指定日第N名成交量排名的机构名称，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名成交量排名的机构名称；如果标的没有机构交易数据，返回””。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。第N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：String

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNVolName(20200807T,1,1);
//结果：广发证券
```

## `optionUbcNoNPercent(end_t, top_n, trade_type)`

指定日第N名机构成交量占总成交量比(%)，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名机构成交量占总成交量比(%)；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。第N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNPercent(20200807T,1,1);
//结果：14.1982876756464
```

## `optionUbcNoNNetOi(end_t, top_n)`

指定日第N名机构净认购持仓量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名机构净认购持仓量；如果标的没有机构交易数据，返回0。

| 参数    | 类型      | 说明           |
| ------- | --------- | -------------- |
| `end_t` | TDateTime | 日期。截止日期 |
| `top_n` | Integer   | 整数。第N名    |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNNetOi(20200807T,1);
//结果：-7371
```

## `optionUbcNoNoi(end_t, top_n, trade_type)`

指定日第N名机构持仓量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名机构持仓量；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。第N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNoi(20200807T,1,1);
//结果：177850
```

## `optionUbcInstitutVolRank(end_t, institut_name, trade_type)`

指定日指定机构成交量排名，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日指定机构成交量排名；如果标的没有机构交易数据，返回0。

| 参数            | 类型      | 说明                            |
| --------------- | --------- | ------------------------------- |
| `end_t`         | TDateTime | 日期。截止日期                  |
| `institut_name` | String    | 字符串。机构简称                |
| `trade_type`    | Integer   | 用户自定义。期权类型，取值如下: |

返回：Integer

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcInstitutVolRank(20200807T,'广发证券',1);
//结果：1
```

## `optionUbcNoNVol(end_t, top_n, trade_type)`

指定日第N名机构成交量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日第N名机构成交量；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。第N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcNoNVol(20200807T,1,1);
//结果：330512
```

## `optionUbcSumNoi(end_t, top_n, trade_type)`

指定日前N名机构持仓量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日前N名机构持仓量；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。前N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcSumNoi(20200807T,1,1);
//结果：177850
```

## `optionUbcSumNPercent(end_t, top_n, trade_type)`

指定日前N名机构成交量占总成交量比(%)，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日前N名机构成交量占总成交量比(%)；如果标的没有机构交易数据，返回0。

| 参数         | 类型      | 说明                            |
| ------------ | --------- | ------------------------------- |
| `end_t`      | TDateTime | 日期。截止日期                  |
| `top_n`      | Integer   | 整数。前N名                     |
| `trade_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcSumNPercent(20200807T,1,1);
//结果：14.1982876756464
```

## `optionUbcSumNNetOi(end_t, top_n)`

指定日前N名机构净认购持仓量，与系统参数(证券代码)相关。如果标的有机构交易数据，返回指定日前N名机构净认购持仓量；如果标的没有机构交易数据，返回0。

| 参数    | 类型      | 说明           |
| ------- | --------- | -------------- |
| `end_t` | TDateTime | 日期。截止日期 |
| `top_n` | Integer   | 整数。前N名    |

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"SH510050");
return optionUbcSumNNetOi(20200807T,3);
//结果：62518
```

## `optionubcqkperiod(begt, endt, otype, datatype, topn)`

区间最活跃和持仓最大标的券合约情况

| 参数       | 类型    | 说明                               |
| ---------- | ------- | ---------------------------------- |
| `begt`     | date    | ,开始日期                          |
| `endt`     | date    | date,截止日期                      |
| `otype`    | integer | integer,期权类型（0:认沽，1:认购） |
| `datatype` | integer | integer,数据类型（0:交易，1:持仓） |
| `topn`     | integer | ,前N                               |

返回：array

## `optionUbcqk(option_id, end_t, otype, data_type, top_n)`

最活跃和持仓最大标的券合约情况。

| 参数        | 类型      | 说明                             |
| ----------- | --------- | -------------------------------- |
| `option_id` | String    | 字符串。期权代码                 |
| `end_t`     | TDateTime | 日期。截止日期                   |
| `otype`     | Integer   | 整数。期权类型（0:认沽，1:认购） |
| `data_type` | Integer   | 整数。数据类型（0:交易，1:持仓） |
| `top_n`     | Integer   | 整数。前N                        |

返回：Array

### 示例

```tsl
return optionUbcqk("SH510050",20200807T,0,0,3);
结果:
```

## `optionriskindicator(field, endt)`

指定日期权风险指标

| 参数    | 类型   | 说明          |
| ------- | ------ | ------------- |
| `field` | string | string,字符串 |
| `endt`  | date   | ,截止日期     |

返回：real，实数

## `option_RiskIndicator(field, endt)`

指定日期权风险指标

| 参数    | 类型   | 说明          |
| ------- | ------ | ------------- |
| `field` | string | string,字符串 |
| `endt`  | date   | ,截止日期     |

返回：real

## `optionRiTheta(endt)`

指定日Theta指标（盘后）,函数与系统参数（证券）有关。

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

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"OP10006730");
return optionRiTheta(20240126T);
//结果：-0.119
```

## `optionRiDelta(endt)`

指定日Delta指标（盘后）,函数与系统参数（证券）有关。

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

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"OP10006730");
return optionRiDelta(20240126T);
//结果：0.795
```

## `optionRirho(endt)`

指定日RHO指标（盘后）,函数与系统参数（证券）有关。

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

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"OP10006730");
return optionRirho(20240126T);
//结果：1.055
```

## `optionRiVega(endt)`

指定日Vega指标（盘后）,函数与系统参数（证券）有关。

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

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"OP10006730");
return optionRiVega(20240126T);
//结果：0.545
```

## `optionRiGamma(endt)`

指定日Gamma指标（盘后）,函数与系统参数（证券）有关。

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

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),"OP10006730");
return optionRiGamma(20240126T);
//结果：0.838
```

## `optionspqk(begt, endt)`

返回指定期权 的区间期权结算参数数据

| 参数   | 类型 | 说明          |
| ------ | ---- | ------------- |
| `begt` | Date | 日期,开始日期 |
| `endt` | Date | 日期,截止日期 |

返回：REAL

### 示例

```tsl
// "al2104C13400"在20210312~20210322的区间期权结算参数数据
setSysParam(pn_stock(),"al2104C13400");
return optionspqk(20210312T,20210322T);
```

## `optionspqk2(n)`

返回指定期权的N日期权结算参数数据

| 参数 | 类型    | 说明     |
| ---- | ------- | -------- |
| `n`  | Integer | 整型,N日 |

返回：REAL

### 示例

```tsl
// "al2104C13400"在20210322的5日结算参数数据
setSysParam(pn_stock(),"al2104C13400");
setSysParam(PN_Date(),20210322T);
return optionspqk2(5);
```

## `optionSMarginAdjustmentFactor()`

返回指定日指定期权的保证金调整系数(%)

返回：REAL

### 示例

```tsl
// "IO2106-P-5300"在20210322日的保证金调整系数(%)
setSysParam(pn_stock(),"IO2106-P-5300");
setSysParam(PN_Date(),20210322T);
return optionSMarginAdjustmentFactor();  //结果：12
```

## `optionSMiniGuaranteeFactor()`

返回指定日指定期权的最低保障系数

返回：REAL

### 示例

```tsl
// "IO2106-P-5300"在20210322日的最低保障系数
setSysParam(pn_stock(),"IO2106-P-5300");
setSysParam(PN_Date(),20210322T);
return optionSMiniGuaranteeFactor();  //结果：0.5
```

## `optionSpClosingProceduresFee()`

返回指定日指定期权的平仓手续费额

返回：REAL

### 示例

```tsl
// "MA110C2375"在20210322日的平仓手续费额
setSysParam(pn_stock(),"MA110C2375");
setSysParam(PN_Date(),20210322T);
return optionSpClosingProceduresFee();  //结果：0.5
```

## `optionSpOpeningChargeFee()`

返回指定日指定期权的开仓手续费额

返回：REAL

### 示例

```tsl
// "MA110C2375"在20210322日的开仓手续费额
setSysParam(pn_stock(),"MA110C2375");
setSysParam(PN_Date(),20210322T);
return optionSpOpeningChargeFee();  //结果：0.5
```

## `optionSpPerformanceFee()`

返回指定日指定期权的行权/履约手续费额

返回：REAL

### 示例

```tsl
// "MA110C2375"在20210322日的行权/履约手续费额
setSysParam(pn_stock(),"MA110C2375");
setSysParam(PN_Date(),20210322T);
return optionSpPerformanceFee();  //结果：0.5
```

## `optionSpShortClosingProceduresFee()`

返回指定日指定期权的短线平仓手续费额

返回：REAL

### 示例

```tsl
// "MA110C2375"在20210322日的短线平仓手续费额
setSysParam(pn_stock(),"MA110C2375");
setSysParam(PN_Date(),20210322T);
return optionSpShortClosingProceduresFee();  //结果：0
```

## `optionSpShortOpeningChargeFee()`

返回指定日指定期权的短线开仓手续费额

返回：REAL

### 示例

```tsl
// "MA110C2375"在20210322日的短线开仓手续费额
setSysParam(pn_stock(),"MA110C2375");
setSysParam(PN_Date(),20210322T);
return optionSpShortOpeningChargeFee();  //结果：0.5
```

## `optionSpTradingMargin()`

返回指定日指定期权的交易保证金

返回：REAL

### 示例

```tsl
// "MA110C2375"在20210322日的交易保证金
setSysParam(pn_stock(),"MA110C2375");
setSysParam(PN_Date(),20210322T);
return optionSpTradingMargin();  //结果：3090
```

## `stock2OptionSpId()`

天软代码转期权结算参数代码

返回：any

## `OP_GetOptionChain(stock_id, end_t)`

指定日标的证券正在交易的所有期权合约及其基本信息

| 参数       | 类型     | 说明                                            |
| ---------- | -------- | ----------------------------------------------- |
| `stock_id` | string   | VarChar 标的证券，支持多个标提同时提取，用;分隔 |
| `end_t`    | datetime | Date 截止日                                     |

返回：array

## `OP_BKDateOverview(stock_id, model_type)`

期权数据概览-最近期权各类数据

| 参数         | 类型   | 说明             |
| ------------ | ------ | ---------------- |
| `stock_id`   | string | VarChar 标的证券 |
| `model_type` | any    | 模型选择         |

返回：array

## `OP_GetBidAskData(ret)`

得到期权实时的买卖盘数据，选择当前未退市的期权代码

| 参数  | 类型  | 说明                                                                           |
| ----- | ----- | ------------------------------------------------------------------------------ |
| `ret` | array | 二维数组 数据表中必须有代码字段，字段中是期权代码；例:array(("代码":"CU2106")) |

返回：array

## `OP_GetDaysMaturity(end_t, ex_endt)`

计算剩余期限(月)

| 参数      | 类型     | 说明          |
| --------- | -------- | ------------- |
| `end_t`   | datetime | Date 现在日期 |
| `ex_endt` | datetime | Date 到期日   |

返回：float

## `OP_GetPutAndCallratio(stock_id, end_t, ex_endt)`

看跌看涨比率

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `stock_id` | string   | VarChar 标的证券 |
| `end_t`    | datetime | Date 时间        |
| `ex_endt`  | datetime | Date 到期日      |

返回：float

## `OP_GetRiskFreeRate(end_t, rate_type)`

得到 指定日时刻的无风险利率

| 参数        | 类型     | 说明                                                        |
| ----------- | -------- | ----------------------------------------------------------- |
| `end_t`     | datetime | Date 截止日                                                 |
| `rate_type` | any      | Int 无风险利率种类 此参数缺省为 0 表示:一年期存贷款基准利率 |

返回：float

## `OP_GetUnderlyingSecurity()`

取得当前期权所有标的序列

返回：array

## `OP_HV(stock_id, end_t, day_num)`

指定代码在指定日向前推DayNum个月的区间股价历史波动率

| 参数       | 类型     | 说明             |
| ---------- | -------- | ---------------- |
| `stock_id` | string   | VarChar 标的代码 |
| `end_t`    | datetime | Date截止日       |
| `day_num`  | any      | 历史天数选择     |

返回：array

## `OP_IVGreeks(option_type, s, x, close, r, t, option_style, option_style_2)`

使用期权现价计算隐含波动率，再将隐含波动率代入定价模型，计算各个风险指标

| 参数             | 类型   | 说明                                                       |
| ---------------- | ------ | ---------------------------------------------------------- |
| `option_type`    | any    | 期权类型                                                   |
| `s`              | float  | real 现货价格                                              |
| `x`              | float  | real 行权价                                                |
| `close`          | float  | real 实际交易价格                                          |
| `r`              | float  | real 无风险收益（%），可以使用 OP_GetRiskFreeRate 函数得到 |
| `t`              | float  | real 剩余期限（月），可以使用 OP_GetDaysMaturity 得到      |
| `option_style`   | string | 行权方式                                                   |
| `option_style_2` | string | 定价方式                                                   |

返回：array

## `optionFlatValueId(index_id, end_t, option_type)`

返回指定日指定标的的平值合约，只适用于日线。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Array

### 示例

```tsl
// "SH510050"在20210331日的认购的平值合约
return optionFlatValueId("SH510050",20210331T,0);
```

## `optionVirtualValueId(index_id, end_t, option_type)`

返回指定日指定标的的虚值合约，只适用于日线。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Array

### 示例

```tsl
// "SH510050"在20210331日的认购的虚值合约
return optionVirtualValueId("SH510050",20210331T,0);
```

## `optionRealValueId(index_id, end_t, option_type)`

返回指定日指定标的的实值合约。只适用于日线

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |

返回：Array

### 示例

```tsl
// "SH510050"在20210331日的认购的实值合约
return optionRealValueId("SH510050",20210331T,0);
```

## `optionIsFlatValueId(option_id, end_t)`

指定期权代码是否平值合约。

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

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否平值合约
return optionIsFlatValueId("OP10003265",20210331T);
//返回：1
```

## `optionIsFlatValueId2(end_t)`

指定期权代码是否平值合约，与系统参数(股票)相关。

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

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否平值合约
setSysParam(pn_stock(),"OP10003265");
return optionIsFlatValueId2(20210331T);
//结果：1
```

## `optionIsRealValueId(option_id, end_t)`

指定期权代码是否实值合约。

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

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否实值合约
return optionIsRealValueId("OP10003265",20210331T);
//返回：0
```

## `optionIsRealValueId2(end_t)`

指定期权代码是否实值合约，与系统参数(股票)相关。

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

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否实值合约
setSysParam(pn_stock(),"OP10003265");
return optionIsRealValueId2(20210331T);
//结果：0
```

## `optionIsVirtualValueId(option_id, end_t)`

指定期权代码是否虚值合约。

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

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否虚值合约
return optionIsVirtualValueId("OP10003265",20210331T);
//返回：0
```

## `optionIsVirtualValueId2(end_t)`

指定期权代码是否虚值合约，与系统参数(股票)相关。

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

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否虚值合约
setSysParam(pn_stock(),"OP10003265");
return optionIsVirtualValueId2(20210331T);
//结果：0
```

## `optionZlId3(end_t, day_type, n, option_type, c_type, n_type, zl_type)`

期权主力合约，与系统参数（证券代码）相关，通过系统参数pn_stock()指定期权标的。

| 参数          | 类型      | 说明                                                                                                                      |
| ------------- | --------- | ------------------------------------------------------------------------------------------------------------------------- |
| `end_t`       | TDateTime | 日期,截止日期                                                                                                             |
| `day_type`    | integer   | 日期推算类型,1代表交易日，0代表自然日，用于算法一中选取近月合约的剩余天数的类型，默认为按自然日                           |
| `n`           | integer   | 整数,N日,用于算法一中选取近月合约时判断指定日到到期日之间的天数，即取剩余日大于N日的近月期权，与DayType搭配使用,默认为7日 |
| `option_type` | integer   | 主力的期权类型(认购、认沽、所有),默认所有，取值如下：                                                                     |
| `c_type`      | integer   | 主力的期权合约类型,默认所有，取值如下：                                                                                   |
| `n_type`      | integer   | 整数,档位,默认值为0，即取所有档位的，若取1档则给1，2档则给2，以此类推                                                     |
| `zl_type`     | integer   | 算法二中用于指定标的主力线合约类型,不给、或给0或nil值，则使用近月算法（即算法一），否则使用算法二：                       |

返回：Array,TableArray

### 示例

```tsl
//取50ETF期权在指定日的期权主力（近月算法）序列
setSysParam(pn_stock(),"SH510050");
return optionZlId3(20251112T);
//取50ETF期权在指定日的期权主力（近月算法,大于等于5个交易日的近月合约）序列
setSysParam(pn_stock(),"SH510050");
stocks:= optionZlId3(20251120T,1,5);
return stocks;
//取50ETF期权在指定日的期权主力（近月算法,大于等于5个交易日的近月合约）认购平值期权序列
setSysParam(pn_stock(),"SH510050");
stocks:= optionZlId3(20251120T,1,5,0,0);
return stocks;
//取50ETF期权在指定日的期权主力（近月算法,大于等于5个交易日的近月合约）认购实值期权二档序列
setSysParam(pn_stock(),"SH510050");
stocks:= optionZlId3(20251120T,1,5,-1,1,2);
return stocks;
//取50ETF期权在指定日的期权主力（标的主力算法,主力1）一档序列
setSysParam(pn_stock(),"CU");
stocks:= optionZlId3(20251120T,nil,nil,-1,-1,1,1);
return stocks;
```

## `optionCheckIdsEndT(index_id, end_t, option_type, ctype)`

返回指定日指定标的的平值、实值、虚值合约。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `ctype`       | Integer   | 用户自定义。合约类型，取值如下: |

返回：Array

### 示例

```tsl
return optionCheckIdsEndT('SH510050',20210331T,-1,0);
```

## `optionIsValueId(option_id, end_t, ctype)`

是否平值/实值/虚值合约。

| 参数        | 类型      | 说明                  |
| ----------- | --------- | --------------------- |
| `option_id` | String    | 字符串。期权代码      |
| `end_t`     | TDateTime | 日期。截止日期        |
| `ctype`     | Integer   | 用户自定义。取值如下: |

返回：Integer

### 示例

```tsl
// "OP10003265 50ETF购4月3600"在20210331日是否平值合约
return optionIsValueId("OP10003265",20210331T,0);
//返回：1
```

## `optionCheckValueIds(index_id, end_t, option_type, ctype)`

返回指定日指定标的的平值、实值、虚值合约；

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `ctype`       | Integer   | 用户自定义。合约类型，取值如下: |

返回：Array

### 示例

```tsl
return optionCheckValueIds('SH510050',20210331T,1,0);
```

## `optionsZlId(index_id, end_t, option_type, check_type, rank_num, ctype)`

返回指定日指定标的的期权主力合约，规则为：

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |
| `rank_num`    | Integer   | 整数。排名                      |
| `ctype`       | Integer   | 用户自定义。取值如下:           |

返回：String

### 示例

```tsl
return optionsZlId('SH510050',20210331T,-1,1,0);
//结果：OP10003264
```

## `optionZlId(index_id, end_t, option_type, check_type)`

返回指定日指定标的的期权主力合约，只适用于日线，规则为：1）昨日持仓量最大;2）昨日成交量最大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权主力合约
return optionZlId("SH510050",20210331T,0,-1);
//结果：OP10003266
```

## `optionZlId2(end_t, option_type, check_type)`

返回指定日指定标的的期权主力合约，与系统参数(股票)相关。只适用于日线，规则为：1）昨日持仓量最大；2）昨日成交量最大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权主力合约
setSysParam(pn_stock(),"SH510050");
return optionZlId2(20210331T,0,-1);
//结果：OP10003266
```

## `optionCzlId(index_id, end_t, option_type, check_type)`

返回指定日指定标的的期权次主力合约，只适用于日线，规则为：1）昨日持仓量第二大；2）昨日成交量第二大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权次主力合约
return optionCzlId("SH510050",20210331T,0,-1);
//结果：OP10003273
```

## `optionCzlId2(end_t, option_type, check_type)`

返回指定日指定标的的期权次主力合约，与系统参数(股票)有关。只适用于日线，规则为：1）昨日持仓量第二大；2）昨日成交量第二大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权次主力合约
setSysParam(pn_stock(),'SH510050');
return optionCzlId2(20210331T,0,-1);
//结果：OP10003273
```

## `optionFlatZlId(index_id, end_t, option_type, check_type)`

返回指定日指定标的的期权平值主力合约，只适用于日线，规则为：1）昨日持仓量最大；2）昨日成交量最大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权平值主力合约
return optionFlatZlId("SH510050",20210331T,0,0);
//结果：OP10003265
```

## `optionFlatZlId2(end_t, option_type, check_type)`

返回指定日指定标的的期权平值主力合约，与系统参数(股票)有关。只适用于日线，规则为：1）昨日持仓量最大；2）昨日成交量最大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权平值主力合约
setSysParam(pn_stock(),"SH510050");
return optionFlatZlId2(20210331T,0,0);
//结果：OP10003265
```

## `optionFlatCzlId(index_id, end_t, option_type, check_type)`

返回指定日指定标的的期权平值次主力合约，只适用于日线，规则为：1）昨日持仓量第二大；2）昨日成交量第二大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `index_id`    | String    | 字符串。标的代码                |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权平值次主力合约
return optionFlatCzlId("SH510050",20210331T,0,0);
//返回：OP10003274
```

## `optionFlatCzlId2(end_t, option_type, check_type)`

返回指定日指定标的的期权平值次主力合约，与系统参数(股票)相关。只适用于日线，规则为：1）昨日持仓量第二大；2）昨日成交量第二大。

| 参数          | 类型      | 说明                            |
| ------------- | --------- | ------------------------------- |
| `end_t`       | TDateTime | 日期。截止日期                  |
| `option_type` | Integer   | 用户自定义。期权类型，取值如下: |
| `check_type`  | Integer   | 用户自定义。筛选类型，取值如下: |

返回：String

### 示例

```tsl
// "SH510050"在20210331日的期权平值次主力合约
setSysParam(pn_stock(),"SH510050");
return optionFlatCzlId2(20210331T,0,0);
//返回：OP10003274
```

## `optionNearContractCallOtm1()`

期权标的近月认购虚一档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认购的近月虚值一档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractCallOtm1();
//结果："OP10005266"
```

## `optionNearContractPutItm1()`

期权标的近月认沽实一档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认沽的近月实值一档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractPutItm1();
//结果："OP10005275"
```

## `optionNearContractPutOtm1()`

期权标的近月认沽虚一档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认沽的近月虚值一档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractPutOtm1();
//结果："OP10005273"
```

## `optionNearContractPutOtm2()`

期权标的近月认沽虚二档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认沽的近月虚值二档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractPutOtm2();
//结果："OP10005272"
```

## `OP_SelectOptionData(stock_id, endt)`

标的指定日交易的期权合约列表信息

| 参数       | 类型     | 说明              |
| ---------- | -------- | ----------------- |
| `stock_id` | string   | 证券,期权品种代码 |
| `endt`     | datetime | 日期,截止日       |

返回：array

## `optionNearContractCallOtm2()`

期权标的近月认购虚二档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认购的近月虚值二档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractCallOtm2();
//结果："OP10005267"
```

## `optionNearContractCallItm1()`

期权标的近月认购实一档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认购的近月实值一档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractCallItm1();
//结果："OP10005264"
```

## `optionNearContractCallItm2()`

期权标的近月认购实二档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认购的近月实值二档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractCallItm2();
//结果："OP10005263"
```

## `optionNearContractPutItm2()`

期权标的近月认沽实二档合约，与系统参数(证券代码、时间)相关。

返回：String

### 示例

```tsl
//返回50ETF为标的，20230511T交易类型为认沽的近月实值二档期权合约
setSysParam(pn_stock(),"SH510050");
setSysParam(pn_date(),20230511T);
return optionNearContractPutItm2();
//结果："OP10005276"
```

## `OP_SelectOption(stock_id, endt, option_type, maturity_date_type, ctype, ntpye)`

标的指定条件交易的期权合约列表

| 参数                 | 类型     | 说明                            |
| -------------------- | -------- | ------------------------------- |
| `stock_id`           | string   | 字符串。期权品种代码            |
| `endt`               | datetime | 日期。截止日                    |
| `option_type`        | any      | 用户自定义。期权类型，取值如下: |
| `maturity_date_type` | any      | 整数。到期日类型                |
| `ctype`              | any      | 用户自定义。合约类型，取值如下: |
| `ntpye`              | any      | 整数。档位                      |

返回：array

## `OP_GetOptionChainList(stock_id, exercise_way, option_type)`

通过指定行权方式和期权类型获取标的的期权合约列表。

| 参数           | 类型   | 说明                            |
| -------------- | ------ | ------------------------------- |
| `stock_id`     | string | 字符串。期权标的代码            |
| `exercise_way` | any    | 用户自定义。行权方式，取值如下: |
| `option_type`  | any    | 用户自定义。期权类型，取值如下: |

返回：array

## `optionGetAidByDate(option_id, endt)`

通过期权代码获取ETF期权分红后A合约代码

| 参数        | 类型      | 说明          |
| ----------- | --------- | ------------- |
| `option_id` | String    | 证券,期权代码 |
| `endt`      | TDateTime | 日期,截止日期 |

返回：real

### 示例

```tsl
// 获取期权"OP10008745"标的在20250116分红后的A合约代码
option_id:="OP10008745";
endt:=20250116T;
return optionGetAidByDate(option_id,endt);
//结果：OP10008621
```

## `optionGetMidByDate(option_id, endt)`

通过期权代码获取ETF期权分红后M合约代码

| 参数        | 类型      | 说明          |
| ----------- | --------- | ------------- |
| `option_id` | String    | 证券,期权代码 |
| `endt`      | TDateTime | 日期,截止日期 |

返回：real

### 示例

```tsl
// 获取期权"OP10008621"标的在20250116分红后的M合约代码
option_id:="OP10008621";
endt:=20250116T;
return optionGetMidByDate(option_id,endt);
//结果：OP10008745
```

## `optionGetDepositByDate(option_id, endt, open_interest, is_open)`

获取指定日期权保证金，考虑开仓、维持两种情况。

| 参数            | 类型      | 说明                |
| --------------- | --------- | ------------------- |
| `option_id`     | String    | 证券,期权代码       |
| `endt`          | TDateTime | 日期,截止日期       |
| `open_interest` | Integer   | 整数,持仓量         |
| `is_open`       | Integer   | 用户自定义,是否开仓 |

返回：real

### 示例

```tsl
// 开仓10张空头期权"OP10008621"在20250116需要缴纳的保证金
option_id:="OP10008621";
endt:=20250116T;
open_interest:=10;
return optionGetDepositByDate(option_id,endt,open_interest,0);
//结果：9450.1972
```

## `Warrant_WCChangeSizeField()`

权证创设-规模增减。根据数据库提供商返回对应的值

返回：string

## `Warrant_WCIssuerField()`

权证创设-创设机构。根据数据库提供商返回对应的值

返回：string

## `Warrant_WCCirculationField()`

权证创设-创设规模。根据数据库提供商返回对应的值

返回：string

## `Warrant_WCTypeField()`

权证创设-创设类型。根据数据库提供商返回对应的值

返回：string

## `Warrant_WCDeclareDateField()`

权证创设-信息发布日。根据数据库提供商返回对应的值

返回：string

## `Warrant_WCEndDateField()`

权证创设-生效日。根据数据库提供商返回对应的值

返回：string

## `Warrant_WCReasonField()`

权证创设-变动原因。根据数据库提供商返回对应的值

返回：string

## `Warrant_WECirculationField()`

权证行权价-权证规模。根据数据库提供商返回对应的值

返回：string

## `Warrant_WEReasonField()`

权证行权价-变更原因。根据数据库提供商返回对应的值

返回：string

## `Warrant_WEDeclareDateField()`

权证行权价-信息发布日。根据数据库提供商返回对应的值

返回：string

## `Warrant_WEExercisePriceField()`

权证行权价-行权价。根据数据库提供商返回对应的值

返回：string

## `Warrant_WEEndDateField()`

权证行权价-生效日。根据数据库提供商返回对应的值

返回：string

## `Warrant_WEExerciseRateField()`

权证行权价-行权比例。根据数据库提供商返回对应的值

返回：string

## `OP_UnilateralAmount(endt)`

期权成交金额(元)，与系统参数（证券代码）相关。

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

返回：float

## `OP_UnilateralOpeninterest(endt)`

期权单边持仓量(手)，与系统参数（证券代码）相关。周期为高频时，表示周期内的持仓变动

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

返回：any

## `OP_UnilateralVol(endt)`

期权单边成交量(手)，与系统参数（证券代码）相关。

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

返回：float

## `getContractMultiplier()`

证券合约单位，与系统参数(证券、时间相关)

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),'IF2301');
setSysParam(pn_date(),intToDate(20230105));
return getContractMultiplier();
//结果：300
```

## `getMarginRatio()`

期权、期货的保证金比例Ⅱ(%)，与系统参数(证券、时间相关)

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),'IO2306-C-3100');
setSysParam(pn_date(),intToDate(20230105));
return getMarginRatio();
//结果：12
```

## `getMarginRatio2()`

期权保证金比例Ⅱ(%)，与系统参数(证券、时间相关)

返回：Real

### 示例

```tsl
setSysParam(pn_stock(),'IO2306-C-3100');
setSysParam(pn_date(),intToDate(20230105));
return getMarginRatio2();
//结果：50
```

## `depositOfOption(option_id, option_price, stock_price, p1, p2)`

期权单位保证金，与系统参数时间有关

| 参数           | 类型   | 说明                   |
| -------------- | ------ | ---------------------- |
| `option_id`    | String | 字符串类型，期权代码   |
| `option_price` | Real   | 实数，期权价格         |
| `stock_price`  | Real   | 实数，期权标的证券价格 |
| `p1`           | Real   | 实数，保证金比例(%)    |
| `p2`           | Real   | 实数，保证金比例Ⅱ(%)   |

返回：Real

### 示例

```tsl
setSysParam(pn_date(),intToDate(20230104));
option_id:='OP10004679';
option_price:=0.4855;
stock_price:=2.66;
p1:=12;
p2:=7;
return depositOfOption(option_id,option_price,stock_price,p1,p2);
//结果：0.8047
```

## `depositOfSecurity(stock_id, position, price, price2, margin, margin2, stockvol, stockunit)`

证券保证金计算，与系统参数时间有关

| 参数        | 类型    | 说明                       |
| ----------- | ------- | -------------------------- |
| `stock_id`  | String  | 字符串，期权、期货合约代码 |
| `position`  | Integer | 整数，持仓头寸             |
| `price`     | Real    | 实数，期权、期货合约价格   |
| `price2`    | Real    | 实数，期权标的证券价格     |
| `margin`    | Real    | 实数，保证金比例(%)        |
| `margin2`   | Real    | 实数，保证金比例Ⅱ(%)       |
| `stockvol`  | Real    | 实数，持仓数量             |
| `stockunit` | Real    | 实数，合约单位             |

返回：Real

### 示例

```tsl
//期权保证金
setSysParam(pn_date(),intToDate(20230104));
stock_id:='OP10004679';
position:=0;
price:=0.4855;
price2:=2.66;
margin:=12;
margin2:=7;
stockvol:=100;
stockunit:=10142;
return depositOfSecurity(stock_id,position,price,price2,margin,margin2,stockvol,stockunit);
//结果：816126.74
范例二：
//期货保证金
setSysParam(pn_date(),intToDate(20230104));
stock_id:='IF01';
position:=1;
price:=3895;
price2 :=0;
margin:=8;
margin2:=0;
stockvol:=100;
stockunit:=300;
return depositOfSecurity(stock_id,position,price,price2,margin,margin2,stockvol,stockunit);
//结果：9348000
```

## `getTradeDeposit(tjy)`

计算交易保证金

| 参数  | 类型       | 说明                 |
| ----- | ---------- | -------------------- |
| `tjy` | TableArray | 数据表类型，交易数据 |

返回：TableArray

### 示例

```tsl
tjy:=array(
("截止日":44930.0,"代码":"SZ000001","方向":1.0,"动作":0,"乘数":1.0,"保证金比例(%)":100.0,"保证金比例II(%)":0,"成交量":10000.0,"成交价":14.32),
("截止日":44930.0,"代码":"IF01","方向":1.0,"动作":0,"乘数":300.0,"保证金比例(%)":8.0,"保证金比例II(%)":0,"成交量":100.0,"成交价":3895.0),
("截止日":44930.0,"代码":"OP10004688","方向":1.0,"动作":0,"乘数":10142.0,"保证金比例(%)":12.0,"保证金比例II(%)":7.0,"成交量":100.0,"成交价":0.0142),
("截止日":44930.0,"代码":"OP10004679","方向":0,"动作":0,"乘数":10142.0,"保证金比例(%)":12.0,"保证金比例II(%)":7.0,"成交量":100.0,"成交价":0.473),
("截止日":44930.0,"代码":"CF307C14000","方向":0,"动作":0,"乘数":5.0,"保证金比例(%)":5.0,"保证金比例II(%)":0,"成交量":100.0,"成交价":877.0)
);
getTradeDeposit(tjy);
return tjy;
//结果
```

## `depositOfOptionByGroup(option, option_id, position, option_id2, position2, price, price2, stock_price, p1, p2, margin, stockvol, stockunit)`

期权组合保证金计算，与系统参数时间有关

| 参数          | 类型    | 说明                                       |
| ------------- | ------- | ------------------------------------------ |
| `option`      | Integer | 整数，组合保证金计算方式                   |
| `option_id`   | String  | 字符串，期权组合成分合约1                  |
| `position`    | Integer | 整数，期权组合成分合约1头寸                |
| `option_id2`  | String  | 字符串，期权组合成分合约2                  |
| `position2`   | Integer | 整数，期权组合成分合约2头寸                |
| `price`       | Real    | 实数，期权组合成份合约1价格                |
| `price2`      | Real    | 实数，期权组合成份合约2价格                |
| `stock_price` | Real    | 实数，期权成分合约1和成分合约2标的证券价格 |
| `p1`          | Real    | 实数，期权保证金比例(%)                    |
| `p2`          | Real    | 实数，期权保证金比例Ⅱ(%)                   |
| `margin`      | Real    | 实数，保证金系数                           |
| `stockvol`    | Real    | 实数，组合数量                             |
| `stockunit`   | Real    | 实数，期权合约单位                         |

返回：Real

### 示例

```tsl
//这两个合约构成认沽熊市价差策略PNSJC
//PNSJC组合策略的保证金计算方式是：两个期权合约的行权价之差
setSysParam(pn_date(),intToDate(20190731));
option:=1;
option_id:='OP10001902';
position:=1;
option_id2:='OP10001906';
position2:=0;
price:=spec(settlement(),option_id);
price2:=spec(settlement(),option_id2);
//两个期权合约标的物SH510050
stock_price:=spec(close(),'SH510050');
p1:=12;
p2:=7;
margin:=0;
stockvol:=5;
stockunit:=10000;
return depositOfOptionByGroup(option,option_id,position,option_id2,position2,price,price2,stock_price,p1,p2,margin,stockvol,stockunit);
//结果：5000
```

## `getGroupDeposit(idtype, option_id, position, option_id2, position2, price, price2, stock_price, p1, p2, stockvol, stockunit)`

期权组合保证金计算，与系统参数时间有关

| 参数          | 类型    | 说明                                       |
| ------------- | ------- | ------------------------------------------ |
| `idtype`      | String  | 字符串，组合类型                           |
| `option_id`   | String  | 字符串，期权组合成分合约1                  |
| `position`    | Integer | 整数，期权组合成分合约1头寸                |
| `option_id2`  | String  | 字符串，期权组合成分合约2                  |
| `position2`   | Integer | 整数，期权组合成分合约2头寸                |
| `price`       | Real    | 实数，期权组合成份合约1价格                |
| `price2`      | Real    | 实数，期权组合成份合约2价格                |
| `stock_price` | Real    | 实数，期权成分合约1和成分合约2标的证券价格 |
| `p1`          | Real    | 实数，期权保证金比例(%)                    |
| `p2`          | Real    | 实数，期权保证金比例Ⅱ(%)                   |
| `stockvol`    | Real    | 实数，组合数量                             |
| `stockunit`   | Real    | 实数，期权合约单位                         |

返回：Real

### 示例

```tsl
//这两个合约构成认沽熊市价差策略PNSJC
setSysParam(pn_date(),intToDate(20190731));
idtype:='PNSJC';
option_id:='OP10001902';
position:=1;
option_id2:='OP10001906';
position2:=0;
price:=spec(settlement(),option_id);
price2:=spec(settlement(),option_id2);
//两个期权合约标的物SH510050
stock_price:=spec(close(),'SH510050');
p1:=12;
p2:=7;
stockvol:=5;
stockunit:=10000;
return getGroupDeposit(idtype,option_id,position,option_id2,position2,price,price2,stock_price,p1,p2,stockvol,stockunit);
//结果：5000
```

## `getLowestFee(v_amount, fee_rate, action, lowest_fee_type, o_lowest_fee, c_lowest_fee)`

计算费用，若用户选择启用最低费用，则当根据费率计算的费用不足最低费用，则返回最低费

| 参数              | 类型    | 说明                       |
| ----------------- | ------- | -------------------------- |
| `v_amount`        | Real    | 实数，成交金额（税前）     |
| `fee_rate`        | Real    | 实数，费率(%)              |
| `action`          | Integer | 整数，动作                 |
| `lowest_fee_type` | Integer | 整数，是否启用最低费用限制 |
| `o_lowest_fee`    | Real    | 实数，最低开仓费用         |
| `c_lowest_fee`    | Real    | 实数，最低平仓费用         |

返回：Real

### 示例

```tsl
return array(
'不启用最低费用':getLowestFee(999536,0.01,0,0,100,100),
'启用最低费用': getLowestFee(999536,0.01,0,1,100,100)
);
//结果：array("不启用最低费用":99.9536,"启用最低费用":100)
```

## `B_SOfStock(option_type, s, x, r, std, t)`

B-S定价（股票期权），参考资料： <<期权.期货和其它衍生产品>> John C. Hull 华夏出版社P218页

| 参数          | 类型  | 说明                              |
| ------------- | ----- | --------------------------------- |
| `option_type` | any   | 用户自定义，期权类型，含义如下表: |
| `s`           | float | 实数，标的现价                    |
| `x`           | float | 实数，执行价                      |
| `r`           | float | 实数，无风险年利率（%）           |
| `std`         | float | 实数，年波动率（%）               |
| `t`           | float | 实数，期限（月）                  |

返回：array

## `B_SofIndex(option_type, s, x, r, rf, std, t)`

B-S定价（指数期权），参考资料： <<期权.期货和其它衍生产品>> John C. Hull 华夏出版社P242页

| 参数          | 类型  | 说明                              |
| ------------- | ----- | --------------------------------- |
| `option_type` | any   | 用户自定义，期权类型，含义如下表: |
| `s`           | float | 实数，现价                        |
| `x`           | float | 实数，执行价                      |
| `r`           | float | 实数，无风险年利率（%）           |
| `rf`          | float | 实数，平均红利年收益率（%）       |
| `std`         | float | 实数，年波动率（%）               |
| `t`           | float | 实数，期限（月）                  |

返回：array

## `B_SofCoin(option_type, s, x, r, rf, std, t)`

对外汇期权使用 BS方法进行定价

| 参数          | 类型  | 说明                                                     |
| ------------- | ----- | -------------------------------------------------------- |
| `option_type` | any   | 期权类型，整数类型；0:看涨；1:看跌                       |
| `s`           | float | 标的现价，实数类型                                       |
| `x`           | float | 期权的行权价，实数类型                                   |
| `r`           | float | 无风险年利率(%)，实数类型                                |
| `rf`          | float | 货币无风险年利率(%)，实数类型                            |
| `std`         | float | 年波动率(%)，实数类型                                    |
| `t`           | float | 剩余存续期(月)，到期权到期日前的剩余的有效期限，实数类型 |

返回：array

## `B_SofFuture(option_type, s, x, r, std, t)`

B-S定价（期货期权），参考资料： <<期权.期货和其它衍生产品>> John C. Hull 华夏出版社P249页

| 参数          | 类型  | 说明                              |
| ------------- | ----- | --------------------------------- |
| `option_type` | any   | 用户自定义，期权类型，含义如下表: |
| `s`           | float | 实数，现价                        |
| `x`           | float | 实数，执行价                      |
| `r`           | float | 实数，无风险年利率（%）           |
| `std`         | float | 实数，年波动率（%）               |
| `t`           | float | 实数，期限（月）                  |

返回：array

## `B_SOfStock_1(option_type, s, x, r, close, t)`

B-S定价（股票期权）隐含波动率，参考资料： <<期权.期货和其它衍生产品>> John C. Hull 华夏出版社P218页

| 参数          | 类型  | 说明                              |
| ------------- | ----- | --------------------------------- |
| `option_type` | any   | 用户自定义，期权类型，含义如下表: |
| `s`           | float | 实数，现价                        |
| `x`           | float | 实数，执行价                      |
| `r`           | float | 实数，无风险年利率（%）           |
| `close`       | float | 实数，权证实际交易价格            |
| `t`           | float | 实数，期限（月）                  |

返回：array

## `Black_Scholes(contract_type, option_type, s, x, r1, std1, t, rf1)`

Black-Scholes定价，参考资料： <<期权.期货和其它衍生产品>> John C. Hull 华夏出版社P218页

| 参数            | 类型  | 说明                                                           |
| --------------- | ----- | -------------------------------------------------------------- |
| `contract_type` | any   | 用户自定义，期权品种类型，含义如下表:                          |
| `option_type`   | any   | 用户自定义，期权类型，含义如下表:                              |
| `s`             | float | 实数，现价                                                     |
| `x`             | float | 实数，执行价                                                   |
| `r1`            | float | 实数，无风险年利率（%）                                        |
| `std1`          | float | 实数，年波动率（%）                                            |
| `t`             | float | 实数，期限（月）                                               |
| `rf1`           | float | 实数，货币无风险年利率（%）或指数期权的股票组合红利收益率（%） |

返回：array

## `B_SOfStock_IV(option_type, s, x, r, close, t)`

由股票期权交易价格依据 BS定价模型倒推出股票的隐含波动率

| 参数          | 类型  | 说明                                                     |
| ------------- | ----- | -------------------------------------------------------- |
| `option_type` | any   | 期权类型，整数类型；0:看涨；1:看跌                       |
| `s`           | float | 标的现价，实数类型                                       |
| `x`           | float | 期权的行权价，实数类型                                   |
| `r`           | float | 无风险年利率(%)，实数类型                                |
| `close`       | float | 期权实际交易价格，实数类型                               |
| `t`           | float | 剩余存续期(月)，到期权到期日前的剩余的有效期限，实数类型 |

返回：float

## `OP_GetOptionList(stock_id, endt)`

得到endT市场上标的为StockID的所有期权合约列表

| 参数       | 类型     | 说明                              |
| ---------- | -------- | --------------------------------- |
| `stock_id` | string   | 证券,期权标的，多个标的用分号隔开 |
| `endt`     | datetime | 日期,截止日期                     |

返回：array

## `OperatingProfitGrowRatio_12(r_date)`

最近12个月的营业利润增长率(%)。 （1）营业利润数据取自合并利润分配表； （2）V1：RDate报告期最近12个月的营业利润； （3）V2：上年同期PRDate最近12个月的营业利润； （4）最近12个月的营业利润增长率(%)=(V1-V2)/abs(V2)\*100。

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

返回：float

## `OperatingProfitToMainOperationRatio_12(r_date)`

最近12个月的营业利润率(%)。 （1）营业利润率（%）=营业利润/营业收入\*100； （2）营业利润和营业收入都取自合并利润分配表，根据最近12个月的算法，可以得到最近12个月的营业利润V1和最近12个月的营业收入V2【注1】； （3）最近12个月的营业利润率(%)=V1/V2\*100。

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

返回：float

## `OperatingExpensesRatio_12(r_date)`

最近12个月的营业费用比例(%)。 （1）营业费用比例（%）=营业费用/营业收入\*100； （2）营业费用和营业收入都取自合并利润分配表，根据最近12个月的算法，可以得到最近12个月的营业费用V1和最近12个月的营业收入V2【注1】； （3）最近12个月的营业费用比例(%)=V1/V2\*100。

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

返回：float

## `OperatingProfit_12(r_date)`

最近12个月的营业利润。 （1）营业利润取自合并利润分配表； （2）根据最近12个月的算法得到最近12个月的营业利润【注1】。

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

返回：float

## `OperatingExpenses_12(r_date)`

最近12个月的营业费用。 （1）营业费用取自合并利润分配表； （2）根据最近12个月的算法得到最近12个月的营业费用【注1】。

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

返回：float

## `OperatingProfit2_12(r_date)`

最近12月营业利润(业绩快报)，与系统参数(股票)相关。

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

返回：float

## `OperatingProfitToMainOperationRatio_Year(r_date, n)`

最近N年的营业利润率(%)。 （1）取向后兼容的最新年报Q1，取N-1年前同期的年报Q2； （2）从合并利润分配表中取Q2报告期的营业利润v1，以及营业收入v2； （3）最近N年的营业利润率(%)=v1/v2\*100。

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

返回：float

## `OperatingExpensesRatio_Year(r_date, n)`

最近N年的营业费用比例(%)。 （1）取向后兼容的最新年报Q1，取N-1年前同期的年报Q2； （2）从合并利润分配表中取Q2报告期的营业费用v1，以及营业收入v2； （3）最近N年的营业费用比例(%)=v1/v2\*100。

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

返回：float

## `OperatingProfit_Year(r_date, n)`

最近N年的营业利润。 （1）取向后兼容的最新年报Q1，取N-1年前同期的年报Q2； （2）在合并利润分配表取Q2报告期的营业利润。

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

返回：float

## `OperatingExpenses_Year(r_date, n)`

最近N年的营业费用。 （1）取向后兼容的最新年报Q1，取N-1年前同期的年报Q2； （2）在合并利润分配表取Q2报告期的营业费用。

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

返回：float

## `OperatingExpenses_Q(r_date)`

计算指定报告期最近1季度的营业费用。 根据季度数据的算法【注3】，函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流，计算最近1季度的营业费用。

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

返回：float

## `OperatingProfit_Q(r_date)`

提取股票的指定报告期的营业利润，与系统股票pn_stock()、当前时间pn_date()相关。

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

返回：float

## `OperatingProfit2_Q(r_date)`

营业利润(业绩快报)，与系统参数(股票)相关。

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

返回：float

## `Black_Scholes_America(contract_type, option_type, s, x, r, std, t, q)`

对期权使用BAW方法进行定价，推荐使用，会返回期权价值以及各个风险指标。

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |

返回：array

## `Black_Scholes_America_Price(contract_type, option_type, s, x, r, std, t, q, return_type)`

对期权使用BAW方法进行定价，返回期权价值

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |
| `return_type`   | any   | 返回类型。默认为0只返回期权价值。为1时还会返回相关的一些计算数据，无特殊需求无需设置此参数。                                               |

返回：float

## `Black_Scholes_America_Delta(contract_type, option_type, s, x, r, std, t, q)`

对期权使用BAW方法进行定价，返回Delta值

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |

返回：float

## `Black_Scholes_America_Gamma(contract_type, option_type, s, x, r, std, t, q)`

对期权使用BAW方法进行定价，返回Gamma值

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |

返回：float

## `Black_Scholes_America_Theta(contract_type, option_type, s, x, r, std, t, q)`

对期权使用BAW方法进行定价，返回Theta值

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |

返回：float

## `Black_Scholes_America_Vega(contract_type, option_type, s, x, r, std, t, q)`

对期权使用BAW方法进行定价，返回Vega值

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |

返回：float

## `Black_Scholes_America_Rho(contract_type, option_type, s, x, r, std, t, q)`

对期权使用BAW方法进行定价，返回Rho值

| 参数            | 类型  | 说明                                                                                                                                       |
| --------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type` | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`   | any   | 用户自定义,期权类型                                                                                                                        |
| `s`             | float | 标的现价，实数类型                                                                                                                         |
| `x`             | float | 期权的行权价，实数类型                                                                                                                     |
| `r`             | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `std`           | float | 年波动率(%)，实数类型                                                                                                                      |
| `t`             | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`             | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |

返回：float

## `Black_Scholes_America_IV(contract_type, option_type, s, x, r, option_price, t, q, sigma_seed, accuracy, max_iterations)`

由BAW模型倒推出美式期权的隐含波动率(%)

| 参数             | 类型  | 说明                                                                                                                                       |
| ---------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `contract_type`  | any   | 用户自定义,期权品种类型                                                                                                                    |
| `option_type`    | any   | 用户自定义,期权类型                                                                                                                        |
| `s`              | float | 标的现价，实数类型                                                                                                                         |
| `x`              | float | 期权的行权价，实数类型                                                                                                                     |
| `r`              | float | 无风险年利率(%)，实数类型                                                                                                                  |
| `option_price`   | float | 期权价格，实数类型                                                                                                                         |
| `t`              | float | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                   |
| `q`              | float | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率。 |
| `sigma_seed`     | float | 迭代初值，隐含波动率(%)，应为0到100之间的值，可缺省，默认取50。                                                                            |
| `accuracy`       | float | 迭代精确度，实数类型，可缺省，默认取1E-6。                                                                                                 |
| `max_iterations` | any   | 最大迭代次数，整数类型，可缺省，默认取1000。                                                                                               |

返回：float

## `OP_IV_BAW(rf)`

使用BAW模型反推隐含波动率，与系统参数相关

| 参数 | 类型  | 说明                                                                                                                                                                                                                          |
| ---- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rf` | float | 连续分红率(%)；备注:该模型效率不高，美式期权存在一些情形无隐含波动率，在部分场景下和BS类似会出现无解或者解不正确的情况。通常情况下，BAW的计算结果与BS的计算结果会有差异，但差异不大，无特殊需求可以直接用BS的结果（效率较高） |

返回：float

## `Options_Vol_Sum(option_arr, op_type)`

多个期权成交量之和，与系统时间、周期相关

| 参数         | 类型  | 说明                     |
| ------------ | ----- | ------------------------ |
| `option_arr` | array | 多个期权代码，数组类型   |
| `op_type`    | any   | 期权类型，整型，取值如下 |

返回：any

## `Options_Vol_PCR(option_arr)`

多个期权成交量PCR，与系统时间、周期相关

| 参数         | 类型  | 说明                   |
| ------------ | ----- | ---------------------- |
| `option_arr` | array | 多个期权代码，数组类型 |

返回：float

## `Options_OpenInterest_Sum(option_arr, op_type)`

多个期权持仓量之和，与系统时间、周期相关

| 参数         | 类型  | 说明                     |
| ------------ | ----- | ------------------------ |
| `option_arr` | array | 多个期权代码，数组类型   |
| `op_type`    | any   | 期权类型，整型，取值如下 |

返回：any

## `Options_OpenInterest_PCR(option_arr)`

多个期权持仓量PCR，与系统时间、周期相关

| 参数         | 类型  | 说明                   |
| ------------ | ----- | ---------------------- |
| `option_arr` | array | 多个期权代码，数组类型 |

返回：float

## `Options_Amount_Sum(option_arr, op_type)`

多个期权成交金额之和，与系统时间、周期相关

| 参数         | 类型  | 说明                     |
| ------------ | ----- | ------------------------ |
| `option_arr` | array | 多个期权代码，数组类型   |
| `op_type`    | any   | 期权类型，整型，取值如下 |

返回：float

## `Options_Amount_PCR(option_arr)`

多个期权成交金额PCR，与系统时间、周期相关

| 参数         | 类型  | 说明                   |
| ------------ | ----- | ---------------------- |
| `option_arr` | array | 多个期权代码，数组类型 |

返回：float

## `Options_SectionVol_Sum(option_arr, op_type)`

多个期权累计成交量之和，与系统时间、周期相关，常用于高频周期，日线下结果与Options_Vol_Sum结果一致

| 参数         | 类型  | 说明                     |
| ------------ | ----- | ------------------------ |
| `option_arr` | array | 多个期权代码，数组类型   |
| `op_type`    | any   | 期权类型，整型，取值如下 |

返回：any

## `Options_SectionVol_PCR(option_arr)`

多个期权累计成交量PCR，与系统时间、周期相关，常用于高频周期，日线下结果与Options_Vol_PCR结果一致

| 参数         | 类型  | 说明                   |
| ------------ | ----- | ---------------------- |
| `option_arr` | array | 多个期权代码，数组类型 |

返回：float

## `Options_SectionAmount_Sum(option_arr, op_type)`

多个期权累计成交金额之和，与系统时间、周期相关，常用于高频周期，日线下结果与Options_Amount_Sum结果一致

| 参数         | 类型  | 说明                     |
| ------------ | ----- | ------------------------ |
| `option_arr` | array | 多个期权代码，数组类型   |
| `op_type`    | any   | 期权类型，整型，取值如下 |

返回：float

## `Options_SectionAmount_PCR(option_arr)`

多个期权累计成交金额PCR，与系统时间、周期相关，常用于高频周期，日线下结果与Options_Amount_PCR结果一致

| 参数         | 类型  | 说明                   |
| ------------ | ----- | ---------------------- |
| `option_arr` | array | 多个期权代码，数组类型 |

返回：float

## `Options_IV(option_arr, op_type, iv_method)`

多个期权隐含波动率(%)，与系统时间、周期相关

| 参数         | 类型  | 说明                       |
| ------------ | ----- | -------------------------- |
| `option_arr` | array | 多个期权代码，数组类型     |
| `op_type`    | any   | 期权类型，整型，取值如下   |
| `iv_method`  | any   | IV计算方法，整型，取值如下 |

返回：float

## `Options_Skew(option_arr, op_type, interp_method)`

多个期权Skew，与系统时间、周期相关

| 参数            | 类型   | 说明                                                                                  |
| --------------- | ------ | ------------------------------------------------------------------------------------- |
| `option_arr`    | array  | 多个期权代码，数组类型                                                                |
| `op_type`       | any    | 期权类型，整型，取值如下                                                              |
| `interp_method` | string | 插值方法，字符串类型，详情可参考Interp函数说明，用于提取指定Delta期权下的IV，取值如下 |

返回：float

## `Options_PCIVD(option_arr, iv_method)`

多个期权隐波差(%)，与系统时间、周期相关

| 参数         | 类型  | 说明                       |
| ------------ | ----- | -------------------------- |
| `option_arr` | array | 多个期权代码，数组类型     |
| `iv_method`  | any   | IV计算方法，整型，取值如下 |

返回：float

## `Options_MarketExp_Detail(option_arr, op_type, exp_arr)`

多个期权市场指标详情，目前仅支持同一品种的多个期权，与系统时间、周期相关

| 参数         | 类型  | 说明                                                                                    |
| ------------ | ----- | --------------------------------------------------------------------------------------- |
| `option_arr` | array | 多个期权代码，数组类型                                                                  |
| `op_type`    | any   | 期权类型，整型，取值如下                                                                |
| `exp_arr`    | any   | 指标表达式，数组类型，元素为表达式类型，如array(“成交量”:@vol(),“成交金额”:@amonut())。 |

返回：array

## `Options_IVCal_Detail(option_arr, op_type, iv_method)`

多个期权隐含波动率计算详情，与系统时间、周期相关，返回每个期权的期权类型、成交量、持仓量、成交金额、隐含波动率、vega、Delta、行权价、标的价格等关键数据

| 参数         | 类型  | 说明                       |
| ------------ | ----- | -------------------------- |
| `option_arr` | array | 多个期权代码，数组类型     |
| `op_type`    | any   | 期权类型，整型，取值如下   |
| `iv_method`  | any   | IV计算方法，整型，取值如下 |

返回：array

## `OPPZ_Options_Screening(op_type, maturity_date, value_state, value_state_method)`

品种期权筛选，与系统证券、时间相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：array

## `OPPZ_Vol_Sum(op_type, maturity_date, value_state, value_state_method)`

品种期权成交量之和，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：any

## `OPPZ_Vol_PCR(maturity_date, value_state, value_state_method)`

品种期权成交量PCR，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：float

## `OPPZ_OpenInterest_Sum(op_type, maturity_date, value_state, value_state_method)`

品种期权持仓量之和，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：any

## `OPPZ_OpenInterest_PCR(maturity_date, value_state, value_state_method)`

品种期权持仓量PCR，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：float

## `OPPZ_Amount_Sum(op_type, maturity_date, value_state, value_state_method)`

品种期权成交金额之和，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：any

## `OPPZ_Amount_PCR(maturity_date, value_state, value_state_method)`

品种期权成交金额PCR，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：float

## `OPPZ_SectionVol_Sum(op_type, maturity_date, value_state, value_state_method)`

品种期权累计成交量之和，与系统证券、时间、周期相关，常用于高频周期，日线下结果与OPPZ_Vol_Sum结果一致

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：any

## `OPPZ_SectionVol_PCR(maturity_date, value_state, value_state_method)`

品种期权累计成交量PCR，与系统证券、时间、周期相关，常用于高频周期，日线下结果与OPPZ_Vol_PCR结果一致

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：float

## `OPPZ_SectionAmount_Sum(op_type, maturity_date, value_state, value_state_method)`

品种期权累计成交金额之和，与系统证券、时间、周期相关，常用于高频周期，日线下结果与OPPZ_Amount_Sum结果一致

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：any

## `OPPZ_SectionAmount_PCR(maturity_date, value_state, value_state_method)`

品种期权累计成交金额PCR，与系统证券、时间、周期相关，常用于高频周期，日线下结果与OPPZ_Amount_PCR结果一致

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | any      | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |

返回：float

## `OPPZ_IV(op_type, maturity_date, value_state, value_state_method, iv_method)`

品种期权隐含波动率，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | float    | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |
| `iv_method`          | any      | IV计算方法，整型，取值如下                                                                                                 |

返回：float

## `OPPZ_Skew(op_type, maturity_date, value_state, value_state_method, interp_method)`

品种期权Skew，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | float    | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |
| `interp_method`      | string   | 插值方法，字符串类型，详情可参考Interp函数说明，用于提取指定Delta期权下的IV，取值如下                                      |

返回：float

## `OPPZ_PCIVD(maturity_date, value_state, value_state_method, iv_method)`

品种期权隐波差(%)，与系统证券、时间、周期相关

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | float    | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |
| `iv_method`          | any      | IV计算方法，整型，取值如下                                                                                                 |

返回：float

## `OPPZ_Underlying_RV(rsp_cycle, n)`

标的资产已实现波动率(%)，与系统证券、时间相关，目前仅支持日线

| 参数        | 类型 | 说明               |
| ----------- | ---- | ------------------ |
| `rsp_cycle` | any  | 采样频率，周期类型 |
| `n`         | any  | 历史计算天数，整型 |

返回：float

## `OPPZ_VRP1(rsp_cycle, n)`

方差风险溢价方法1：使用iVX指数计算，与系统证券、时间相关，当前仅支持日线

| 参数        | 类型 | 说明               |
| ----------- | ---- | ------------------ |
| `rsp_cycle` | any  | 采样频率，周期类型 |
| `n`         | any  | 历史计算天数，整型 |

返回：float

## `OPPZ_VRP2(op_type, maturity_date, value_state, value_state_method, iv_method, rsp_cycle, n)`

方差风险溢价方法2：使用IV加权计算，与系统证券、时间相关，当前仅支持日线

| 参数                 | 类型     | 说明                                                                                                                       |
| -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `op_type`            | any      | 期权类型，整型，取值如下                                                                                                   |
| `maturity_date`      | datetime | 到期日，整型                                                                                                               |
| `value_state`        | float    | 价值状态，实数 or 数组，期权价值状态=行权价/标的资产价格（K/S），比如价值状态=1表示平值期权，0或缺省表示所有价值状态的期权 |
| `value_state_method` | float    | 价值状态选取方法，整型，当ValueState取非0实数时使用，用于选取指定价值状态ValueState下的期权，取值如下                      |
| `iv_method`          | any      | IV计算方法，整型，取值如下                                                                                                 |
| `rsp_cycle`          | any      | 采样频率，周期类型                                                                                                         |
| `n`                  | any      | 历史计算天数，整型                                                                                                         |

返回：float

## `option_baseinfo()`

基本信息

返回：bool

## `option_ESInfo(pz_id)`

行权交收信息

| 参数    | 类型   | 说明          |
| ------- | ------ | ------------- |
| `pz_id` | string | 证券,期权品种 |

返回：bool

## `option_DTList(pz_id, end_t, show_type)`

期权最活跃和持仓最大标的券合约情况

| 参数        | 类型     | 说明                |
| ----------- | -------- | ------------------- |
| `pz_id`     | string   | 证券,期权品种       |
| `end_t`     | datetime | 日期,截止日期       |
| `show_type` | any      | 用户自定义,显示类型 |

返回：bool

## `OPtion_OWL2_MarketSummary(bk_name, beg_t, end_t, d_type)`

期权对比-龙虎榜-市场汇总-成交

| 参数      | 类型     | 说明            |
| --------- | -------- | --------------- |
| `bk_name` | string   | 字符串,板块名称 |
| `beg_t`   | datetime | 日期,开始日期   |
| `end_t`   | datetime | 日期,截止日期   |
| `d_type`  | any      | 整数,数据类型   |

返回：array

## `Option_OWL_DetailEndT(index_id, beg_t, end_t, d_type)`

期权分析-龙虎榜-指定日明细

| 参数       | 类型     | 说明                     |
| ---------- | -------- | ------------------------ |
| `index_id` | string   | 指数,期权品种            |
| `beg_t`    | datetime | 日期,开始日期            |
| `end_t`    | datetime | 日期,截止日期            |
| `d_type`   | any      | 整数,数据类型(交易/持仓) |

返回：array

## `Option_GetUBCQKPeriodData(index_id, beg_t, end_t, otype, d_type, institution)`

期权分析-龙虎榜-区间汇总-成交

| 参数          | 类型     | 说明                       |
| ------------- | -------- | -------------------------- |
| `index_id`    | string   | 字符串,标的代码            |
| `beg_t`       | datetime | 日期,开始日期              |
| `end_t`       | datetime | 日期,截止日期              |
| `otype`       | any      | 整数,期权类型（认沽/认购） |
| `d_type`      | any      | 整数,数据类型（交易/持仓） |
| `institution` | string   | 字符串,机构名称            |

返回：array

## `Option_LastDate2(index_id, end_t)`

Option_LastDate2 相关函数。

| 参数       | 类型     | 说明          |
| ---------- | -------- | ------------- |
| `index_id` | string   | 指数,期权品种 |
| `end_t`    | datetime | 日期,截止日期 |

返回：any

## `Option_GetALLETFIndex(bkname)`

获取指定板块期权标的

| 参数     | 类型   | 说明            |
| -------- | ------ | --------------- |
| `bkname` | string | 字符串,板块名称 |

返回：array

## `opsCall(call_name, ops_id, param, timeout)`

平台中调用已注册的TS-OPS服务

| 参数        | 类型             | 说明 |
| ----------- | ---------------- | ---- |
| `call_name` | String           |      |
| `ops_id`    | String           |      |
| `param`     | Array,TableArray |      |
| `timeout`   | Integer          |      |

返回：Any

### 示例

```tsl
基于FAQ：OPSServer类重载模式实现的类中内容如下：
其中，分别注册了一个call服务（hahaha）和subscription服务（__subscription__/time）
平台中执行如下代码：
call_name:="hahaha";
ops_id:="";
param:=array(120,3);
return opsCall(call_name,ops_id,param);
结果：
```
