FAQ > 金融建模 > 数据提取 > 基本面数据

Q:期权.最活跃和持仓最大标的券合约(722)表中交易总量和持仓总量与行情数据之间的关系    

  • A:天软基本面信息表【期权.最活跃和持仓最大标的券合约情况】(表ID为722)中,采集了交易所每日公布的认购与认沽期权的交易与持仓数量。
    其公布的总量值与对应期权合约在当日的行情总量存在如下关系:
    指定标的在指定日的认购或认沽期交易总量 = 指定日该标的下的所有认购或认沽合约的总成交量*2;
    指定标的在指定日的认购或认沽期持仓总量 = 指定日该标的下的所有认购或认沽合约的总持仓量*2;


    即,基本面表中交易总量与持仓总量是双边计算,而交易行情中成交量与持仓量是单边计算的。

    【数据关系举例】
    取数样本:300ETF期权(标的:SH510300)在2023-08-10日的交易与持仓总量
    1、从722表中,提取该品种在这一天的交易与持仓总量数据如下:
    return select distinct ["StockID"],["截止日"],["期权类型"],["数据类型"],["总量"] from infotable 722 of "SH510300" where ["截止日"]=20230810 end;



    2、统计当日行情成交量与持仓量数据如下:
    endt:=20230810T;
      id:=OP_GetOptionChain("SH510300",endt);
      id1:=sselect ["StockID"] FROM id where ["期权类型"]="认购" end;
      id2:=sselect ["StockID"] FROM id where ["期权类型"]="认沽" end;
      hq1:= select datetoint(["date"]) as "date","认购" as "类型",
           sumof(["vol"]) as "总成交量",
           sumof(["cjbs"]) as "总持仓量"
           from markettable datekey endt to endt of id1 end;
      hq2:= select datetoint(["date"]) as "date","认购" as "类型",
           sumof(["vol"]) as "总成交量",
           sumof(["cjbs"]) as "总持仓量"
           from markettable datekey endt to endt of id2 end;
      return select *,["总成交量"]*2 as "成交量*2",
              ["总持仓量"]*2 as "总持仓量*2"
         from hq1[0:0] union hq2[0:0] end;

    统计结果如下:从数值上可以看出,722表中交易总量与持仓总量分别是当日行情数据中的品种类型的成交总量与持仓总量的2倍