我有一个数据集,其中包含一段时间内的月度公司债券数据,并且我在其上添加了一个无风险债券价格曲线的样条插值,该曲线按月向前 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,但这也不起作用。任何帮助将不胜感激,在此先感谢。