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

Q:取组合时间序列数据    

简述
说明:在天软中提取各证券(股票、基金、期货、期权、债券等)行情数据的方法都是一样的, 都需要指定证券代码,数据周期,数据时间或复权(复权方式、复权基准日)等参数。在天软客户端中提取时,若不进行设置,则依次默认为(‘SH000001’,日线,今天,不复权),若是其他第三方调用,则需代码补齐这些参数,否则很有可能会影响数据的正确提取。
数据相关说明,请查阅: FAQ:Q:高频、超高频数据说明
FAQ:天软行情数据及处理机制说明
FAQ:TRADETABLE
FAQ:MARKETTABLE
FAQ:
  • 范例1:取上证50成份股在指定时间段内的基本行情数据

    begt:=20190501T;
     endt:=20190513T;
     IndexID:='SH000016';
     setsysparam(pn_stock(),IndexID);
     setsysparam(pn_cycle(),cy_day());
     Tarr:=StockTradeDayQk(begt,endt);//日线交易日序列
     re:=array();
     setsysparam(pn_cycle(),cy_60m()); //行情周期
     for i:=0 to length(Tarr)-1 do
     begin
       vEndt:=Tarr[i];
       sArr:=getbkbydate(IndexID,vEndt);
       re&=select ['StockID'],['StockName'],datetimetostr(['date']) as 'date',
       ['close'],['vol'],['amount'] from markettable datekey vEndt to vEndt+0.99
       of sArr end;
     end;
     return re;

    范例2:取上证50成份股在指定时间段内的收盘价、涨幅等

    begt:=20190401T;
     endt:=20190513T;
     IndexID:='SH000016';
     setsysparam(pn_stock(),IndexID);
     setsysparam(pn_cycle(),cy_day());
     Tarr:=StockTradeDayQk(begt,endt);
     re:=array();
     k:=0;
     for i:=0 to length(Tarr)-1 do
     begin
       vEndt:=Tarr[i];
       sEndt:=datetostr(vEndt);
       setsysparam(pn_date(),vEndt);
       sArr:=getbkbydate(IndexID,vEndt);
       for j:=0 to length(sArr)-1 do
       begin
         setsysparam(pn_stock(),sArr[j]);
         re[k,'StockID']:=sArr[j] ;
         re[k,'Date']:=sEndt;
         re[k,'是否交易']:=istradeday(vEndt);
         re[k,'价格']:=close();
         re[k,'涨幅(%)']:=stockzf3();
         re[k,'PE']:=stockpe(vEndt);
         k++;
       end
     end
     return re;