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

Q:如何提取当月最后一个交易日    

  • A:方式一:通过月线下的指定日当月量后一个市场交易日来获取

    endt:=20200501T;
    return specall(specdate(spec(sp_time(),'SH000001'),endt),array(pn_cycle():cy_month()));
    //返回2020-05-29日

    方式二:通过指数交易日753表来获取(相对于方式一来说,可提取近期的未来交易日-依赖交易所对交易日的公布)

    endt:=today();
    bT:=datetoint(StartOfTheMonth(endt));
    eT:=datetoint(EndOfTheMonth(endt));
    t:= sselect ['截止日'] from infotable 753 of 'SH000001'
      where ['是否交易日']=1 and ['截止日']>=bT and ['截止日']<=eT end;
    if istable(t) then
      return inttodate(t[length(t)-1]);
    else return 0;
    //返回:2020-06-30日  pS:范例执行日为20200615T