A:出现这种情况,可能有两种原因:
1.期权合约当天到期,按照天软BS定价模型方式计算出的结果就会出现异常值。因此不支持计算当天到期的期权风险指标。
2.期权现价超过理论现价时,计算出的结果为NAN。
对于上述第二种情况,天软提供如下验证范例,用户可自行进行验证。
setsysparam(pn_stock(),'io2002-c-3300');
setsysparam(pn_date(),20200220T);
setsysparam(Pn_cycle(),cy_day());
t:=nday(14,'date',sp_time(),'g',t:=OP_Greeks(),
'IV',t[0,'IV'],'Delta',t[0,'Delta'],
'Gamma',t[0,'Gamma'],
'Theta',t[0,'Theta'],
'Vega',t[0,'Vega'],
'Rho',t[0,'Rho'],
'期权类型',
OptionType:=base(720008),
'行权价',X:=Base(720010),
'期权价格',C:=close(),
'标的价格',
S:=specall(close(),array(pn_stock():base(720004),pn_rate():0)),
'无风险利率(%)',
R:=OP_GetRiskFreeRate(sp_time(),0),
'剩余期限(年)',
T:=OP_GetDaysMaturity(int(sp_time()),inttodate(base(720015)))/12,
'理论上界',maxS:=(OptionType='认购')?s:(X*exp(-R/100*T)),
'理论下界',
should:=((OptionType='认购')?max(S-X*exp(-R/100*T),0):max(X*exp(-R/100*T)-S,0)),
'期权价格是否低于下界',C<=should,
'期权价格是否高于上界',C>=maxS);
return select ['date'],['Gamma'],['期权价格'],['理论上界'],['理论下界'],
['期权价格是否低于下界'],['期权价格是否高于上界'] from t end;
结果截图: