The Foundation - Asset Allocation

I follow a simple and very rigid asset allocation model. A fairly long but readable introduction to asset allocation can be found here. Based on my own tolerance for risk along with my needs for income and capital growth, I have set a specific allocation as follows:

Fixed Income48% 
US Equity24%
Canadian Equity18%
Foreign Equity - EAFE3%
Foreign Equity - Emerging Markets2%
Real Estate5%

I rebalance each quarter to these exact numbers. I do not time the market.  Within a few days of the quarter-end, I re-calculate my asset allocation and promptly rebalance.

If I purchase a stock during a quarter, I sell an equal amount of another stock to keep the allocation intact.

The fixed income portion of the portfolio is simply a ten year laddered bond portfolio, with 10% of the portfolio reaching maturity in each of the next ten years.  When a bond reaches maturity, subject to rebalancing the entire portfolio, the proceeds are simply re-invested in a new bond maturing in 10 years.  I tend to hold all bonds to maturity unless I have to sell in order to maintain my asset allocation.  This way, I really am not subject to fluctuations in bond prices, and also get to average my fixed income investments at differing interest rates. I tend to purchase mainly provincial and municipal bonds, with some high grade corporate bonds also in the mix.  

The equity portion of the portfolio is invested in conservative, generally dividend paying stocks.  About half are U.S. stocks.  My detailed equity portfolio is outlined below.

The real estate portion refers to liquid real estate holdings, generally Real Estate Investment Trusts.

The foreign stock portion are generally ETFs focusing on a particular non-North American region.

I attribute 80% or more of my investment return to this rigorous rebalancing. It has not always been easy (1987 market crash, 1997 Asian crisis, 2000 internet crash, September 11th,  2008 financial crisis, 2020 Covid-19 pandemic), but it has always turned out well (in the longer run).