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

Q:如何提取期货结算价与持仓量    

  • A:结算价与持仓量都来源于行情数据,所以一般可通过两种方式提取:
    行情数据及数据提取的相关说明:
    方式一:行情表格Markettable(适合批量)
    FAQ:Q:高频、超高频数据说明 setsysparam(pn_cycle(),cy_day());
      return select ["StockID"],
         datetostr(["date"]) as "date",
         ["close"],
         ["syl1"],//结算价
         ["syl2"],//前结算价
         ["cjbs"]//持仓量,还可增加其它字段
       from markettable datekey 20240801T to 20240806T
       of array("IF00","IC00") end;

    结果:


    方式二:指标函数+时间序列函数Nday(适合个股)
    setsysparam(pn_stock(),"IF00");
      setsysparam(pn_cycle(),cy_day());
      setsysparam(pn_date(),20240806T);
      N:=10;
      return Nday(N,"date",datetostr(sp_time()),
        "close",close(),
        "结算价",Settlement(),//结算价
        "前结算",prev_Settlement(),//前结算价
        "持仓量",OpenInterest()//持仓量
        //,增加其它指标
        );

    结果: