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

Q:取组合截面数据    

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

    endt:=20190513T;
     stockArr:=getbkbydate('SH000016',endt);
     setsysparam(pn_cycle(),cy_day());
     setsysparam(pn_date(),endt);
     return select thisrow as '代码',stockname(thisrow) as '名称',
         spec(datetostr(sp_time()),thisrow) as '当前交易日',
         spec(close(),thisrow) as '收盘价',
         spec(stockzf3(),thisrow) as '涨幅(%)',
         spec(StockHsl3(),thisrow) as '换手率(%)'
         from stockArr end;

    其中,行情相关函数查找请参考:FAQ:Close
    范例2:取沪深300盘中当时的盘口数据

     stockArr:=getbk('沪深300');
     re:=array();
     for i:=0 to length(stockArr)-1 do
     begin
       setsysparam(pn_stock(),stockArr[i]);
       re[i,'StockID']:=stockArr[i];
       re[i,'time']:=datetimetostr(rd(-1));
       re[i,'price']:=rd(6);
       re[i,'vol']:=rd(8);
       re[i,'amount']:=rd(7);
       re[i,'5分钟涨幅']:=rd(9);
       re[i,'量比']:=rd(22);
     end
     return re;

    其中,盘口数据说明请参考:FAQ:
    范例3:取上海期权盘中相关指标

    QQArr:=getbk('上海期权');
       FundID:="SH510050";
       QQArr:=array(FundID) union2 QQArr;
       ret:=array();
       setsysparam(pn_cycle(),cy_day());//日线 -风险指标
       for i:=0 to length(QQArr)-1 do
       begin
         StockID:=QQArr[i];
         setsysparam(pn_stock(),StockID);
         ret[i,'SID']:=StockID;
         ret[i,'time']:=timetostr(rd(-1));
         ret[i,'price']:=rd(6);
         if isFund(StockID) then
         begin
           ret[i,'年化波动率']:=OP_HV(StockID,today());
           continue;
         end
         ret[i,'行权价']:=base(720010);
         ret[i,'到期天数']:=OP_GetDaysMaturity(today(),inttodate(base(720015)));
         ret[i,'无风险年化收益率']:=OP_GetRiskFreeRate(today(),0);
         greeks:=OP_Greeks(); //用期权现价得到期权隐含波动率, 通过隐含波动率来计算五个风险指标。
         ret[i,'IV']:=greeks[0,'IV'];//隐含波动率
         ret[i,'Delta']:=greeks[0,'Delta'];
         ret[i,'Gamma']:=greeks[0,'Gamma'];
         ret[i,'Vega']:=greeks[0,'Vega'];
         ret[i,'Theta']:=greeks[0,'Theta'];
         ret[i,'Rho']:=greeks[0,'Rho'];
       end
       return ret;

    其中,期权风险指标相关说明请参考:FAQ:2023-04-17-应用专题-期权系列03:期权行情及风险指标(更新版)