For a long time, I've considered a full position in my DivGro portfolio to be
about 1% of total portfolio value.
With fewer than 100 individual positions in my portfolio, the approach seemed reasonable. It allowed some positions to grow to 3% or more while others remained smaller than 1%, as I frequently invested as little as 0.25% when establishing new positions.
In this article, I'm presenting a new approach I've adopted for DivGro, one that determines target weights based on various factors, including the quality and valuation of individual positions.
Background
Some dividend growth investors identify so-called core positions and invest a higher percentage of their total portfolio value into these positions. Typically, core positions are very safe, low-risk, or low beta stocks. In contrast, non-core positions are smaller positions reserved for riskier and more volatile dividend growth stocks. A benefit of this approach is improved risk management, though it requires studious portfolio rebalancing to preserve that benefit.
I've never identified core positions or elected to invest more capital in some stocks than in others. Instead, I generally preferred to target equal weights. As the number of positions in my portfolio increased, the average position size (and my target weight) naturally decreased.
Last October, I considered the
Supersector distribution of stocks in my portfolio. At only 22.8%, I determined that DivGro's exposure to the
Defensive sectors (Consumer Staples, Health Care, and Utilities sectors) was too small.
In contrast, 48.1% of DivGro's investments were from the Sensitive sectors (Communication Services, Energy, Industrials, and Information Technology sectors), while 29.1% of DivGro's investments were from the Cyclical sectors (Consumer Discretionary, Financials, Materials, and Real Estate sectors).
Following this analysis, I set a goal to rebalance DivGro more evenly among the supersectors. To facilitate this process, I've devised a way to set different target weights for positions in my portfolio.
Factors Considered
To set target weights, I take the following factors into account:
- Quality Score
- Upside Potential
- Supersector
- Sector Rank
Let's look at each of these factors in turn.
Quality Score
Proposition: Favor higher-quality stocks.
I use
DVK Quality Snapshots to assess the quality of stocks. The system employs five widely used quality indicators from independent sources and assigns 0-5 points to each quality indicator, for a maximum quality score of 25 points. My rating system maps to different quality score ranges and I consider stocks with quality scores of 15 and higher
Investment Grade.
I set the base weight as follows:
Rating |
Quality Score |
Base Weight |
Exceptional |
25 |
2.5% |
Excellent |
23-24 |
2.0% |
Fine |
19-22 |
1.5% |
Decent |
15-18 |
1.0% |
Poor |
10-14 |
0.5% |
Inferior |
0-9 |
0.0% |
Upside Potential
Proposition: Favor stocks with higher upside potential.
One way I measure upside potential is using the
Chowder Number [CDN], a popular metric for modeling the likelihood that a stock will deliver annualized returns of at least 8%. To obtain the CDN, simply add a stock's current yield to its 5-year dividend growth rate.
The
Chowder rule determines how to interpret CDNs. The rule is somewhat involved and depends on a stock's current yield and whether it is a
Utilities sector stock. The following table provides a summary and shows how this factor contributes to weights:
Upside at least 8% per year | Yield < 3% | Yield ≥ 3% | Utilities Yield ≥ 4% | Weight Contribution |
Likely | CDN ≥ 15 | CDN ≥ 12 | CDN ≥ 8 | +1.5% |
Less Likely | 10 ≤ CDN < 15 | 8 ≤ CDN < 12 | 5 ≤ CDN < 8 | +1.0% |
Unlikely | CDN < 10 | CDN < 8 | CDN < 5 | +0.5% |
Proposition: Favor Defensive and Cyclical sectors over Sensitive sectors.
As mentioned earlier, I want to rebalance DivGro more evenly among the supersectors. To facilitate this transition, here is how this factor will contribute to weights:
Supersector | Sectors | Weight Contribution |
Defensive | Consumer Staples, Health Care, Utilities | 1.0% |
Cyclical | Consumer Discretionary, Financials, Materials, Real Estate | 0.5% |
Sensitive | Communication Services, Energy, Industrials, Information Technology | 0.0% |
I anticipate adjusting these contributions once DivGro is rebalanced.
Sector Rank
To rank stocks, I sort them by descending quality scores and use the following tie-breaking metrics, in turn:
These rankings do not take sector membership into account.
But I want to consider the sector rank of stocks and favor the 10 top-ranked stocks in each sector, regardless of their overall rankings. This factor recognizes that some sectors have lower overall rankings than others, as illustrated in the following table that provides the average, minimum, and maximum quality score of the 10 top-ranked stocks in each sector.
Sector | Average Quality Score | Minimum Quality Score | Maximum Quality Score |
Communication Services | 17.7 | 15 | 23 |
Consumer Discretionary | 23.3 | 22 | 25 |
Consumer Staples | 20.5 | 17 | 25 |
Energy | 16.9 | 16 | 18 |
Financials | 21.9 | 21 | 23 |
Health Care | 24.0 | 23
| 25 |
Industrials | 23.4 | 22 | 24 |
Information Technology | 24.3 | 24
| 25 |
Materials | 20.1 | 18
| 23 |
Real Estate | 16.8 | 15
| 20 |
Utilities | 21.3 | 20
| 22 |
For this factor, the weight contribution is calculated as follows:
Contribution = ( 11 – Sector Rank ) / 10 %
For example, a stock ranked first in its sector will get a contribution of 1% for this factor, while a stock ranked tenth in its sector will get a contribution of 0.1% for this factor.
Calculating Target Weights
The abovementioned base and contribution weights represent the relative weight of each stock in my portfolio. The maximum possible weight per stock is 2.5% + 1.5% + 1.0% + 1.0% = 6%.
To calculate a stock's target weight, I simply divide its weight by the sum of all weights.
The following table shows some example target weight calculations for stocks in my portfolio. (The sum of weights of all positions in my portfolio is 311.3%).
Ticker | Base Weight (Quality Score) | Upside Potential Contribution | Supersector Contribution | Sector Rank Contribution | Stock Weight | Calculated Target Weight |
AAPL | 2.0% | +1.0% | +0.0% | +0.7% | 3.7% | 1.19% |
JNJ | 2.5% | +0.5% | +1.0% | +1.0% | 5.0% | 1.61% |
MRK | 2.5% | +1.0% | +1.0% | +0.9% | 5.4% | 1.73% |
O | 1.0% | +1.0% | +0.5% | +0.0%
| 2.5% | 0.80% |
PSA | 1.5% | +0.5% | +0.5% | +1.0%
| 3.5% | 1.12% |
V | 2.5% | +1.5% | +0.0% | +0.9%
| 4.9% | 1.57% |
WPC | 0.5% | +0.5% | +0.5% | +0.0%
| 1.5% | 0.48% |
At 1.73%, Merck & Co, Inc (MRK) has the highest target weight of all stocks in my portfolio. In contrast, WP Carey Inc (WPC) has the lowest target weight of all stocks in my portfolio.
Here is a chart comparing DivGro's current weights with calculated target weights:
There are many outliers, such as
T. Rowe Price Group, Inc (
TROW), which is significantly overweight, and
NIKE, Inc (
NKE), which is significantly underweight.
Using Target Weights
I have a spreadsheet that calculates the current weight of each position in my portfolio. Given the target weight as calculated above, I can easily determine whether I need to buy or sell shares in order to move a position to its target weight. In fact, I use the current stock price to determine the exact number of shares I would need to buy or sell to reach the target weight.
Here's a table showing the current situation for the abovementioned stocks:
Ticker | DivGro Current Weight | Calculated Target Weight |
Possible Action | Recent Stock Price | Trade Impact |
Fair Value Estimate | FV (Discount) Premium |
AAPL | 1.90% | 1.19% | Sell 75 shares |
130 | 9,750 | 107 | 22% |
JNJ | 1.55% | 1.61% | Buy 5 shares |
169 | (845) | 164 | 3% |
MRK | 1.66% | 1.73% | Buy 13 shares |
78 | (1,014) | 90 | (13%) |
O | 0.75% | 0.80% | Buy 12 shares |
68 | (816) | 64 | 6% |
PSA | 1.21% | 1.12% | Sell 4 shares |
277 | 1,108 | 251 | 10% |
V | 1.52% | 1.57% | Buy 3 shares |
232 | (696) | 211 | 10% |
WPC | 0.55% | 0.48% | Sell 12 shares |
75 | 900 | 72 | 4% |
Note that I wouldn't necessarily execute these trades. In fact, I would consider many other factors before deciding to execute a trade, including whether the stock is trading above or below fair value, whether the stock is "involved" in a short covered call option, and possible tax implications.
Note also that the spreadsheet is dynamic, meaning the data updates all the time. If a stock's price changes, then the stock's current weight will change, and the possible action might change as well. It would be fruitless to execute trades in an attempt to match the target weights exactly.
In fact, I use conditional formatting in my spreadsheet to show only "significant" trades, say ones with a trade impact of $1,000 or more. So, looking at the possible actions above, only three trades are "significant":
- Apple, Inc (AAPL) – don't sell (AAPL is involved in a short covered call)
- Merck & Co, Inc (MRK) – consider the buy, as MRK is nicely discounted
- Public Storage (PSA) – consider the sell, as PSA is trading at a premium valuation
Concluding Remarks
I recently adopted a new approach to determining target weights for DivGro positions. The approach is both dynamic and flexible, adjusting to prevailing market conditions while also allowing me to calibrate the system as my goals change. Four different factors influence target weight calculation: the stock's quality score, its upside potential, its supersector membership, and its sector rank.
Thanks for reading! Please subscribe to receive an e-mail whenever I post new articles.
Soon, sections of my blog will only be available to subscribers, so I encourage you to sign up now!
Insightful and giving a new perspective on what a target weight process could look like. Thanks!
ReplyDeleteYou're welcome... thanks for commenting!
DeleteIt seems like a fair amount to track but I think it's an awesome plan!
ReplyDeleteIt's automatic, so the work is minimal.
Delete