This is the second in a series of posts about using APL to crunch numbers. It starts with a database of sorts in APL.
I want to use present-value equations to assess various stocks. To do so I need specific stocks to investigate. I built a database of the top 20 stocks from the Fortune 500. I did have to do this by hand.
finance.yahoo.com is a good source for information about publicly traded stocks, bonds, and mutual funds. I got a list of the Fortune 500 and went to Yahoo. Here is what I compiled:
Symbol Name Price Div $ EPS Total Rev WMT Walmart 142.09 2.28 4.27 611289 AMZN Amazon 95.82 0 ¯0.28 513983 AAPL Apple 149.4 0.92 5.9 395328 CVS CVS Health 86.04 2.42 3.14 322467 UNH UnitedHealth Group 488.17 6.6 21.17 322132 XOM Exxon Mobil 110.74 3.64 13.26 398675 BRK-B Berkshire Hathaway 300.69 0 ¯0.97 345636 GOOG Alphabet 91.07 0 4.54 282836 MCK McKesson 360.33 2.16 21.79 263966 ABC AmerisourceBergen 159.5 1.94 8.25 238587 COST Costco Wholesale 493.14 3.6 13.23 226954 CI Cigna 295.65 4.92 21.29 180642 T AT&T 19.25 1.11 ¯1.1 120741 MSFT Microsoft 254.77 2.72 9 198270 CAH Cardinal Health 77.7 1.98 ¯4.56 181364 CVX Chevron 161.93 6.04 18.28 235717 HD Home Depot 299.31 8.36 16.68 157403 WBA Walgreens Boots Alliance 36.21 1.92 ¯3.43 132703 MPC Marathon Petroleum 125.52 3 27.98 177453 ELV Elevance Health 486.12 5.92 24.81 156595 KR Kroger 43.91 1.04 3.18 137888 F Ford Motor 12.07 0.6 ¯0.49 158057 VZ Verizon Communications 38.53 2.61 5.06 136835 JPM JPMorgan Chase 139.67 4 12.1 128641 GM General Motors 39.25 0.36 6.09 156735
All of this data and a lot more is available issue by issue at Yahoo. I
chose this data to help determine which issues are worth further
investigation. The statistic I was most interested in was the dividend
yield, column four divided by column three.
Financial theory proposes that a stock’s price is dividend ÷ (yield –
growth). Yield is expected to be your return on the investment, and
growth is the rate at which the dividend is expected to grow.
So before I could work on estimating growth and/or yield, I needed to address Alphabet, which has never paid a dividend but whose stock is quite valuable.
When I learned financial theory, I decided that companies that paid no dividends had no value; just do the arithmetic with any yield or growth assumption. Today’s post evaluates the zero-dividend strategy.
I needed a baseline to compare to Alphabet’s performance. I choose
Vanguard high-yield dividend fund (VYM). It is a mutual fund generally made up of dividend-paying stocks—high dividend if you believe the title. Vanguard is well known for mutual funds that provide similar returns to the market as a whole.
I went to Yahoo and downloaded the dividends paid by VYM over the 10 years ended 12/31/2022.
vym_div←date∆US import∆file∆withDates '/home/dalyw/Downloads/VYM.csv' ⍴vym_div 41 2 vym_div[⍳15;] Date Dividends 2013 3 22 0.361 2013 6 24 0.419 2013 9 23 0.437 2013 12 20 0.532 2014 3 24 0.401 2014 6 23 0.476 2014 9 22 0.469 2014 12 18 0.562 2015 3 23 0.462 2015 6 26 0.56 2015 9 23 0.528 2015 12 21 0.599 2016 3 15 0.478 2016 6 21 0.578
I also looked up the opening price of VYM on 1/1/2013—$45.89—and 1/1/2023—$108.21. I could now produce a date flow.
The workspace ‘5 DALY/fin’ distributed with gnu-apl. It has present and future value functions for date flows. A date flow is an ordered
collection of date–amount pairs. Each date is in Lillian format, that
is, the number of days from October 15, 1582, the first day of the
Gregorian calendar.
I took this data and assembled a date flow that assumed the purchase of VYM on 1/1/2012 and its sale on 12/31/2022:
fin∆df∆show vym 2013/01/01 (45.89) 2013/03/22 0.36 2013/06/24 0.42 2013/09/23 0.44 2013/12/20 0.53 2014/03/24 0.40 2014/06/23 0.48 2014/09/22 0.47 2014/12/18 0.56 2015/03/23 0.46 2015/06/26 0.56 2015/09/23 0.53 2015/12/21 0.60 2016/03/15 0.48 2016/06/21 0.58 2016/09/13 0.48 2016/12/22 0.67 2017/03/22 0.56 2017/06/23 0.60 2017/09/20 0.60 2017/12/21 0.64 2018/03/26 0.61 2018/06/22 0.63 2018/09/26 0.67 2018/12/24 0.74 2019/03/25 0.65 2019/06/17 0.62 2019/09/24 0.79 2019/12/23 0.78 2020/03/10 0.55 2020/06/22 0.84 2020/09/21 0.70 2020/12/21 0.81 2021/03/22 0.66 2021/06/21 0.75 2021/09/20 0.75 2021/12/20 0.94 2022/03/21 0.66 2022/06/21 0.85 2022/09/19 0.77 2022/12/19 0.97 2023/01/01 108.21
I computed an internal rate of return using fin∆df∆irr as 12.04%.
I went back to Yahoo for the opening price of Alphabet stock on 1/1/2013 and on 1/1/2023 and calculated the growth of the stock’s value.
goog←((date∆lillian 2012 1 1) ¯16.26 ) fin∆df∆add (date∆lillian 2023 1 1) 89.86 fin∆df∆irr goog .1 0.1552653407
Here I set up a date flow that assumes the purchase of stock on 1/1/2013 and its sale on 1/1/2023 and then calculate an annual return of 15.527%.
This certainly challenges my working hypothesis that a stock that pays no dividends is worthless. Had I bought Alphabet 10 years ago, I would have realized gains greater than the market, the holy grail of
investing.
I then went to
https://www.sec.gov/edgar/searchedgar/legacy/companysearch.html
Public companies are required to register with the SEC and file detailed reports on their operations. The annual report is 10_K, which for GOOG I opened.
Page 1 had the first yellow flag. There are two classes of stock, A and
C, registered with the SEC. I wondered about B. Page 2 is the table of
contents with hyper links to various sections. I went to the financial
statements and read the notes. Class A, 6015 shares, allow 1 vote per
share. Class B, 893 shares, allow 10 votes per share and are not
publicly traded. Class C, 6334 shares, have no voting rights. I read the equity footnote twice. It addresses the rights of the various shares and makes the case that they share equally on liquidation of the company. What happens should Alphabet declare a dividend was not clear.
In summary, the company is absolutely controlled by the holders of the class B shares who apparently are not interested in receiving dividends.
I looked at the rest of the financial statements and made my own
estimate of free cash flow. That is, the cash generated from operations that could be used to pay dividends or repurchase stock.
In millions Cash from operations 91495 Interest 0 Stock based awards ¯9300 ------- Adj cash from operations 82195 Capital Expenditures ¯31485 Debt Service ¯1196 Dividends 0 Stock purchases ¯59296 ------- Free Cash ¯9782 =======
Not an encouraging picture. Alphabet is using its accumulated cash to buy back its stock. That suggests that the company can find no better investment.
High-growth companies do not pay dividends because they need every dollar of cash to support their growth. Clearly, Alphabet is no longer in this category, and it’s high time it shared the lolly. The promise of that growth suggests that the company can get higher returns from its operations than the stockholders can by reinvesting in other stocks.
I don’t think I’m changing my approach to zero dollar dividends.