A:天软中提供期权风险类指标模型,具体可参考:FAQ:
2025-03-19-应用专题-期权系列03:期权行情及风险指标(更新版)
这里展示期权隐含波动率的常用提取示例,其它风险指标也可类似调用。
期权隐含波动率模型为 OP_IV(),与当前证券、周期、时间相关。因此,调用前需要设置pn_stock(),pn_cycle(),pn_date()等系统参数。
分别从
单个期权与期权组合,指定日与指定区间进行举例。
具体示例可参考如下:
示例01:获取指定期权在1分钟线下指定时间点的隐含波动率
SetSysParam(pn_stock(),"OP10000001");
setsysparam(pn_cycle(),cy_1m());
setsysparam(pn_date(),20150211.1430T);//下午2点半
return OP_IV(); //返回29.48
示例02:获取指定期权在存续期间内每日的隐含波动率
注:若有特别指定时间,可将fd与Ld指定为指定日,如fd:=20150220T;
SetSysParam(pn_stock(),"OP10000001");
setsysparam(pn_cycle(),cy_day());
fd:=inttodate(base(720011));//首个交易日-开始时间
Ld:=inttodate(base(720012));//最后交易日-开始截止时间
setsysparam(pn_date(),Ld);
N:=tradedays(fd,Ld);
return Nday(N,"date",datetostr(sp_time()),"OP_IV",OP_IV());
返回结果:
示例03:获取多个期权在指定日的隐含波动率
ops:=array("OP10000001","OP10000002","OP10000003");
setsysparam(pn_cycle(),cy_day());
setsysparam(pn_date(),20150211T);
r:=array(); k:=0;
for i,stockid in ops do
r[k++]:=array("StockID":stockid,"隐含波动率":spec(op_IV(),stockid));
return r;
返回结果:
示例04:获取多个期权在指定区间的每日隐含波动率
ops:=array("OP10000001","OP10000002","OP10000003");
begt:=20150211T;
endt:=20150220T;
setsysparam(pn_cycle(),cy_day());
Tarr:=MarketTradeDayQk(begt,endt);//时间序列
r:=array(); k:=0;
for j,vEndt in Tarr do
begin
setsysparam(pn_date(),vEndt);
dEndt:=datetostr(vEndt);
for i,stockid in ops do
begin
setsysparam(pn_stock(),stockid);
r[k,"StockID"]:=stockid;
r[k,"截止日"]:=dEndt;
r[k,"隐含波动率"]:=op_IV();
k++;
end
end;
return r;
返回结果: