我有一个包含一段时间内月度公司债券数据的数据集,并且我已经添加了一个月前提前30年无风险债券价格曲线的样条插值。我有一个变量“next_int”告诉我下一张优惠券到期需要多少个月以及剩下几个月到期,“mnts_mat”。
我还有一个优惠券频率变量,“cf”。样条债券价格列为var1,var2,...,var360。我想在几个月内总结一下优惠券付款的样条债券价格。
因此,对于一个月内到期的下一笔利息和一年两次的优惠券频率在13个月到期的债券,我想创建一个变量y = var1 + var7 + var13。我现在写的是:
data bond2 (DROP=i);
set bond1;
by issue_id date;
y=0
do i=next_int to mnts_mat by 12/cf;
y=y+var'i';
end;
run;
这不起作用。我还尝试创建一个宏,将i作为参数并输出vari,但这也不起作用。非常感谢任何帮助,提前谢谢。
答案 0 :(得分:3)
我不太了解问题的本质,但这里有一些指示:
[代码]
data bond2 (DROP=i);
set bond1;
by issue_id date;
array vars var1-var360;
y=0;
do i=next_int to mnts_mat by 12/cf;
y=y+var[i];
end;
run;