Building A Bulletproof 2020 Portfolio: Part IV

Part III Recap

In Part III of Building a Bulletproof 2020 Portfolio, I provided you with a basic portfolio optimization template with 25 sample Canadian equities chosen from the 11 GICS sectors. Initially, I had optimized the Sharpe Ratio of the portfolio with the only constraint being that the total weights had to be equal to 100%. But this is insufficient for my purposes, as it only takes into account historical returns which are not necessarily predictive of future returns. To do this consistent with my investment philosophy, I need to add some fundamental key metrics to the mix. So let’s jump right in to that now.

Adding Key Metrics

As discussed in Part II, we can use the data tables from Reuters to import some of the key metrics we will need. For me, I will be looking at return on equity and free cash flow, but I also want to see data on sales, debt, and a few other things of interest to me. I’m careful not to look at too many metrics as this can cause information overload, so I encourage you to be selective about what you choose to incorporate into your modeling process.

I have added to the template I linked to in Part III, this time adding in a worksheet labeled “Reuters Query” (which is my data source for fundamental key metrics), and linked to it from the Equity Fund worksheet. Please download this latest version and follow along! You will see on the Equity Fund worksheet that each stock has the following corresponding key metrics visible:

  • Sales Growth (Trailing Twelve Months, or TTM)

  • Sales Growth (5-Year)

  • Return on Equity (TTM)

  • Return on Equity (5-Year)

  • EPS, Excluding Extraordinary Items (TTM)

  • Net Interest Coverage (TTM)

  • Dividend Payout Ratio (TTM)

  • Total Debt / Equity Ratio (Most Recent Quarter)

  • Free Cash Flow Per Share (TTM)

For me, I typically aim to exclude, or at least limit the weights of stocks from my stock universe if they have negative TTM Return on Equity or negative TTM Free Cash Flow Per Share. Already with the sample equities in the template, I can see some problems. Counting only stocks with a positive weight in the model, I can see that Bausch Health Companies has a -21.86% Return on Equity, Emera has negative Free Cash Flow Per Share of -$4.49, and Fortis with Free Cash Flow Per Share of -$3.53. The negative Return on Equity for Bausch concerns me the most, while the negative Free Cash Flow Per Share metrics for the two utilities concern me less if they are due to significant expansions in business which required substantially more capital investments. It will be necessary to look into those further should they continue to garner a significant portfolio weight throughout this process.

Depending on your investment philosophy, you can of course change your criteria. Long-term investors may prefer to focus on 5-Year metrics instead of TTM, or prefer to allocate a certain percentage of their portfolio to high growth companies (e.g. TTM sales above a certain percentage).

Making Adjustments

For my first adjustments, I want to set target weights for each sector based on my observations historically. As you know, my research shows that lower volatility equity portfolios produce higher returns, as the idea is to limit losses in bear markets rather than seek to outperform the market during bull markets. For me, it’s too hard to time the markets so I would rather just set up a portfolio that will work well during any time period.

The sector weight ranges I would like to set are as follows:

  • Communication Services: 0% - 5%

  • Consumer Discretionary: 10% - 20%

  • Consumer Staples: 15% - 25%

  • Energy: 5% - 10%

  • Financials: 5% - 15%

  • Health Care: 0% - 5%

  • Industrials: 5% - 10%

  • Information Technology: 5% - 15%

  • Materials: 5% - 10%

  • Real Estate: 5% - 15%

  • Utilities: 5% - 15%

I will now add the sector weight maximum constraints to Solver and re-run it. The Solver settings box should look like this:

Setting Sector Constraints in Solver.png

I am also going to add in an additional constraint for the maximum stock weight, as calculated by Cell R12. Arbitrarily, I will set this limit at 10% since I only have 25 stocks in this sample template. Naturally, this limit will decrease as you add more stocks to your model, but just be careful not to set the limit too low - this may result in additional trading fees and you actually worsening the true return/risk ratio instead of improving it.

Adjusting Individual Stocks

Now that Solver has found a solution for the above sector and stock constraints, let’s take a look at the results and see if there are any unnecessary risks to the portfolio which we can minimize.

The first ones I will look at are the stocks which have the highest weight, as these will impact the portfolio the most. I see that there are six stocks with portfolio weights above 9%, as follows:

  1. Boyd Group Income Fund (10%)

  2. Winpak (10%)

  3. Alimentation Couche-Tard (10%)

  4. Open Text Corporation (10%)

  5. Fortis (9.52%)

  6. Royal Bank of Canada (9.39%)

I note that Fortis has a potential issue, and that is their -$3.53 free cash flow per share. Looking only at ROE and FCFPS, all other companies are at least positive in this area. So that’s a good sign. Winpak, however, is a concern to me, as they are a Consumer Cyclical company with negative TTM Sales Growth. This one certainly warrants more research.

I did some quick calculations and found that the number of companies on the S&P/TSX Composite Index with positive sales growth outnumbered the negative ones by a ratio of about 3 to 1. Furthermore, nearly all of the companies with negative sales growth were in the Materials and Energy sectors, which makes sense as they are impacted mostly by commodity prices and is not necessarily a determinant in management performance. Interestingly, only 4 out of 22 stocks in this sector had negative sales growth, so I’m a little uncomfortable with this stock making up such a significant portion of my portfolio.

Let’s say that I have decided to limit the weights of both Fortis and Winpak to 5% - to do this, I can simply add this as a constraint in Solver. Cells E10 and E31, the weights of Winpak and Fortis respectively, will be set to be less than or equal to 5%.

After re-running Solver, I now have a portfolio which at least somewhat mirrors my investment philosophy of limiting the weights of stocks with negative ROE or FCFPS, and has maximum stock and sector weight parameters. It’s far from finished, as I still have to re-run multiple scenarios and adjust weights of other potential risky stocks. I will leave it there for now though, and invite you to play around with the workbook and get used to running your own models. Remember to jump back and forth between the Equity Fund and the Portfolio Visualizer workbook to see how your model would have performed in prior years.

Up Next

Stay tuned for Part V! This will be the final part of my introduction to Building a Bulletproof 2020 Portfolio, and I will be presenting my full portfolio along with certain descriptive measures I’ll be keeping my eye on. The portfolio is meant to be for investors following a buy-and-hold approach, but I intend to make revisions to it quarterly as warranted. The end goal is the same though - have lower return fluctuations month to month, and outperform the S&P/TSX Total Return Index. I hope to make it four years in a row!