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

Q:如何提取指定日多个证券的最高价、最低价以及对应的时点?    

  • A:天软有提供模型FAQ:HHV和FAQ:LLV,用于提取最近N日指标最高值、最低值。
    当调用上述函数后,可通过系统参数“hhvtime”、“llvtime”获取最高值、最低值对应的时间。
    用法示例见:
    SetSysParam(pn_stock(),"SZ000002");
    SetSysParam(Pn_date(),20241210T);
    high:=hhv(close(),10);
    hdate:=datetostr(GetSysParam('hhvtime'));
    return array(high,hdate);


    范例:提取上证A股在2024-12-10日,1分钟线最高价、最低价以及对应时点和涨幅
    实现代码如下:
      endt:=20241210T;
      SetSysparam(PN_Cycle(),cy_1m());
      SetSysparam(PN_Date(),endt+16/24);
      N:=tradedays(endt,endt+16/24);
      stocks:=GetAbkbyDate("上证A股",endt);
      ret:=array();
      for i:=0 to length(stocks)-1 do
      begin
        stock:=stocks[i];
        SetSysparam(PN_Stock(),stock);
        ret[i,"代码"]:=stock;
        ret[i,"系统昨收"]:=SectionPrevClose();
        ret[i,"当日涨幅"]:=Stockzf4(endt);
        ret[i,"当日最高价"]:=hhv(close(),N);
        hdate:=GetSysParam('hhvtime');
        ret[i,"最高价时点"]:=datetimetostr(hdate);
        ret[i,"最高价时点涨幅"]:=Stockzf6(endt,hdate);
        ret[i,"当日最低价"]:=llv(close(),N);
        ldate:=GetSysParam('llvtime');
        ret[i,"最低价时点"]:=datetimetostr(ldate);
        ret[i,"最低价时点涨幅"]:=Stockzf6(endt,ldate);
      end
      return ret;

    返回结果: