Yield

Good morning,

I am working on a screen and was wondering if anyone knew how to screen for stocks which have a yield greater than the S&P 500. I am currently using “Yield > 2.25” and this is a bit too simplistic. Any help would be appreciated.

Thanks

Here’s a prior thread on the subject.

I’ve been using this lately;

SetVar(@DivPaidTTM,FSum(“DivPaidTTM”,#SP500))
SetVar(@MktCap,FSum(“MktCap”,#SP500))
SetVar(@SPDivYield,100*@DivPaidTTM/@MktCap)

Best,
Walter

First set up a custom series S&P500Yield.
In the custom series Rules tab, select as Universe the S&P 500 Index.
In rules enter: UnivAvg(“true”,“yield”)
Then click on Totals and the current avg yield 2.05% will be displayed to the right of Rule 1.
Then select the chart tab, run the chart over the longest available period and save.

In the screener enter the rule: Yield > close(0,GetSeries(“S&P500Yield”))
This returns currently 249 stocks which have a higher yield than the average. The lowest yield shown as 2.02% in the screen.
This website shows the dividend yield as 2.08% as of June 14.
https://ycharts.com/companies/SPY/dividend_yield

You can also use the rule: Yield > SMA(10,0,GetSeries(“S&P500Yield”))
This returns currently 246 stocks which have a higher yield than the SMA of the yield.

Hope this helps.

Walter forgot the last rule:
yield > @SPDivYield

This returns currently 223 stocks, the lowest yield shown as 2.25% in the screen.

Thanks very much. It is working perfectly!

One thing to consider, I think, is that the average custom series rule that Georg described is returning the average for all S&P stocks, including those that don’t pay dividends.

You may or may not want to limit it to only those stocks that pay dividends:

UnivAvg("Yield>0","Yield")

I’d consider doing that if you were otherwise limiting your selection to only those stocks that were paying dividends anyway. The average ends up being only a bit higher, even so: 2.47% using today’s data.