FAQ > 金融建模 > 建模问题 > 股票相关

Q:给定起始日期、结束日期、股票代码,返回这只股票的日收益率、累计收益率数据?    

  • 如果只是单纯计算涨幅,用户可以用stockzf系列函数计算收益率,
    有  stockzf(begt,endt)计算begt到endt时间段的收益率;
        stockzf2(N) 计算N日的收益率;
        stockzf3()计算当前时间当前周期的收益率。
    如:计算begt到endt之间 平安银行的日收益率

    stockid:="SZ000001";
    begt:=20150501T;
    endt:=20150801T;
    setsysparam(pn_stock(),stockid);
    setsysparam(pn_date(),endt);
    setsysparam(pn_cycle(),cy_day());
    n:=tradedays(begt,endt);
    r:=nday(n,'time',datetostr(sp_time()),'zf',stockzf3());
    ljzf:=pf_CumulativeReturn(r,'zf');
    return array(r,ljzf);

    其中,结果中r即每日的股票收益率,ljzf即这段时间的累计收益率。
    如果是计算交易中的股票收益率,则需考虑费率等情况,同样先计算出日收益率再用函数计算累计收益。