DCF估值方法及Excel建模

關於現金流貼現估值法(DCF法)

之前有知友在 財務分析小工具v25版 中建議我將工具中的PE估值法替換為DCF估值方法,其實我並非沒有考慮過,只不過考慮到DCF需要假設很多變數,因此也就遲遲沒有動手。

鑒於了解DCF可以更好的理解貨幣的時間價值以及必要報酬率等的實踐意義,因此借本文與知友們做一個簡單分享。

1)貨幣的時間價值

這個是在公司理財中的一個重要概念,說的是今年的100元,在明年就不止100元了,很簡單的一個道理,就算我把這100元錢存入銀行,一年後價值也應該是102元

2)必要報酬率

如果我投資收益率基本能穩定到8%,那今年的100元,放到明年,價值就是108元,很顯然,如果你再向我借錢,如果利率低於了8%,我就不會再借給你(沒有任何收益嘛),這8%,就成了我的必要報酬率。

3)現值和終值

還是拿上面存錢的例子,假設存款利息2%,那麼,可以認為今年的100元與明年的102元等值,我們稱這個一年後(或者n年後)的貨幣價值為終值,而對應當前的價值,為現值。

4)複利

還是拿上面的存款來說,假設100元存三年,第一年本息和為102元,第二年就是102(1+0.02)=104.4元,第三年就成了104.04(1+0.02)=106.12,如果一直這樣下去,N年後存款價值:FV=C*(1+r)^N

5)貼現

我們不光需要知道我們的錢在給定條件下在未來會變成多少,有時也想知道未來的一筆資產在現在能值多少,根據以上公式我們可以得出C=FV/(1+r)^N

當然,投資界的事情哪有這麼簡單,就算有這麼簡單的事情,我們也會把它弄的很複雜的。

俗話說:人無千日好,花無百日紅,公司也沒有永恆的,但是這並不妨礙我們進行假設,比如我們就假設所有公司都是永恆的,並且它還能瘋狂的增長一陣子,淡定的增長一陣子,然後低調的增長一輩子。然後我們再根據這個假設來看這個公司到底多少錢給我我才會買。

注意:DCF估值方法的前置假設一定是公司是永續經營的,脫離了這個假設,估值方法也就不成立了。

根據三段假設,我們也可以將這個公司的現金流量分為三段,然後分別進行貼現,最後匯總後的就是我們可以接受的價格了。

我們假設必要報酬率為r,擬購企業瘋狂增長階段為g1,增長p1年,初始現金流量為c,那麼,這個公司P期內現金流量為

(c(1+g),…,c(1+g)^p1)

然後對現金流進行貼現求和就得到第一階段現值了。

sum((1+g)/(1+r),…,c*(1+g)^p1/(1+r)^p1)。

同理可以將淡定增長階段現值計算出來(第二階段起始現金流可以通過終值計算公式算得),只不過,計算出來的結果是P1期末現值,我們需要的是當前的價值,因此第二階段還需往前貼現P1期。

第三階段為永續增長階段,也就是說這是一個永續增長年金,年金現值為c3/(r-g3),同樣,由於時間已經過了P1+P2期,應該將其貼現到當期。

什麼?你說你能準確預期每一期現金流,大家快來看上帝,在這種情況下,直接將每一期現金流以貼現率往前貼現即可。

理解DCF模型後,我們可以簡單構建一個模型來計算,首先我們可以寫一個簡單的自定義函數,計算在給定基期現金流,增長率,貼現率,及增長年限情況下的現值。函數很簡單,這裡直接貼出Visual Basic for Applications(vba)代碼。

Function PrensentValue1(r As Double, cf As Double, g As Double, p As Integer) As Doublen Application.Volatile n c = 0n For i = 1 To pn c = c + (cf * (1 + g) ^ i) / ((1 + r) ^ i)n Next in PrensentValue1 = cnEnd Functionn

然後依次對各階段現金流量進行貼現即可。

該模型下載地址:pan.baidu.com/s/1hsd8b9 密碼: u4if

注意:該模型與知友 @節律通途 提供的網站在最後一階段計算的結果不同,也不知網站是怎麼算的,還是我哪裡算錯了,如果知道的麻煩知友們指出,謝謝了。

參考資料:

現金流折現(DCF)計算器 - 愛股網

增長型永續年金 - MBA智庫百科

馮曉天/2017-10/29

------------------------------------

更新:關於與愛股網計算結果差異的說明 2017-10/31

經測試,在第三階段(永續階段),我這個模型用的是第三階段首期現金流(又去看了下增長永續年金定義,公式搞錯了...),而愛股網採用的是下一年現金流(即c3*(1+g3),將c13單元格公式裡面改為:

=(float_c3*(1+float_g3)/(float_r-float_g3))/POWER(1+float_r, (int_p+int_p2))

即可,特此更正


推薦閱讀:

怎麼看待「26歲財務女白領疑因工作問題上吊身亡」這則新聞?
現在手裡有二十萬 可以做哪些投資?
年薪24萬每月發放多少才能最合理的避稅?
便利店如何收集並利用數據實現盈利?

TAG:投资 | 财务 | MicrosoftExcel |