Do You Really Know How To Calculate Current Yield?


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.

Happy investing!

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.


  • Hi Evan KOH, Thanks for keep working to improve the sgxcafe.
    Frankly saying current dividend yield is mostly wrong or not up to update in almost all the websites. I found it is very difficult to know the correct dividend yield. I used to choose good dividend paying stocks then filter it based on the technical details. So it’s always a nightmare.
    Thanks for your keep working. At last we have a sgxcafe to rely on. Thanks.

  • 2 thumbs up. I don’t always comment but just wanna let you know that many of us really appreciate the improvements you’ve been making. I totally agree with the common issue with yield and what you’ve done is great.

  • Evan, I still prefer the investopedia version and use my own offset in analysis. It is sometimes better to use a flawed but simple indicator and then adjust for those shortcomings rather than overcomplicate and make it opaque to majority of users. IMHO as usual.

  • Hi. Encountered this article when I too was trying to figure out the way to compute current yield (without manual inputs/adjustments). I thought of the same approach as Current Yield 3.0. But there is another “weakness”. When REITs have rights/private placement, there is usually an advance distribution. This will add to the TTM yield as there is suddenly an “extra” dividend. Have not thought of a solution. Any thoughts?

  • In current yield, by definition, I believe the extra dividend should be included. However, StocksCafe do have the future yield which excludes such extra dividends.

  • Appreciate the automatic calculation for users. Current yield 3.0 works for me. Thank you for explaining it!

Evan Koh



Knowledge Base:
StocksCafe Academy

YouTube Tutorials:
StocksCafe Youtube Channel