FAQ > 金融建模 > 建模问题 > 期权相关

Q:如何获取期权主力、平值、虚值与实值合约代码?    

  • A:天软已提供相关指标,如下:
    指标模型说明
    主力合约OptionZLId
    OptionZLId2
    昨日持仓量/成交量最大的合约
    次主力合约OptionCZLId
    OptionCZLId2
    昨日持仓量/成交量第二大的合约
    平值合约OptionFlatValueId行权价等于或最接近标的证券现价的合约
    实值合约OptionRealValueID行权价低于标的证券现价的合约
    虚值合约OptionVirtualValueID行权价高于标的证券现价的合约
    平值主力合约OptionFlatZLId
    OptionFlatZLId2
    平值合约中的主力合约
    平值次主力合约OptionFlatCZLId
    OptionFlatCZLId2
    平值合约中的次主力合约
    是否平值合约OptionIsFlatValueID
    OptionIsFlatValueID2
    指定期权代码是否为平值合约
    是否实值合约OptionIsRealValueID
    OptionIsRealValueID2
    指定期权代码是否为实值合约
    是否虚值合约OptionIsVirtualValueID
    OptionIsVirtualValueID2
    指定期权代码是否为虚值合约

    期权主力合约
    OptionZLId
    定义:OptionZLId(IndexId:string,EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权主力合约,只适用于日线,规则为:
         1)昨日持仓量最大
         2)昨日成交量最大
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权主力合约

    范例
     //"SH510050"在20210331日的期权主力合约
     return OptionZLId("SH510050",20210331T,0,-1);
     //结果:OP10003266

    OptionZLId2
    定义:OptionZLId2(EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权主力合约,与系统参数pn_stock相关,只适用于日线,规则为:
         1)昨日持仓量最大
         2)昨日成交量最大
    参数
    名称类型说明
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权主力合约

    范例
     //"SH510050"在20210331日的期权主力合约
     setsysparam(pn_stock(),"SH510050");
     return OptionZLId2(20210331T,0,-1);
     //结果:OP10003266

    期权次主力合约
    OptionCZLId
    定义:OptionCZLId(IndexId:string,EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权次主力合约,只适用于日线,规则为:
         1)昨日持仓量第二大
         2)昨日成交量第二大
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权次主力合约

    范例
     //"SH510050"在20210331日的期权次主力合约
     return OptionCZLId("SH510050",20210331T,0,-1);
     //结果:OP10003273

    OptionCZLId2
    定义:OptionCZLId2(EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权次主力合约,与系统参数Pn_stock有关,只适用于日线,规则为:
         1)昨日持仓量第二大
         2)昨日成交量第二大
    参数
    名称类型说明
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权次主力合约

    范例
     //"SH510050"在20210331日的期权次主力合约
     setsysparam(pn_stock(),'SH510050');
     return OptionCZLId2(20210331T,0,-1);
     //结果:OP10003273

    期权平值合约
    OptionFlatValueId
    定义:OptionCZLId(IndexId:string,EndT:datetime,OptionType:Integer):array
    说明:返回指定日指定标的的平值合约,只适用于日线,规则为:
     行权价等于或最接近标的证券现价的合约(行权价格=市价)
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    返回值array指定标的的平值合约

    范例
     //"SH510050"在20210331日的认购的期权平值合约
     return OptionFlatValueId("SH510050",20210331T,0);
     //结果:array("OP10003207","OP10002865","OP10003330","OP10003265")

    期权虚值合约
    OptionVirtualValueID
    定义:OptionVirtualValueID(IndexId:string,EndT:datetime,OptionType:Integer):array
    说明:返回指定日指定标的的虚值合约,只适用于日线,规则为:
      行权价高于标的证券现价的合约(行权价格>市价)
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    返回值array指定标的的虚值合约

    范例
     //"SH510050"在20210331日的认购的虚值合约
     return OptionVirtualValueID("SH510050",20210331T,0);

    期权实值合约
    OptionRealValueID
    定义:OptionRealValueID(IndexId:string,EndT:datetime,OptionType:Integer):array
    说明:返回指定日指定标的的实值合约,只适用于日线,规则为:
      行权价低于标的证券现价的合约(行权价格<市价)
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    返回值array指定标的的实值合约

    范例
     //"SH510050"在20210331日的认购的实值合约
     return OptionRealValueID("SH510050",20210331T,0);

    期权平值主力合约
    OptionFlatZLId
    定义:OptionFlatZLId(IndexId:string,EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权平值主力合约,只适用于日线,规则为:
         1)昨日持仓量最大
         2)昨日成交量最大
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权平值主力合约

    范例
     //"SH510050"在20210331日的期权平值主力合约
     return OptionFlatZLId("SH510050",20210331T,0,0);
     //结果:OP10003265

    OptionFlatZLId2
    定义:OptionFlatZLId2(EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权平值主力合约,与系统参数Pn_stock有关,只适用于日线,规则为:
         1)昨日持仓量最大
         2)昨日成交量最大
    参数
    名称类型说明
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权平值主力合约

    范例
     //"SH510050"在20210331日的期权平值主力合约
     setsysparam(pn_stock(),"SH510050");
     return OptionFlatZLId2(20210331T,0,0);
     //结果:OP10003265

    期权平值次主力合约
    OptionFlatCZLId
    定义:OptionFlatCZLId(IndexId:string,EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权平值次主力合约,只适用于日线,规则为:
         1)昨日持仓量第二大
         2)昨日成交量第二大
    参数
    名称类型说明
    IndexIdstring标的代码
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权平值次主力合约

    范例
     //"SH510050"在20210331日的期权平值次主力合约
     return OptionFlatCZLId("SH510050",20210331T,0,0);
     //结果:OP10003274

    OptionFlatCZLId2
    定义:OptionFlatCZLId2(EndT:datetime,OptionType,CheckType:Integer):string
    说明:返回指定日指定标的的期权平值次主力合约,与系统参数pn_stock相关,只适用于日线,规则为:
         1)昨日持仓量第二大
         2)昨日成交量第二大
    参数
    名称类型说明
    EndTdatetime截止日期
    OptionTypeInteger期权类型:
     -1:所有
     0:认购
     1:认沽
    CheckTypeInteger筛选类型:
     0:昨日持仓量
     1:昨日成交量
    返回值string指定标的的期权平值次主力合约

    范例
     //"SH510050"在20210331日的期权平值次主力合约
     setsysparam(pn_stock(),"SH510050");
     return OptionFlatCZLId2(20210331T,0,0);
     //结果:OP10003274

    是否平值合约
    OptionIsFlatValueID
    定义:OptionIsFlatValueID(OptionId:string,EndT:datetime):bool
    说明:指定日指定期权代码是否为平值合约
    参数
    名称类型说明
    OptionIdstring期权代码
    EndTdatetime截止日期
    返回值bool指定期权代码是否平值合约

    范例
     //"OP10003265 50ETF购4月3600"在20210331日是否平值合约
     return OptionIsFlatValueID("OP10003265",20210331T);
     //结果:1

    OptionIsFlatValueID2
    定义:OptionIsFlatValueID2(EndT:datetime):bool
    说明:指定日指定期权代码是否为平值合约,与系统参数pn_stock相关
    参数
    名称类型说明
    EndTdatetime截止日期
    返回值bool指定期权代码是否平值合约

    范例
     //"OP10003265 50ETF购4月3600"在20210331日是否平值合约
     setsysparam(pn_stock(),"OP10003265");
     return OptionIsFlatValueID2(20210331T);
     //结果:1

    是否实值合约
    OptionIsRealValueID
    定义:OptionIsRealValueID(OptionId:string,EndT:datetime):bool
    说明:指定日指定期权代码是否为实值合约
    参数
    名称类型说明
    OptionIdstring期权代码
    EndTdatetime截止日期
    返回值bool指定期权代码是否实值合约

    范例
     //"OP10003265 50ETF购4月3600"在20210331日是否实值合约
     return OptionIsRealValueID("OP10003265",20210331T);
     //结果:0

    OptionIsRealValueID2
    定义:OptionIsRealValueID2(EndT:datetime):bool
    说明:指定日指定期权代码是否为实值合约,与系统参数pn_stock相关
    参数
    名称类型说明
    EndTdatetime截止日期
    返回值bool指定期权代码是否实值合约

    范例
     //"OP10003265 50ETF购4月3600"在20210331日是否实值合约
     setsysparam(pn_stock(),"OP10003265");
     return OptionIsRealValueID2(20210331T);
     //结果:0

    是否虚值合约
    OptionIsVirtualValueID
    定义:OptionIsVirtualValueID(OptionId:string,EndT:datetime):bool
    说明:指定日指定期权代码是否为虚值合约
    参数
    名称类型说明
    OptionIdstring期权代码
    EndTdatetime截止日期
    返回值bool指定期权代码是否虚值合约

    范例
     //"OP10003265 50ETF购4月3600"在20210331日是否虚值合约
     return OptionIsVirtualValueID("OP10003265",20210331T);
     //结果:0

    OptionIsVirtualValueID2
    定义:OptionIsVirtualValueID2(EndT:datetime):bool
    说明:指定日指定期权代码是否为虚值合约
    参数
    名称类型说明
    EndTdatetime截止日期
    返回值bool指定期权代码是否虚值合约

    范例
     //"OP10003265 50ETF购4月3600"在20210331日是否虚值合约
     SetSysParam(pn_stock(),"OP10003265");
     return OptionIsVirtualValueID2(20210331T);
     //结果:0