FAQ > 金融建模 > 建模问题 > 系统参数

Q:sp_time()和sp_time(1)的区别    

  • A:在取当前时间时:
    sp_time()返回的一定是交易日,如果被设置的日期不是交易日,则返回它前一个交易日;
    而sp_time(1)返回的是设置的日期,而不管它是不是交易日;
    当用在取序列时间时:sp_time(1)与sp_time()效果一致,都是返回交易日序列。可以在平台上运行下述代码查看不同:
    //当前值
    setsysparam(pn_stock(),'SH000001');
    setsysparam(pn_cycle(),cy_day());
    setsysparam(pn_date(),inttodate(20100905)); //20100905是周日
    return array('sp_time()':datetostr(sp_time()),'sp_time(1)':datetostr(sp_time(1)));
    结果:


    //序列值
    setsysparam(pn_stock(),'SH000001');
    setsysparam(pn_cycle(),cy_day());
    setsysparam(pn_date(),inttodate(20100905)); //20100905是周日
    return nday(5,'sp_time()',sp_time(),'sp_time(1)',sp_time(1));
    结果对时间序列CTRL+D: