SAS中的损失贴现

SAS中的损失贴现,sas,Sas,我正在写关于职业伤害成本的硕士论文。作为论文的一部分,我估计了受伤后四年内每个人每年的预期工资损失。我想将估计损失贴现到SAS的特定基准年(2009年) 2009年的贴现损失正好等于估计损失。对于2010年和2010年,可使用净现值函数计算贴现损失: IF year=2009 then discount_loss=wage; IF year=2010 then discount_loss=netpv(0.1,1,0,wage); IF year=2011 then dis

我正在写关于职业伤害成本的硕士论文。作为论文的一部分,我估计了受伤后四年内每个人每年的预期工资损失。我想将估计损失贴现到SAS的特定基准年(2009年)

2009年的贴现损失正好等于估计损失。对于2010年和2010年,可使用净现值函数计算贴现损失:

    IF year=2009 then discount_loss=wage;
    IF year=2010 then discount_loss=netpv(0.1,1,0,wage);
    IF year=2011 then discount_loss=netpv(0.1,1,0,0,wage);
等等。但从2014年开始,我想使用2014年的预计工资损失作为未来的预期损失——例如,如果预计损失为100美元,则代表退休前的年度损失。因为每个人的年龄都不一样,所以硬编码的方法太多了,所以我正在寻找一种更好的方法。我的数据集中大约有20万人,每年的估计损失不同

(虚构)数据的格式如下所示:

   id  age  year  age_retirement  wage_loss rate discount_loss 
   1   35   2009      65            -100     0.1   -100
   1   36   2010      65            -100     0.1   -90,91
   1   37   2011      65            -100     0.1   -82,64
   1   38   2012      65            -100     0.1   -75,13
   1   39   2013      65            -100     0.1   -68,30
   1   40   2014      65            -100     0.1   
贴现损失一栏是损失i 2009的净现值。按上述方法计算。 我希望2014年的损失代表劳动力市场剩余时间(直到退休)的损失总额。从2014年到2014年,2009年的折扣为-100美元(65-40)


谢谢

财务
功能用于
现值。
在上述情况下,25年付款(65-40)=25的价值为100。我将把年数的计算留给你

FINANCE('PV', rate, nper, payment, <fv>, <type>);
值=998.47440201

参考资料如下:

如果你在寻找速度,为什么不先计算一个数组,其中包含从1到n的i年的1美元PV。然后只需选择所需的元素并进行乘法。这一切都可以在一个数据步骤中完成。

听起来你想做的事情应该不是很困难。然而,我不确定你想要什么。如果不使用netpv功能,您能否提供一个具体的示例来说明您正在寻找什么?显示您的输入数据和输出数据。我很抱歉在这一点上不太清楚。在提供的数据集中,该人在2014年退休(65-40岁)前有25年。如果我想计算净现值,我必须写出净现值(0.1,1,0,0,0,0,0,工资损失,工资损失,工资损失…)。我想用一种更有效的方法,因为我有很多人。对不起,我4小时的睡眠是不够的。不,它不是…我很少得到那么多!
value=FINANCE('PV', 0.1, 25, -100, 0, 1);