2016-07-31 62 views
1

我正在寫關於職業傷害成本的碩士論文。作爲論文的一部分,我估計了傷害發生後四年每個人每年的預期工資損失。我想將估計的損失折扣到SAS的特定基準年(2009年)。SAS中的貼現損失

在2009年,折現損失與估計損失相等。對於2010年的折扣損失可以用netpv函數來計算:

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 

列discount_loss是損耗我2009計算如上述的淨現值。 我希望2014年的損失能夠代表勞動力市場剩餘時間(直到退休年齡)的損失總和。從2014年到2014+(65-40),這將是2009年-100美元的折扣。

謝謝!

+0

這聽起來不像你想做的事情應該是非常困難的。不過,我並不確定你想要計算什麼。如果不使用netpv函數,你能提供一個你正在尋找的具體例子嗎?顯示您的輸入數據和輸出數據。 – DCR

+0

我很抱歉沒有在這一個晶瑩剔透。在提供的數據集中,該人在2014年有25年直到退休(65-40)。如果我想計算淨現值,則必須編寫netpv(0.1,1,0,0,0,0,0,wage_loss ,wage_loss,wage_loss ...)。我想用更高效的方式,因爲我有很多個人。 –

回答

1

使用FINANCE功能爲PV,現值。 在上面的情況中,您正在尋找25年付款(65-40)= 25的100的價值。我會把計算的年數留給你。

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

對於您的情況,未來值爲0,並且假設在年初付款時類型= 1。 以下公式計算25年期間一系列100%支付,10%利率並在期初支付的現值。

value=FINANCE('PV', 0.1, 25, -100, 0, 1); 

值= 998.47440201

參考這裏: https://support.sas.com/documentation/cdl/en/lefunctionsref/67960/HTML/default/viewer.htm#p1cnn1jwdmhce0n1obxmu4iq26ge.htm

+0

爲什麼你不接受我的答案? – Reeza

+0

對不起,我4個小時的睡眠是不夠的。 –

+0

不要它不...我很少得到那麼多! – Reeza

0

如果您正在尋找速度,爲什麼不先計算包含$ 1的PV爲我多年的一個數組我從1到n。然後,只需選擇你需要的元素並相乘即可。這可以全部在數據步驟中完成。