DTG (Dart Group) valuation: 350p, share price 207p

Awhile ago I said that I was putting together an “Aswath” collection of utilities on github to value companies using methods suggested by Prof Damodaran. Work is still ongoing, very scrappy, and mostly indecipherable to an outsiders. One part of it is his much simpler model for 3M. Whilst still not complete, I had written a Fortran program that computes part of it. Although the model is designed for using firm valuations, I thought it would make a good first approximation for equity. The 3M model is much simpler than his model for high-growth companies that might have different phases for revenues growth, losses, and so forth.

The necessary programs are available on github, but I’ll save you the trouble of hunting it down, and present the fortran program that does the calculations:

PROGRAM mmm
implicit none

!real, parameter:: rf = 0.0295, beta = 0.2114, erp = 0.0791
real :: rf , erp 
real :: beta 

real :: roe, dcov
real :: eps0 
!real, parameter :: roe = 0.1968, dcov = 2.1, eps0 = 8.98

!real omega, rho
!real a0, theta1, g1, h1

! sensible defaults
!real, parameter:: n = 5.0
integer :: n 
character :: dummy



! intermediate calculations
real :: theta1, g1
real :: gt, r
integer :: i
real ct

real p1, pt0, p0

real :: h1
real :: divs(1:100) ! dividends
read (*,*) dummy
read (*,*) roe
read (*,*) dcov
read (*,*) beta
read (*,*) rf
read (*,*) erp
read (*,*) eps0
read (*,*) n

theta1 = 1-1/dcov
g1 = roe *theta1

! set these intitial values
!beta = 0.2114
!beta = 1.2
h1 = rf + beta * erp


print *, 'g1', g1
r = (1+g1)/(1+h1)
print *, 'r', r, 1/r
do i = 1, n
 divs(i) = eps0 * r ** real(i) * (1-theta1)
 print *, divs(i)
end do
print *, 'p1: sum of divs 1:n', sum(divs(1:5)) ! should equal p1
p1 = eps0 *(1-theta1)*r * (1-r**n)/(1-r)

gt = rf
ct = rf + erp
pt0 = eps0 * r**n * (1+gt)/ct

! calculate pt0 the hard way
!div(n) = div(n-1) / (1-theta1) * (1-gt/ct)
!for i = int(n)+1, 100
! divs(i) = divs(i-1) * 

p0 = p1+pt0
print *, 'p1', p1, 'pt0', pt0, 'p0', p0




!data rf, beta, erp / 0.0295, 0.2114, 0.0791/

!data omega, rho / 2.1, 0.01968/


!data n / 5.0/
!a0, theta1, g1, h1, 
end program 

It is a simple two-phase growth model. Admittedly, the program is very scrappy at the moment, so I hope you can follow it. It is standard Fortran (90?), and ought to compile on any standard compiler. It has compiled using the free GFortran compiler. Linux and Cygwin users should have no trouble getting it working.

Here’s the input file, which you can redirect to the executable you create:

MMM    MODEL
0.14   ROE
8.9    DCOV
1.0    BETA
0.0295 RF
0.0496 ERP
21.4   EPS0
5      N
dated 30-jun-2014

Run that, and you get a valuation of 355.52 – the last number that pops out of the program. A note about the numbers:

  • N is the number of years that the growth phase will continue, before reverting to market returns. Using the value 5 is a very good default
  • ROE is return on equity during the growth phase. Stockopedia is reporting its ROE at 23.8% at the moment, but I’ve used a decade mean of 14%
  • DCOV is the dividend cover. I’m using 8.9, which is around about both the current and decade mean.
  • BETA is the beta of the stock. Quite tricky, because Aswath is publishing betas of 0.94 for air transport, Digital Look has a beta for DTG at 0.83. So maybe you’ll want to re-run the program using a lower beta. I’ve used a beta of 1, nice and simple
  • RF is the risk-free rate, which I’ve used from Jan 2014
  • ERP is the equity risk premium, which I’ve obtained by fiddling with Damodaran’s figures. They are computed or Jan 2014, as per RF
  • EPS0 is the current earnings per share, which I have taken from Stockopedia.

There are a number of other assumptions, like retention rates in the terminal phase, which don’t need to be specified. I’m writing some documentation, which should eventually appear on my github repo, and this will explain how these kinds of numbers can be obtained, and exactly how the DCF valuation model works.

I’m actually becoming quite a bit more keen on Damodaran’s work, because it allows you come up with an actual valuation, and incorporate growth assumptions, which I think is something value investors will  have a hard time doing ordinarily.

Anyway, DTG is taking a hit today, which is inconvenient for me, as I am a holder. Stockopedia has a stock rank of 97, which is obviously very good. Checking another site, I see that valuation ranks are consistent, which is nice to see. It’s also rebounding from being oversold. So hopefully this augers well. Incidentally, I’ve been doing some superficial scanning around on stocks that are cheap and oversold, and I think that it could make for a very interesting article. Just to give you a for-instance, if you had bought PIC (Pace) on 31 May 2011 after the massive sell-off, the RSI dipped to 21.4, and you could have bought at a price of around 94p. You would have needed nerves of steel, because the share price did dip to about 45p. Still, if you had kept the faith, you would had a return of about 55% pa for 3 years (that’s compounded, not arithmetically, and I am talking approximate). So doing some valuation work, looking for good value, and buying when the shares are way oversold can bring exceptional returns. All that is for another article, though.

Share price 207p, Valuation 355p.

Advertisements

About mcturra2000

Computer programmer living in Scotland.
This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s