FAQ > 金融建模 > 数据提取 > 行情数据

Q:如何获取股票在指定日的第一次涨停时间?    

  • A:可封装函数getstockztTime(Endt)获取当前股票在指定日第一次达到涨停的时间,具体实现代码如下:

    function getstockztTime(Endt);
    begin
      ov:=BackupSystemParameters2();
      ztC:=stockztclose(Endt);
      ti:= vselect ['date'] from tradetable datekey endt to endt+0.999
      of DefaultStockID() where ['sectional_high']>=ztC order by ['date'] end;
      if not ifnil(ti) then return datetimetostr(ti);
      else return nil;//当天没有达到涨停时返回nil
    end;

    调用范例:

      endt:=20200907T;
      setsysparam(pn_date(),endt);
    //用query函数生成报表
    //判断条件:StockIsZt=1,筛选涨停板的股票
      data := Query('上证A股;创业板;科创板;深证A股','',
                StockIsZt(endt)=1,'',
                '证券代码',DefaultStockID(),
                '证券名称',CurrentStockName(),
                '收盘价',Close(),
                '首次涨停时间',getstockztTime(Endt)
                );
       return data;
    //返回结果如下(部分结果展示):
    证券代码证券名称收盘价首次涨停时间
    SH600083*ST博信7.3100002020-09-07 09:25:00
    SH600146*ST环球2.2700002020-09-07 13:38:53
    SH600518ST康美3.4200002020-09-07 09:25:00
    SH600555*ST海创1.8100002020-09-07 09:47:42
    SH600619海立股份8.9700002020-09-07 09:35:08
    SH600634*ST富控1.1400002020-09-07 09:25:00
    SH600666ST瑞德1.5500002020-09-07 11:11:42
    ...
    SZ300376易事特9.1400002020-09-07 09:51:42
    SZ300647超频三13.9200002020-09-07 09:53:03
    SZ300708聚灿光电27.9800002020-09-07 09:25:03
    SZ300802矩子科技41.3300002020-09-07 11:14:09