天软金融分析.NET函数大全 > TSL函数 > 数学函数 > 增长率与比率

YTMToAccumulativeYTM    

简述
日收益率转换复合收益率。
定义
YTMToAccumulativeYTM(t:array;fName:String;Dw:integer;Returntype:any):array|real
参数
名称类型说明
tarray数组。日收益率序列
fNameString字符串。收益字段名称
Dwinteger整数。决定源数据的单位和返回的数据
取值 说明
0 源数据日收益率的单位为1,返回单位为%的复合收益率
1 源数据日收益率的单位为%,返回单位为%的复合收益率
2 源数据日收益率的单位为1,同时返回源数据和单位为%的复合收益率
3 源数据日收益率的单位为%,同时返回源数据和单位为%的复合收益率
4 多用于求货币基金的累计收益率,返回单位为%的累计收益率
5 多用于求货币基金的累计收益率,同时返回每万份基金单位收益和单位为%的累计收益率
Returntypeany用户自定义,决定返回的复合收益率数据及其单位
取值 说明
0 返回单位为%的复合收益率序列
其它 返回单位为1的最近一日复合收益率
返回array|real数组(复合收益率序列)或者实数(最近一日复合收益率)
  • 算法
    复合收益率=(当天日收益率+1)*(1+昨日复合收益率)-1;
    范例

    范例01:
    //源数据单位为1,dw=2,同时返回日收益率和转换后的复合收益率
    t1:=array(('日期':20180801T,'日收益率':0.3),
        ('日期':20180802T,'日收益率':0.6),
        ('日期':20180803T,'日收益率':0.9));
    r1:=YTMToAccumulativeYTM(t1,'日收益率',2,0);
    //源数据单位为%,dw=3,同时返回日收益率和转换后的复合收益率
    t2:=array(('日期':20180801T,'日收益率(%)':30),
        ('日期':20180802T,'日收益率(%)':60),
        ('日期':20180803T,'日收益率(%)':90));
    r2:=YTMToAccumulativeYTM(t2,'日收益率(%)',3,0);
    return r1|r2;

    //结果:

    范例2:
    //计算基金OF000009易方达天天理财A的累计收益率(%)
    SetSysParam(PN_Stock(),"OF000009");
    t:=array(('日期':20150104T,'每万份基金单位收益':4.3769),
        ('日期':20150105T,'每万份基金单位收益':1.2507),
        ('日期':20150106T,'每万份基金单位收益':1.4671));
    r:=YTMToAccumulativeYTM(t,'每万份基金单位收益',5,0);
    return r;

    //结果:
相关