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

Q:取个股时间序列数据    

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

    begt:=20190401T;
     endt:=20190513T;
     setsysparam(pn_stock(),'SZ000002');
     setsysparam(pn_cycle(),cy_60m());//1小时线
     setsysparam(pn_date(),endt);
     setsysparam(pn_rate(),1);
     setsysparam(pn_rateDay(),endt);//以截止日为复权基准日
     n:=tradedays(begt,endt);
     return nday(n,'date',datetimetostr(sp_time()),
            'close',close(),
            '涨幅(%)',stockzf3(),
            '收盘价5日平均',ma(close(),5),
            'RSI',RSI_v(6),
            'MACD',MACD_MACD_v(12,26,9));

    范例2:取个股一段时间内后复权日线高、开、低、收等

    begt:=20190401T;
     endt:=20190513T;
     setsysparam(pn_stock(),'SZ000002');
     setsysparam(pn_cycle(),cy_day());
     setsysparam(pn_rate(),1);
     setsysparam(pn_rateDay(),-1);
     return select ['StockID'],['StockName'],datetostr(['date']) as 'Date',
     ['high'],['open'],['low'],['close'],['vol'],['amount']
     from markettable datekey begt to endt of 'SZ000002' end;

    范例3:取个股一段时间内高频(1分钟线)的高、开、低、收等

    begt:=20190513.1430T;
     endt:=20190514.1130T;
     setsysparam(pn_cycle(),cy_1m());
     return select ['StockID'],['StockName'],datetimetostr(['date']) as 'Date',
     ['high'],['open'],['low'],['close'],['vol'],['amount']
     from markettable datekey begt to endt of 'SZ000002' end;

    范例4:取个股一段时间内前复权日线收盘价、涨幅、PE,PB等

    begt:=20190401T;
     endt:=20190513T;
     setsysparam(pn_stock(),'SZ000002');
     setsysparam(pn_cycle(),cy_day());
     setsysparam(pn_rate(),1);
     setsysparam(pn_rateDay(),0); // 以最后交易日为基准日
     setsysparam(pn_date(),endt);
     n:=stocktradedays(begt,endt);
     return nday(n,'date',datetostr(sp_time()),
            'close',close(),
            '涨幅(%)',stockzf3(),
            'PE',stockpe(sp_time()),
            'PB',StockPNA(sp_time()));