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

Q:天软中如何取1分钟线行情    

  • A:下面给几个常见的批量提取的方式
    范例01:取个股指定日1分钟线行情
    stockid:="SZ000002";
    endt:=20260421T;
    setsysparam(pn_cycle(),cy_1m());//设置为分钟线
    t:= select *,datetimetostr(['date']) as 'date'
      from Markettable datekey endt to endt +16/24 of stockid end;
    return t;

    注:
    1、若是需要其它周期,将cy_1m()更改成对应周期即可,其它周期可参考:FAQ:周期函数
    2、若是不需要所有字段,只需要个别字段,可通过将select *改成select ['vol'],['close']的方式进行指定,具体可参考:FAQ:Q:高频、超高频数据说明
    字段列表说明:FAQ:交易明细表tradetable、分时表markettable

    范例02:取多个股票指定日1分钟线行情
    stocks:=array("SZ000002","SH600000","SH000300"); //指定多个证券
    endt:=20260421T;
    setsysparam(pn_cycle(),cy_1m());//设置为分钟线
    t:= select *,datetimetostr(['date']) as 'date'
    from Markettable datekey endt to endt +16/24 of stocks end;
    return t;


    范例03:取多个股票多日的1分钟线行情
    stocks:=array("SZ000002","SH600000","SH000300"); //指定多个证券
    begt:=20260420T;
    endt:=20260421.16T; //注意:要带上时间部分
    setsysparam(pn_cycle(),cy_1m());//设置为分钟线
    t:= select *,datetimetostr(['date']) as 'date'
    from Markettable datekey begt to endt of stocks end;
    return t;


    范例04:取指定日A股某截面的1分钟线行情
    endtime:=strtodatetime("2026-4-21 10:31:00");
    endt:=dateof(endtime);
    stocks:=getAbkbydate("A股",endt); //指定多个证券
    setsysparam(pn_cycle(),cy_1m());//设置为分钟线
    t:= select *,datetimetostr(['date']) as 'date'
    from Markettable datekey endtime to endtime of stocks end;
    return t;

    多截面,则datekey endtime to endtime 改成datekey 开始时间 to 截止时间 模式即可。
    更多,比如指定日所有A股的所有分钟线行情,由于数据量较大,不建议一次性提取,一般处理逻辑可参考:FAQ:Q:天软客户端如何下载一段时间的高频行情数据到本地?