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

Q:如何批量获取期货日成交持仓排名数据    

  • 说明:
     期货日成交持仓排名数据说明:FAQ:2023-12-05-数据更新-期货数据007:关于增加期货日成交持仓排名数据及访问方法(更新版)
     由于数据量过大,在证券数据专家中只保存了近三个月的数据可通过701表获取;
     访问历史数据可通过模型GetFuturesTradeRankingByDate,该模型每次只支持获取单个期货指定日的数据;

     批量获取该数据方法参考如下(其中TD_getFuturesTradeRankingData需要用户封装):
    stocks:=GetFuturesID('IF',today());
    return TD_getFuturesTradeRankingData(stocks,20210601T,20210617T);

    中间函数TD_getFuturesTradeRankingData(可存为用户函数调用):
    Function TD_getFuturesTradeRankingData(stockarr,begt,endt);
    Begin
      ov:=BackupSystemParameters2();
      if not istable(stockarr) then return array();
      setsysparam(pn_cycle(),cy_day());
      Tarr:=MarketTradeDayQk(begt,endt);
      if not istable(Tarr) then return array();
      result:=array();
      for i:=0 to length(stockarr)-1 do
      begin
        setsysparam(pn_stock(),stockarr[i]);
        for j:=0 to length(Tarr)-1 do
        begin
          ret:=GetFuturesTradeRankingByDate(Tarr[j],t);
          if ret then result&=t;
        end
      end
      return result;
    End;