使用DO Loop在SAS中的月度和年度复利

时间:2018-10-08 19:53:38

标签: sas

我正在独自学习SAS。我没有人要提及,所以我只想检查我的代码是否正确。

以25年的定期存款计算末期的总金额 期限,初始金额为$ 5,00,000,年利率为7%* /  1)每年复利  2)每月复利。显示每月金额

My Code:
data deposit;
amount = 500000;
rate = 0.07;
do year = 1 to 25;
amount + earned;
earned + (amount*0.07);
principal = amount + earned;
output;
end;
run;

第二个问题按月复算

data deposit1;
rate = 0.006;
amount1 = 500000;
do year = 1 to 25;
do month = 1 to 12;
earned1 + (earned1 + amount1)*0.006;
amount1 + earned1;
output;
end;
end;
run;

粘贴解决方案1和解决方案2的屏幕截图 Problem 1 Result Problem 2 Result

我很困惑,因为当我每年和每月复利时,在特定年份的末尾都有不同的结果。

如果我的代码有任何错误,请提出建议。感谢您的时间和关注。

1 个答案:

答案 0 :(得分:1)

您似乎在每月复利代码中重复计算了您的earned1变量。

earned1 + (earned1 + amount1)*0.006;
amount1 + earned1;

应该是:

earned1 = amount1*0.07**(1/12);
amount1 + earned1;

请注意,您也不想舍入利率。