playbook/docs/tsl/syntax_book/function/financial/option.md

1573 lines
24 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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