This seemingly simple equation is in fact not that easy to compute. I recently adjusted and optimized the calculation of Current Yield from insights and discussions that several users have brought forth.
What is Current Yield?
English Definition: Current yield is an investment’s annual income (interest or dividends) divided by the current price of the security (Source: Investopedia).
Mathematical Definition: Current Yield (%) = (Annual Income / Current Price) x 100.
While we can simply use the latest close to be the current price (or even the latest price if the live price is available), the annual income is quite the complicated and elusive creature.
How to Calculate Annual Income?
Initially, I simply used the previous year’s interest or dividend income as annual income due to its completeness. However, a user quickly pointed out its weakness of it not being updated to the current year’s situation.
Example: A stock distributed good dividends in year 2015 but did not distribute any dividend in 2016. We would have computed the stock to have good current yield for the whole of 2016 when it should have been 0%. This method thus does not reflect the most “current” status.
Hence, I decided switched to a different method, which is using the last 365 days of dividend income as its annual income. While this method is more “current” than the previous approach, another user also pointed out its weakness recently. That is, the underlying assumption that stocks give dividends exactly every 365 days is weak. If this assumption is not followed, there will be periods, ranging from a few days to a few weeks, where the current yield is either overestimated or underestimated.
Example: A stock has ex-dates of 15 May 2015 and 10 May 2016. During the period 10 May to 14 May 2016, the stock current yield will be overestimated due to double counting of both the 15 May 2015 and 10 May 2016 dividends as they are within the last 365 days.
This happens because stocks may issue dividends that are spaced less than 365 days apart from year to year. Underestimation can also occur when the dividends are spaced more than 365 days apart.
Example: A stock has ex-dates of 5 April 2015 and 20 April 2016. Then during the period 6 April to 19 April 2016, the current yield would reflected as 0%.
Therefore, a different approach needed to be devised. One method that I considered is using the Trailing Twelve Months approach. However, this method assumes that dividends will always be distributed on the same month year after year, which is also not likely to be always true.
Current Yield 3.0
After more investigation, I found out that for 99.7% of the time, any two dividends from a stock would always be spaced >30 days apart. Given this observation, we can devise a new way to compute current yield. That is, we would use all dividends that occurred in the last 395 days and remove the older dividend that has a counterpart dividend (i.e. within 30 days after subtracting one year on the newer dividend).
Example: For a dividend with ex-date of 15 May 2015, any other dividend from 14 April 2016 to 14 June 2016 would be considered its counterpart dividend.
While using this approach is still not perfect, we can expect current yield to be accurate 99.7% of the time and certainly better than the last 365 days approach. As always, i’m more than happy to hear if you have better ways/ideas on computing the current yield.
p.s.: SGXcafe has already been updated to use this new approach in computing current yield.
p.p.s: StocksCafe now considers withholding tax rate (i.e. current yield is after tax and commission if applicable)
Updated on 11 Dec 2021: Based on a feedback, I have made the overlap check more dynamic. If in the last 395 days, all dividends are >60 days apart, then the overlap check is 45 days. Else 30 days. This will help with handling stocks that change their exDate by >30 days but <45 days.