模型中提供了两种算法:
算法一:近月合约,适用所有期权
选取最近到期日且满足到期日大于等于N日的期权合约序列,即若近月到期日与指定日区间天数小于N日,则判断次近月,依此类推,直到满足到期天数>=N日;
算法二:标的主力线合约,仅适用商品期货期权
期货期权标的(商品期货)的主力线对应的当前实际合约作为标的的期权合约序列,
通过上述算法逻辑筛选出期权样本组后,再根据选择的期权类型(认购、认沽、所有)与期权合约类型(所有、平值、实值、虚值)以及对应的档位,最后筛选出符合条件的期权序列作为指定日期权主力。
//取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;