FAQ > 金融建模 > 建模问题 > 交易日相关

Q:如何得到某个日期的上一个交易日    

  • A:
    LastTradeDay(EndT),此函数与股票相关;
    取市场的上一个交易日,即将系统股票设为某指数,股票同理,代码如下:

    SetSysParam(PN_Stock(),'SH000001');
      return LastTradeDay(inttodate(20110401));  //返回结果:40633(即2011年3月31日)

     取向后的N个交易日,函数:StockEndTAfterNDay(BegT,N);
     取向前的N个交易日,函数:StockEndTPrevNDay(EndT,N);
    这三个函数其实都是使用ref这个函数封装的,Ref(Exp: TExpression; N : Integer),求N日前Exp的值。譬如,求N日前的涨幅,参考范例如下:

    SetSysParam(PN_Stock(),'SH600000');
    EndT:=inttodate(20110331);
    SetSysParam(PN_Date(),EndT);
      return ref(StockZf3(),3);  //返回结果:0.3(即2011年3月28日的涨幅)