2097 lines
41 KiB
Markdown
2097 lines
41 KiB
Markdown
#### 期权
|
||
|
||
##### 内容
|
||
|
||
- 基本信息
|
||
- 期权熔断机制
|
||
- 活跃成交持仓
|
||
- 期权风险指标
|
||
- 期权结算参数
|
||
- 期权基本函数
|
||
- 期权主力合约
|
||
- 期权合约代码
|
||
- 行权交收信息
|
||
|
||
##### 基本信息
|
||
|
||
###### 内容
|
||
|
||
- optioninfoceilingprice
|
||
- OptionInfoIsTradeRange
|
||
- OptionInfoEndTBetweenMaturityDays
|
||
- OptionInfoUnitDeposit
|
||
- OptionInfoOpenPosition
|
||
- OptionInfoIsNewContract
|
||
- OptionInfoLast5DayContractAdjusted
|
||
- OptionInfoStatusInfo
|
||
- OptionInfoConsSuspended
|
||
- OptionInfoFloorPrice
|
||
- OptionInfoIsBetweenMaturityLess5Days
|
||
- 中间函数
|
||
- OP_ResidualMaturity
|
||
- OptionToPZ
|
||
- OptionContractUnit
|
||
- OptionInfoStrikePrice
|
||
|
||
###### optioninfoceilingprice
|
||
|
||
用途:获取指定日期的涨幅上限价格。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
返回:数值。
|
||
|
||
###### OptionInfoIsTradeRange
|
||
|
||
用途:判断指定日期是否处于交易区间。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "CF201C13800"在2021-09-24指定日是否交易区间
|
||
SetSysParam(pn_stock(), "CF201C13800");
|
||
return OptionInfoIsTradeRange(20210924T); // 结果:1
|
||
```
|
||
|
||
###### OptionInfoEndTBetweenMaturityDays
|
||
|
||
用途:计算指定日期距到期日的天数。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "IO2306-P-4200"在2022-6-27距离到期日天数
|
||
SetSysParam(pn_stock(), "IO2306-P-4200");
|
||
return OptionInfoEndTBetweenMaturityDays(20220627T); // 结果:249
|
||
```
|
||
|
||
###### OptionInfoUnitDeposit
|
||
|
||
用途:获取指定日期的单位保证金。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:数值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27的单位保证金
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoUnitDeposit(20220627T); // 结果:15425.6
|
||
```
|
||
|
||
###### OptionInfoOpenPosition
|
||
|
||
用途:获取指定日期的开仓状态。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:状态值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27的开仓状态
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoOpenPosition(20220627T); // 结果:可开仓
|
||
```
|
||
|
||
###### OptionInfoIsNewContract
|
||
|
||
用途:判断指定日期是否为新挂牌合约。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27的是否新挂牌合约
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoIsNewContract(20220627T); // 结果:否
|
||
```
|
||
|
||
###### OptionInfoLast5DayContractAdjusted
|
||
|
||
用途:判断最近 5 个交易日内合约是否发生调整。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27的最近5个交易日内合约是否发生过调整
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoLast5DayContractAdjusted(20220627T); // 结果:否
|
||
```
|
||
|
||
###### OptionInfoStatusInfo
|
||
|
||
用途:获取指定日期的合约状态信息。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27的期权合约状态信息
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoStatusInfo(20220627T); // 结果:0000E0
|
||
```
|
||
|
||
###### OptionInfoConsSuspended
|
||
|
||
用途:判断指定日期是否连续停牌。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27是否连续停牌
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoConsSuspended(20220627T); // 结果:否
|
||
```
|
||
|
||
###### OptionInfoFloorPrice
|
||
|
||
用途:获取指定日期的跌幅下限价格。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27跌幅下限价格
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoFloorPrice(20220627T); // 结果:0.57
|
||
```
|
||
|
||
###### OptionInfoIsBetweenMaturityLess5Days
|
||
|
||
用途:判断指定日期距离到期日是否不足 5 个交易日。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10004233"在2022-6-27是否距离到期日不足5个交易日
|
||
SetSysParam(pn_stock(), "OP10004233");
|
||
return OptionInfoIsBetweenMaturityLess5Days(20220627T); // 结果:否
|
||
```
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- optiongetdatabyendt
|
||
|
||
####### optiongetdatabyendt
|
||
用途:中间函数:按日期获取期权基本信息数据。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
返回:处理后的结果值。
|
||
|
||
###### OP_ResidualMaturity
|
||
|
||
用途:计算剩余到期年限(年)。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
endt := 20221220T;
|
||
SetSysParam(pn_stock(), "OP10004850");
|
||
SetSysParam(pn_date(), endt);
|
||
return OP_ResidualMaturity(); // 0.0219(年)
|
||
```
|
||
|
||
###### OptionToPZ
|
||
|
||
用途:获取期权品种代码。
|
||
参数:无。
|
||
返回:字符串。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "CU2101C39000" 的期权品种代码
|
||
SetSysParam(pn_stock(), "CU2101C39000");
|
||
return OptionToPZ();
|
||
// 结果:"CU"
|
||
```
|
||
|
||
###### OptionContractUnit
|
||
|
||
用途:获取指定日期的合约单位。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:数值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "CU2101C39000"2021-02-01的合约单位
|
||
SetSysParam(pn_stock(), "CU2101C39000");
|
||
return OptionContractUnit(20210201T);
|
||
// 结果:5
|
||
```
|
||
|
||
###### OptionInfoStrikePrice
|
||
|
||
用途:获取指定日期的行权价。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:数值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回OP10008613 500ETF购2月5903A,20250123T的行权价
|
||
SetSysParam(pn_stock(), "OP10008613");
|
||
endt := 20250123T;
|
||
return OptionInfoStrikePrice(endt);
|
||
// 结果:5.903
|
||
```
|
||
|
||
##### 期权熔断机制
|
||
|
||
###### 内容
|
||
|
||
- optioncbisstop
|
||
- optioncbsuspendtime
|
||
- optioncblaststopdate
|
||
- optioncbstopcount
|
||
- 中间函数
|
||
- optioncbzfaboveminiquotenum
|
||
- optioncbzdthresh
|
||
- optioncbstopcountqj
|
||
|
||
###### optioncbisstop
|
||
|
||
用途:判断期权是否触发熔断。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### optioncbsuspendtime
|
||
|
||
用途:获取熔断暂停时间。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### optioncblaststopdate
|
||
|
||
用途:获取最近一次熔断日期。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### optioncbstopcount
|
||
|
||
用途:获取熔断次数。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- optioncbgetdataperiod
|
||
|
||
####### optioncbgetdataperiod
|
||
用途:中间函数:获取熔断周期数据。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### optioncbzfaboveminiquotenum
|
||
|
||
用途:熔断机制相关统计量。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### optioncbzdthresh
|
||
|
||
用途:获取熔断涨跌幅阈值。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### optioncbstopcountqj
|
||
|
||
用途:获取区间内熔断次数。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
##### 活跃成交持仓
|
||
|
||
###### 内容
|
||
|
||
- 指定日
|
||
- 中间函数
|
||
|
||
###### 指定日
|
||
|
||
####### 内容
|
||
|
||
- optionubcsumnnetvolgrow
|
||
- optionubcsumnvolgrow
|
||
- optionubcnonvolgrow
|
||
- optionubcinstitutnetvolgrow
|
||
- optionubcsumnnetoigrow
|
||
- optionubcnonoigrow
|
||
- optionubcinstitutoigrow
|
||
- optionubcnonnetvolgrow
|
||
- optionubcinstitutnetoigrow
|
||
- optionubcsumnoigrow
|
||
- optionubcnonnetoigrow
|
||
- optionubcinstitutvolgrow
|
||
- OptionUBCSumNVol
|
||
- OptionUBCInstitutOIRank
|
||
- OptionUBCInstitutOIPercent
|
||
- OptionUBCNoNOIPercent
|
||
- OptionUBCInstitutPercent
|
||
- OptionUBCNoNNetVol
|
||
- OptionUBCNoNOIName
|
||
- OptionUBCInstitutOI
|
||
- OptionUBCSumNNetVol
|
||
- OptionUBCSumNOIPercent
|
||
- OptionUBCInstitutNetVol
|
||
- OptionUBCInstitutVol
|
||
- OptionUBCInstitutNetOI
|
||
- OptionUBCNoNVolName
|
||
- OptionUBCNoNPercent
|
||
- OptionUBCNoNNetOI
|
||
- OptionUBCNoNOI
|
||
- OptionUBCInstitutVolRank
|
||
- OptionUBCNoNVol
|
||
- OptionUBCSumNOI
|
||
- OptionUBCSumNPercent
|
||
- OptionUBCSumNNetOI
|
||
|
||
####### optionubcsumnnetvolgrow
|
||
用途:前 N 名净成交量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcsumnvolgrow
|
||
用途:前 N 名成交量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcnonvolgrow
|
||
用途:非机构成交量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcinstitutnetvolgrow
|
||
用途:机构净成交量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcsumnnetoigrow
|
||
用途:前 N 名净持仓量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcnonoigrow
|
||
用途:非机构持仓量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcinstitutoigrow
|
||
用途:机构持仓量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcnonnetvolgrow
|
||
用途:非机构净成交量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcinstitutnetoigrow
|
||
用途:机构净持仓量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcsumnoigrow
|
||
用途:前 N 名持仓量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcnonnetoigrow
|
||
用途:非机构净持仓量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### optionubcinstitutvolgrow
|
||
用途:机构成交量变动。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### OptionUBCSumNVol
|
||
|
||
用途:指定日成交量排名前 N 名合计。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量合计值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCSumNVol(20200807T, 1, 0);
|
||
// 结果:339980
|
||
```
|
||
|
||
####### OptionUBCInstitutOIRank
|
||
|
||
用途:指定日指定机构持仓量排名。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量排名(整数)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutOIRank(20200807T, '华泰证券', 0);
|
||
// 结果:3
|
||
```
|
||
|
||
####### OptionUBCInstitutOIPercent
|
||
|
||
用途:指定日指定机构持仓量占比。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量占比(%)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutOIPercent(20200807T, '华泰证券', 0);
|
||
// 结果:5.29416436328386
|
||
```
|
||
|
||
####### OptionUBCNoNOIPercent
|
||
|
||
用途:指定日持仓量排名第 N 的机构持仓占比。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量占比(%)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNOIPercent(20200807T, 1, 0);
|
||
// 结果:7.58237322661357
|
||
```
|
||
|
||
####### OptionUBCInstitutPercent
|
||
|
||
用途:指定日指定机构成交量占比。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量占比(%)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutPercent(20200807T, '华泰证券', 0);
|
||
// 结果:15.4328861467173
|
||
```
|
||
|
||
####### OptionUBCNoNNetVol
|
||
|
||
用途:指定日净成交量排名第 N 的机构净成交量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
|
||
返回:净成交量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNNetVol(20200807T, 1);
|
||
// 结果:-9468
|
||
```
|
||
|
||
####### OptionUBCNoNOIName
|
||
|
||
用途:指定日持仓量排名第 N 的机构名称。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
|
||
返回:机构名称。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNOIName(20200807T, 1);
|
||
// 结果:华泰证券
|
||
```
|
||
|
||
####### OptionUBCInstitutOI
|
||
|
||
用途:指定日指定机构持仓量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutOI(20200807T, "华泰证券", 1);
|
||
// 结果:177850
|
||
```
|
||
|
||
####### OptionUBCSumNNetVol
|
||
|
||
用途:指定日净成交量排名前 N 名合计。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
|
||
返回:净成交量合计值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCSumNNetVol(20200807T, 1);
|
||
// 结果:-9468
|
||
```
|
||
|
||
####### OptionUBCSumNOIPercent
|
||
|
||
用途:指定日持仓量排名前 N 名占比合计。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量占比合计(%)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCSumNOIPercent(20200807T, 1, 0);
|
||
// 结果:7.58237322661357
|
||
```
|
||
|
||
####### OptionUBCInstitutNetVol
|
||
|
||
用途:指定日指定机构净成交量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
|
||
返回:净成交量。
|
||
|
||
算法指定日指定机构净认购成交量变动=今日净认购-上日净认购范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutNetVol(20200807T, '华泰证券');
|
||
// 结果:-26123
|
||
```
|
||
|
||
####### OptionUBCInstitutVol
|
||
|
||
用途:指定日指定机构成交量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutVol(20200807T, '华泰证券', 1);
|
||
// 结果:313857
|
||
```
|
||
|
||
####### OptionUBCInstitutNetOI
|
||
|
||
用途:指定日指定机构净持仓量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
|
||
返回:净持仓量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutNetOI(20200807T, '华泰证券');
|
||
// 结果:48525
|
||
```
|
||
|
||
####### OptionUBCNoNVolName
|
||
|
||
用途:指定日成交量排名第 N 的机构名称。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:机构名称。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNVolName(20200807T, 1, 1);
|
||
// 结果:广发证券
|
||
```
|
||
|
||
####### OptionUBCNoNPercent
|
||
|
||
用途:指定日成交量排名第 N 的占比。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量占比(%)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNPercent(20200807T, 1, 1);
|
||
// 结果:14.1982876756464
|
||
```
|
||
|
||
####### OptionUBCNoNNetOI
|
||
|
||
用途:指定日净持仓量排名第 N 的机构净持仓量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
|
||
返回:净持仓量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNNetOI(20200807T, 1);
|
||
// 结果:-7371
|
||
```
|
||
|
||
####### OptionUBCNoNOI
|
||
|
||
用途:指定日持仓量排名第 N 的持仓量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNOI(20200807T, 1, 1);
|
||
// 结果:177850
|
||
```
|
||
|
||
####### OptionUBCInstitutVolRank
|
||
|
||
用途:指定日指定机构成交量排名。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- institution:机构名称
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量排名(整数)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCInstitutVolRank(20200807T, '广发证券', 1);
|
||
// 结果:1
|
||
```
|
||
|
||
####### OptionUBCNoNVol
|
||
|
||
用途:指定日成交量排名第 N 的成交量。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCNoNVol(20200807T, 1, 1);
|
||
// 结果:330512
|
||
```
|
||
|
||
####### OptionUBCSumNOI
|
||
|
||
用途:指定日持仓量排名前 N 名合计。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:持仓量合计值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCSumNOI(20200807T, 1, 1);
|
||
// 结果:177850
|
||
```
|
||
|
||
####### OptionUBCSumNPercent
|
||
|
||
用途:指定日成交量排名前 N 名占比合计。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:成交量占比合计(%)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCSumNPercent(20200807T, 1, 1);
|
||
// 结果:14.1982876756464
|
||
```
|
||
|
||
####### OptionUBCSumNNetOI
|
||
|
||
用途:指定日净持仓量排名前 N 名合计。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- n:统计数量或名次
|
||
|
||
返回:净持仓量合计值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionUBCSumNNetOI(20200807T, 3);
|
||
// 结果:62518
|
||
```
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- optionubcqkperiod
|
||
- OptionUBCQK
|
||
|
||
####### optionubcqkperiod
|
||
用途:中间函数:获取活跃成交持仓区间数据。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
####### OptionUBCQK
|
||
|
||
用途:获取指定标的在区间内的活跃成交持仓统计值。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
- value:数值参数
|
||
|
||
返回:区间统计值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OptionUBCQK("SH510050", 20200807T, 0, 0, 3);
|
||
```
|
||
|
||
结果:
|
||
|
||
##### 期权风险指标
|
||
|
||
###### 内容
|
||
|
||
- 中间函数
|
||
- OptionRITheta
|
||
- OptionRIDelta
|
||
- OptionRIRHO
|
||
- OptionRIVega
|
||
- OptionRIGamma
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- optionriskindicator
|
||
|
||
####### optionriskindicator
|
||
用途:中间函数:获取期权风险指标原始数据。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
###### OptionRITheta
|
||
|
||
用途:获取期权 Theta 风险指标。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "OP10006730");
|
||
return OptionRITheta(20240126T);
|
||
// 结果:-0.119
|
||
```
|
||
|
||
###### OptionRIDelta
|
||
|
||
用途:获取期权 Delta 风险指标。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "OP10006730");
|
||
return OptionRIDelta(20240126T);
|
||
// 结果:0.795
|
||
```
|
||
|
||
###### OptionRIRHO
|
||
|
||
用途:获取期权 Rho 风险指标。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "OP10006730");
|
||
return OptionRIRHO(20240126T);
|
||
// 结果:1.055
|
||
```
|
||
|
||
###### OptionRIVega
|
||
|
||
用途:获取期权 Vega 风险指标。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "OP10006730");
|
||
return OptionRIVega(20240126T);
|
||
// 结果:0.545
|
||
```
|
||
|
||
###### OptionRIGamma
|
||
|
||
用途:获取期权 Gamma 风险指标。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(pn_stock(), "OP10006730");
|
||
return OptionRIGamma(20240126T);
|
||
// 结果:0.838
|
||
```
|
||
|
||
##### 期权结算参数
|
||
|
||
###### 内容
|
||
|
||
- Optionspqk
|
||
- Optionspqk2
|
||
- OptionSMarginAdjustmentFactor
|
||
- OptionSMiniGuaranteeFactor
|
||
- OptionSPClosingProceduresFee
|
||
- OptionSPOpeningChargeFee
|
||
- OptionSPPerformanceFee
|
||
- OptionSPShortClosingProceduresFee
|
||
- OptionSPShortOpeningChargeFee
|
||
- OptionSPTradingMargin
|
||
- 中间函数
|
||
|
||
###### Optionspqk
|
||
|
||
用途:获取区间期权结算参数数据。
|
||
参数:
|
||
|
||
- start_date:起始日期
|
||
- end_date:结束日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "al2104C13400"在20210312~20210322的区间期权结算参数数据
|
||
SetSysParam(pn_stock(), "al2104C13400");
|
||
return OptionSPQK(20210312T, 20210322T);
|
||
```
|
||
|
||
###### Optionspqk2
|
||
|
||
用途:获取指定窗口期权结算参数数据。
|
||
参数:
|
||
|
||
- value:数值参数
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "al2104C13400"在20210322的5日结算参数数据
|
||
SetSysParam(pn_stock(), "al2104C13400");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPQK2(5);
|
||
```
|
||
|
||
###### OptionSMarginAdjustmentFactor
|
||
|
||
用途:获取保证金调整系数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "IO2106-P-5300"在20210322日的保证金调整系数(%)
|
||
SetSysParam(pn_stock(), "IO2106-P-5300");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSMarginAdjustmentFactor(); // 结果:12
|
||
```
|
||
|
||
###### OptionSMiniGuaranteeFactor
|
||
|
||
用途:获取最低保障系数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "IO2106-P-5300"在20210322日的最低保障系数
|
||
SetSysParam(pn_stock(), "IO2106-P-5300");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSMiniGuaranteeFactor(); // 结果:0.5
|
||
```
|
||
|
||
###### OptionSPClosingProceduresFee
|
||
|
||
用途:获取平仓手续费。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "MA110C2375"在20210322日的平仓手续费额
|
||
SetSysParam(pn_stock(), "MA110C2375");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPClosingProceduresFee(); // 结果:0.5
|
||
```
|
||
|
||
###### OptionSPOpeningChargeFee
|
||
|
||
用途:获取开仓手续费。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "MA110C2375"在20210322日的开仓手续费额
|
||
SetSysParam(pn_stock(), "MA110C2375");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPOpeningChargeFee(); // 结果:0.5
|
||
```
|
||
|
||
###### OptionSPPerformanceFee
|
||
|
||
用途:获取履约手续费。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "MA110C2375"在20210322日的行权/履约手续费额
|
||
SetSysParam(pn_stock(), "MA110C2375");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPPerformanceFee(); // 结果:0.5
|
||
```
|
||
|
||
###### OptionSPShortClosingProceduresFee
|
||
|
||
用途:获取短线平仓手续费。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "MA110C2375"在20210322日的短线平仓手续费额
|
||
SetSysParam(pn_stock(), "MA110C2375");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPShortClosingProceduresFee(); // 结果:0
|
||
```
|
||
|
||
###### OptionSPShortOpeningChargeFee
|
||
|
||
用途:获取短线开仓手续费。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "MA110C2375"在20210322日的短线开仓手续费额
|
||
SetSysParam(pn_stock(), "MA110C2375");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPShortOpeningChargeFee(); // 结果:0.5
|
||
```
|
||
|
||
###### OptionSPTradingMargin
|
||
|
||
用途:获取交易保证金。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "MA110C2375"在20210322日的交易保证金
|
||
SetSysParam(pn_stock(), "MA110C2375");
|
||
SetSysParam(PN_Date(), 20210322T);
|
||
return OptionSPTradingMargin(); // 结果:3090
|
||
```
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- Stock2OptionSPId
|
||
|
||
####### Stock2OptionSPId
|
||
用途:中间函数:根据标的代码获取期权结算参数 ID。
|
||
参数:按调用约定传入。
|
||
返回:处理后的结果值。
|
||
|
||
##### 期权基本函数
|
||
|
||
###### 内容
|
||
|
||
- OP_GetOptionChain
|
||
- OP_BKDateOverview
|
||
- OP_GetBidAskData
|
||
- OP_GetDaysMaturity
|
||
- OP_GetPutAndCallratio
|
||
- OP_GetRiskFreeRate
|
||
- OP_GetUnderlyingSecurity
|
||
- OP_HV
|
||
- OP_IVGreeks
|
||
|
||
###### OP_GetOptionChain
|
||
|
||
用途:获取期权链数据。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OP_GetOptionChain("SH510050", 20150209T);
|
||
```
|
||
|
||
###### OP_BKDateOverview
|
||
|
||
用途:日期时间处理函数。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:日期或时间值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OP_BKDateOverview("SH510050", 1);
|
||
```
|
||
|
||
###### OP_GetBidAskData
|
||
|
||
用途:获取期权合约买卖盘数据。
|
||
参数:
|
||
|
||
- data:合约列表
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
ret := array(("代码":"CU2106"),
|
||
("代码":"IF2106"),
|
||
("代码":"PG2106"), );
|
||
return OP_GetBidAskData(ret);
|
||
```
|
||
|
||
###### OP_GetDaysMaturity
|
||
|
||
用途:计算到期天数或到期年化天数。
|
||
参数:
|
||
|
||
- start_date:起始日期
|
||
- end_date:结束日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OP_GetDaysMaturity(20150208T, 20150228T); // 0.6575
|
||
```
|
||
|
||
###### OP_GetPutAndCallratio
|
||
|
||
用途:计算指定品种的认购/认沽成交量比值。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
算法到日期为Ex_endt日的指定期权品种为StockID的 在指定时间endt的所有认购期权成交量与认沽期权成交量的比值,到期日<=0表示取所有代码范例
|
||
|
||
```tsl
|
||
return OP_GetPutAndCallratio("cu", 20210514T);
|
||
// 1.33637606170067
|
||
```
|
||
|
||
###### OP_GetRiskFreeRate
|
||
|
||
用途:获取无风险利率。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OP_GetRiskFreeRate(20150208T, 0); // 2.75
|
||
```
|
||
|
||
###### OP_GetUnderlyingSecurity
|
||
|
||
用途:获取期权对应的标的证券代码。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OP_GetUnderlyingSecurity();
|
||
```
|
||
|
||
###### OP_HV
|
||
|
||
用途:计算历史波动率。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- value:数值参数
|
||
|
||
返回:处理后的结果值。
|
||
|
||
算法
|
||
|
||
获取日期区间的收盘价
|
||
|
||
计算日期区间股价环比增长自然对数序列的标准差作为日波动率(%)
|
||
|
||
按一年250的交易日取年化波动率范例
|
||
|
||
```tsl
|
||
// 取SZ000002在2021-01-01前六个月的nian波动率
|
||
return OP_HV("SZ000002", 20210101T, -6); // 25.7907888130722
|
||
```
|
||
|
||
###### OP_IVGreeks
|
||
|
||
用途:计算隐含波动率及希腊值。
|
||
参数:
|
||
|
||
- flag:类型标记(按示例传入)
|
||
- value:数值参数
|
||
- value2:数值参数
|
||
- value3:数值参数
|
||
- value4:数值参数
|
||
- value5:数值参数
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OP_IVGreeks(0, 18, 20, 2, 5, 1.00);
|
||
```
|
||
|
||
##### 期权主力合约
|
||
|
||
###### 内容
|
||
|
||
- OptionZLId
|
||
- OptionZLId2
|
||
- OptionCZLId
|
||
- OptionCZLId2
|
||
- OptionFlatZLId
|
||
- OptionFlatZLId2
|
||
- OptionFlatCZLId
|
||
- OptionFlatCZLId2
|
||
- OptionFlatValueId
|
||
- OptionVirtualValueID
|
||
- OptionRealValueID
|
||
- OptionIsFlatValueID
|
||
- OptionIsFlatValueID2
|
||
- OptionIsRealValueID
|
||
- OptionIsRealValueID2
|
||
- OptionIsVirtualValueID
|
||
- OptionIsVirtualValueID2
|
||
- 中间函数
|
||
- OptionZLId3
|
||
|
||
###### OptionZLId
|
||
|
||
用途:获取指定标的在指定日的期权主力合约代码。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权主力合约
|
||
return OptionZLId("SH510050", 20210331T, 0, -1);
|
||
// 结果:OP10003266
|
||
```
|
||
|
||
###### OptionZLId2
|
||
|
||
用途:获取系统参数标的在指定日的期权主力合约代码。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权主力合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionZLId2(20210331T, 0, -1);
|
||
// 结果:OP10003266
|
||
```
|
||
|
||
###### OptionCZLId
|
||
|
||
用途:获取指定标的在指定日的期权次主力合约代码。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权次主力合约
|
||
return OptionCZLId("SH510050", 20210331T, 0, -1);
|
||
// 结果:OP10003273
|
||
```
|
||
|
||
###### OptionCZLId2
|
||
|
||
用途:获取系统参数标的在指定日的期权次主力合约代码。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权次主力合约
|
||
SetSysParam(pn_stock(), 'SH510050');
|
||
return OptionCZLId2(20210331T, 0, -1);
|
||
// 结果:OP10003273
|
||
```
|
||
|
||
###### OptionFlatZLId
|
||
|
||
用途:获取指定标的在指定日的平值主力合约代码。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权平值主力合约
|
||
return OptionFlatZLId("SH510050", 20210331T, 0, 0);
|
||
// 结果:OP10003265
|
||
```
|
||
|
||
###### OptionFlatZLId2
|
||
|
||
用途:获取系统参数标的在指定日的平值主力合约代码。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权平值主力合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionFlatZLId2(20210331T, 0, 0);
|
||
// 结果:OP10003265
|
||
```
|
||
|
||
###### OptionFlatCZLId
|
||
|
||
用途:获取指定标的在指定日的平值次主力合约代码。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权平值次主力合约
|
||
return OptionFlatCZLId("SH510050", 20210331T, 0, 0);
|
||
// 返回:OP10003274
|
||
```
|
||
|
||
###### OptionFlatCZLId2
|
||
|
||
用途:获取系统参数标的在指定日的平值次主力合约代码。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的期权平值次主力合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
return OptionFlatCZLId2(20210331T, 0, 0);
|
||
// 返回:OP10003274
|
||
```
|
||
|
||
###### OptionFlatValueId
|
||
|
||
用途:获取指定标的在指定日的平值合约代码(认购/认沽由 flag 指定)。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的认购的平值合约
|
||
return OptionFlatValueId("SH510050", 20210331T, 0);
|
||
```
|
||
|
||
###### OptionVirtualValueID
|
||
|
||
用途:获取指定标的在指定日的虚值合约代码(认购/认沽由 flag 指定)。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的认购的虚值合约
|
||
return OptionVirtualValueID("SH510050", 20210331T, 0);
|
||
```
|
||
|
||
###### OptionRealValueID
|
||
|
||
用途:获取指定标的在指定日的实值合约代码(认购/认沽由 flag 指定)。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:合约代码。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "SH510050"在20210331日的认购的实值合约
|
||
return OptionRealValueID("SH510050", 20210331T, 0);
|
||
```
|
||
|
||
###### OptionIsFlatValueID
|
||
|
||
用途:判断指定合约在指定日是否为平值合约。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否平值合约
|
||
return OptionIsFlatValueID("OP10003265", 20210331T);
|
||
// 返回:1
|
||
```
|
||
|
||
###### OptionIsFlatValueID2
|
||
|
||
用途:判断系统参数合约在指定日是否为平值合约。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否平值合约
|
||
SetSysParam(pn_stock(), "OP10003265");
|
||
return OptionIsFlatValueID2(20210331T);
|
||
// 结果:1
|
||
```
|
||
|
||
###### OptionIsRealValueID
|
||
|
||
用途:判断指定合约在指定日是否为实值合约。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否实值合约
|
||
return OptionIsRealValueID("OP10003265", 20210331T);
|
||
// 返回:0
|
||
```
|
||
|
||
###### OptionIsRealValueID2
|
||
|
||
用途:判断系统参数合约在指定日是否为实值合约。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否实值合约
|
||
SetSysParam(pn_stock(), "OP10003265");
|
||
return OptionIsRealValueID2(20210331T);
|
||
// 结果:0
|
||
```
|
||
|
||
###### OptionIsVirtualValueID
|
||
|
||
用途:判断指定合约在指定日是否为虚值合约。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否虚值合约
|
||
return OptionIsVirtualValueID("OP10003265", 20210331T);
|
||
// 返回:0
|
||
```
|
||
|
||
###### OptionIsVirtualValueID2
|
||
|
||
用途:判断系统参数合约在指定日是否为虚值合约。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否虚值合约
|
||
SetSysParam(pn_stock(), "OP10003265");
|
||
return OptionIsVirtualValueID2(20210331T);
|
||
// 结果:0
|
||
```
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- OptionCheckIdsEndT
|
||
- OptionIsValueID
|
||
- OptionCheckValueIds
|
||
- OptionsZLId
|
||
|
||
####### OptionCheckIdsEndT
|
||
|
||
用途:校验指定标的在指定日的期权主力合约有效性。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:校验结果(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OptionCheckIdsEndT('SH510050', 20210331T, -1, 0);
|
||
```
|
||
|
||
####### OptionIsValueID
|
||
|
||
用途:判断指定合约在指定日是否满足指定价态(由 flag 指定)。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:是否满足条件(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// "OP10003265 50ETF购4月3600"在20210331日是否平值合约
|
||
return OptionIsValueID("OP10003265", 20210331T, 0);
|
||
// 返回:1
|
||
```
|
||
|
||
####### OptionCheckValueIds
|
||
|
||
用途:校验指定标的在指定日的价态合约有效性。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:校验结果(1/0)。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OptionCheckValueIds('SH510050', 20210331T, 1, 0);
|
||
```
|
||
|
||
####### OptionsZLId
|
||
|
||
用途:获取指定标的在指定日的期权主力合约列表。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
- flag3:类型标记(按示例传入)
|
||
|
||
返回:合约代码序列。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OptionsZLId('SH510050', 20210331T, -1, 1, 0);
|
||
// 结果:OP10003264
|
||
```
|
||
|
||
###### OptionZLId3
|
||
|
||
用途:获取指定日的期权主力合约序列(支持近月/标的主力算法)。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
|
||
返回:合约代码序列。
|
||
|
||
算法
|
||
|
||
模型中提供了两种算法:
|
||
|
||
算法一:近月合约,适用所有期权
|
||
|
||
选取最近到期日且满足到期日大于等于N日的期权合约序列,即若近月到期日与指定日区间天数小于N日,则判断次近月,依此类推,直到满足到期天数>=N日;
|
||
|
||
算法二:标的主力线合约,仅适用商品期货期权
|
||
|
||
期货期权标的(商品期货)的主力线对应的当前实际合约作为标的的期权合约序列,
|
||
|
||
通过上述算法逻辑筛选出期权样本组后,再根据选择的期权类型(认购、认沽、所有)与期权合约类型(所有、平值、实值、虚值)以及对应的档位,最后筛选出符合条件的期权序列作为指定日期权主力。
|
||
|
||
范例
|
||
|
||
```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;
|
||
```
|
||
|
||
##### 期权合约代码
|
||
|
||
###### 内容
|
||
|
||
- OptionNearContractCallOTM1
|
||
- OptionNearContractPutITM1
|
||
- OptionNearContractPutOTM1
|
||
- OptionNearContractPutOTM2
|
||
- OP_SelectOptionData
|
||
- OptionNearContractCallOTM2
|
||
- OptionNearContractCallITM1
|
||
- OptionNearContractCallITM2
|
||
- OptionNearContractPutITM2
|
||
- OP_SelectOption
|
||
- OP_GetOptionChainList
|
||
|
||
###### OptionNearContractCallOTM1
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认购的近月虚值一档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractCallOTM1();
|
||
// 结果:"OP10005266"
|
||
```
|
||
|
||
###### OptionNearContractPutITM1
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认沽的近月实值一档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractPutITM1();
|
||
// 结果:"OP10005275"
|
||
```
|
||
|
||
###### OptionNearContractPutOTM1
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认沽的近月虚值一档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractPutOTM1();
|
||
// 结果:"OP10005273"
|
||
```
|
||
|
||
###### OptionNearContractPutOTM2
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认沽的近月虚值二档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractPutOTM2();
|
||
// 结果:"OP10005272"
|
||
```
|
||
|
||
###### OP_SelectOptionData
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回"AP"在20240419交易的期权合约列表信息
|
||
return OP_SelectOptionData('AP', 20240419T);
|
||
```
|
||
|
||
###### OptionNearContractCallOTM2
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认购的近月虚值二档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractCallOTM2();
|
||
// 结果:"OP10005267"
|
||
```
|
||
|
||
###### OptionNearContractCallITM1
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认购的近月实值一档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractCallITM1();
|
||
// 结果:"OP10005264"
|
||
```
|
||
|
||
###### OptionNearContractCallITM2
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认购的近月实值二档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractCallITM2();
|
||
// 结果:"OP10005263"
|
||
```
|
||
|
||
###### OptionNearContractPutITM2
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:无。
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认沽的近月实值二档期权合约
|
||
SetSysParam(pn_stock(), "SH510050");
|
||
SetSysParam(pn_date(), 20230511T);
|
||
return OptionNearContractPutITM2();
|
||
// 结果:"OP10005276"
|
||
```
|
||
|
||
###### OP_SelectOption
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
- flag3:类型标记(按示例传入)
|
||
- flag4:类型标记(按示例传入)
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,20230511T交易类型为认购的近月平值期权合约列表
|
||
return OP_SelectOption("SH510050", 20230511T, 1, 0, 0, 0);
|
||
// 结果:array("OP10005274")
|
||
```
|
||
|
||
###### OP_GetOptionChainList
|
||
|
||
用途:期权合约代码相关函数。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- flag:类型标记(按示例传入)
|
||
- flag2:类型标记(按示例传入)
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
// 返回50ETF为标的,所有行权方式和期权类型的期权合约列表
|
||
return OP_GetOptionChainList("SH510050", -1, -1);
|
||
```
|
||
|
||
##### 行权交收信息
|
||
|
||
###### 内容
|
||
|
||
- OptionESIExerciseAmount
|
||
- 中间函数
|
||
|
||
###### OptionESIExerciseAmount
|
||
|
||
用途:行权交收信息相关函数。
|
||
参数:
|
||
|
||
- endt:交易日期
|
||
- flag:类型标记(按示例传入)
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
SetSysParam(PN_Stock(), 'SH510050');
|
||
return OptionESIExerciseAmount(20231227T, 0);
|
||
// 结果:20893
|
||
```
|
||
|
||
###### 中间函数
|
||
|
||
####### 内容
|
||
|
||
- OptionESIGetdata
|
||
|
||
####### OptionESIGetdata
|
||
|
||
用途:行权交收信息相关函数。
|
||
参数:
|
||
|
||
- code:标的或合约代码
|
||
- endt:交易日期
|
||
|
||
返回:处理后的结果值。
|
||
|
||
范例
|
||
|
||
```tsl
|
||
return OptionESIGetdata('SH510050', 20231227T);
|
||
```
|