What’s in my RESP portfolio?

As summer shifts into fall, I’m reminded that it’s back-to-school time. Or “Dad, I need money for tuition” time. I still have kids attending higher education, still making withdrawals from the family RESP we set up shortly after the birth of son #1, almost 25 years (!) ago now. RESP investing is a bit different from retirement investing given the (hopefully) shorter timelines of RESP investing1. Here’s how I approach it.

In the early days of the RESP, the contributions were invested in mutual funds; these were dark days, long before the rise of very cheap ETFs. Mutual funds were the ONLY way to make routine contributions (which I made, monthly, without fail — Pay Yourself First and all that). I had an 80/20 mix of equities and bonds in the first 18 years or so of its existence: 4 funds, one for US Equity, one for Canadian equity, one for international equity and one for bonds. I don’t remember the specifics of which ones and what percentages exactly. But the fund kept growing, thanks to market returns as well as CESG grant money, which I took full advantage of2!

As son #1 came close to entering post-secondary studies, I shifted the portfolio to a 60/40 mix using individual ETFs like HXS for US Equities, HXT for Canadian Equities, HXDM for International Equities, and CBO for Bonds. The GlobalX funds didn’t throw off dividends3 and so I just had to deal with the periodic (monthly) distributions of CBO, which ultimately were set to DRIP4.

I made the decision to move to 60/40 over 80/20 to preserve a bit more of the capital in the event of some kind of market meltdown5. Growth gets curtailed somewhat as a result, but there’s less volatility.

But I finally realized that all of this was completely unnecessary thanks to all-in-one ETFs. So now, the RESP has exactly ONE holding — XBAL, an all-in-one from iShares that takes care of the 60/40 split for me. And this is set to DRIP as well, so every quarter the RESP picks up a few more XBAL shares.

You can see how XBAL has preformed over the past 15 years or so. I’m comparing it to the 80/20 XGRO ETF from the same family, one that features prominently in my ETF All-Stars page6:

In a future post, I’ll explain how I fairly divide the RESP among my two sons — in essence, I pretended that the RESP was a mutual fund, with each son receiving the same number of units on the day the first withdrawal was made. Withdrawals are henceforth made in units, not dollars, and the unit price fluctuates with the value of the RESP.

How are you managing your RESP? Let me know at comments@moneyengineer.ca.

  1. Less time to build wealth, shorter runway for decumulation ↩︎
  2. As a certified cheapskate, it’s hard for me to resist free money of any kind. ↩︎
  3. They are “corporate class” ETFs that use a clever structure to avoid paying out dividends; all growth is buried in the increase of the ETF’s price. I still hold some of these in my non-registered accounts. ↩︎
  4. Dividend Reinvestment Plan. Instead of getting cash in the RESP account, the DRIP buys additional shares of whatever generated the dividend in the first place. ↩︎
  5. One may ask why I chose to stick with 80/20 in retirement, which is against some conventional wisdom. I figured that the RESP decumulation phase would be over a much shorter time period (say 5-10 years) and so I would be less able to wait for a market bounce-back. In retirement, I’m hopeful that decumulation will take much, much longer, and so with 80/20 I have a better chance of outliving my savings. ↩︎
  6. Chart is courtesy http://www.dividendchannel.com, featured on Tools I Use. When I rolled the comparison all the way back to 2007 the 60/40 XBAL actually OUTPERFORMED the (supposedly) more risky XGRO. Can’t explain that one. ↩︎

Comparing asset-allocation ETFs: what’s the right allocation?

I’ve talked about my approach to investing before, which is slavishly devoted to maintaining a constant asset allocation across all my accounts. And as I’ve mentioned, my current targets are:

  • 20% is Canadian Equity, 36% is US Equity, and 24% is International Equity, for a total of 80% equity overall
  • 15% bonds
  • 5% cash

My allocation targets were picked to align with XGRO1, which, over time, will make up more and more of my retirement portfolio2.

As I’ve written elsewhere, these are pretty broad categories and could be sub-divided further. I’ve not bothered with this myself, but I thought it would be an interesting exercise to survey what the major all-equity and high-growth funds have under the hood. And so, I present this comparison:

A few notes on the above:

  • Canadian Equity: Some use an all-cap index (TGRO, VGRO) while some use a capped composite index (ZGRO, XGRO).
  • US Equity: VGRO and XGRO use an all-cap index, TGRO sticks to large cap, and ZGRO holds large, mid and small cap indices. TGRO is a bit of an outlier because it doesn’t hold small cap..
  • International Equity: TGRO takes an all countries approach, whereas the other three split between developed and emerging markets. Net effect is pretty much the same thing.
  • Bonds: Here you find the greatest variation; VGRO is the only ETF to hold bonds outside of North America whereas TGRO holds only Canadian bonds. XGRO and ZGRO are pretty similar, with XGRO having a bit more Canadian bond exposure over ZGRO.

The most notable difference between my allocations and the average allocation of the big 4 funds is that I have more international exposure than other funds, and that’s because I’ve chosen to hitch my wagon to the iShares/XGRO family.

The reason? I started investing in the iShares family some time ago because it was the family that my old provider (QTrade) allowed me to trade without fees. With my current provider (Questrade), all of the families are free to trade, and hence my continued devotion to iShares/XGRO no longer holds that attraction — I could buy any of the all-in-ones. (Indeed, I’ve actually been adding some TD all-in-ones because their management fees are a bit lower).

But this exercise has given me food for thought; perhaps I have a bit too much bias to the international equity portion of the portfolio. But honestly, I can’t believe it makes that much of a difference, and churning my portfolio simply to reduce my international exposure a point or two seems unnecessary3.

  1. Why XGRO and not an all-in-one from another company? Read on. ↩︎
  2. I’m slowly converting my main holding (AOA, which trades in USD) to XGRO on a quarterly basis so that I’m never over exposed to foreign exchange variations. I convert a percentage of these holdings annually, corresponding to the percentage at which I’m draining my RRIF. ↩︎
  3. Running some numbers through https://www.dividendchannel.com/drip-returns-calculator/ demonstrates that XGRO is the bottom of the performance pile over the past 5 years or so as compared to TGRO, ZGRO and VGRO. The difference isn’t massive, and the window is short because these funds haven’t been around all that long, but it’s another data point to consider…p.s. the tool above doesn’t (yet?) understand the 3 for 1 reverse split ZGRO undertook in August, so best to end any simulation involving the BMO funds at August 1,2025. ↩︎

What’s in my retirement portfolio (Aug 2025)

This is a monthly look at what’s in my retirement portfolio. The original post is here. Last month’s is here.

Portfolio Construction

The retirement portfolio is spread across a bunch of accounts:

  • 7 RRIF accounts (3 for me, 3 for my spouse, 1 at an alternative provider as a test)
  • 2 TFSA accounts
  • 4 non-registered accounts, (1 for me, 1 for my spouse, 2 joint)

The target for the overall portfolio is unchanged:

  • 80% equity, spread across Canadian, US and global markets for maximum diversification
  • 15% Bond funds, from a variety of Canadian, US and global markets
  • 5% cash, held in savings-like ETFs.

You can read about my asset-allocation approach to investing over here.

The view post-payday

I pay myself monthly in retirement, so that’s a good trigger to update this post. At market close, August 22, this is what it looks like:

Retirement holdings by ETF, August 2025

The portfolio is dominated by my ETF all-stars; anything not on that page is held in a non-registered account and won’t be fiddled with unless it’s part of my monthly decumulation. Otherwise I’ll rack up capital gains for no real benefit.

The most noticeable change is a growth in the importance of ICSH to my portfolio at the expense of ZMMK. I did the math to justify performing a Norbert’s Gambit of the CAD generated by selling ZMMK and picking up ICSH. The amount of HXS remaining in the portfolio is dwindling, and may be gone altogether by next month. I choose which assets to sell out of my non-registered accounts by simply determining which asset category needs to be trimmed based on my multi-asset spreadsheet.

I also have a new way to track my AOA splits; since it rebalances itself twice annually, it seems to me wiser to fix its bond contribution at 20% in my multi-asset tracker. The equity splits between US, International, and Canadian are still dynamically calculated at least monthly using a properly weighted formula.

Plan for the next month

The asset-class split looks like this

It’s looking pretty close to the targets I have, which are unchanged:

  • 5% cash or cash-like holdings like ICSH and ZMMK
  • 15% bonds (almost all are buried in XGRO and AOA)
  • 20% Canadian equity (mostly based on ETFs that mirror the S&P/TSX 60)
  • 36% US equity (dominated by ETFs that mirror the S&P 500, with a small sprinkling of Russell 2000)
  • 24% International equity (mostly, but not exclusively, developed markets)

I don’t really see a need to make changes based on what I see here. Cash flowing in to the account (bonus payments, regular TFSA contributions) will be re-invested in one of XEQT or XGRO1, typically2.

Overall

The retirement savings had a great month. Overall, I’m ahead of where I started even though I’ve been drawing a monthly salary since the beginning of the year. This is aligned with what my retirement planner told me to expect, but as you can see, the journey has had some interesting ups and downs already.

Monthly retirement savings, as percentage of Jan 2025 value

My VPW-calculated salary has hit a new high this year, 2.41% higher than my first draw in January3. This is also expected, since it tracks the value of the retirement portfolio, albeit in a much more controlled way. The VPW “cash cushion” smooths out the ups and downs of the monthly returns. I suppose I really should see an increase in my salary on par with inflation so that I maintain my spending power. I’ll have to think about how to track that4.

Monthly salary, as percentage of Jan 2025 salary
  1. I have purchased some TEQT lately since it has a lower MER. I covered TD’s family of all-in-ones here. ↩︎
  2. Since my target is 15% bonds, and XGRO is 20% bonds, I have to offset some of the XGRO purchases with 100% equity purchases. ↩︎
  3. Not a bad raise. ↩︎
  4. Looks like https://www.statcan.gc.ca/en/subjects-start/prices_and_price_indexes/consumer_price_indexes is a good place to start. ↩︎

Tracking Norbert’s Gambit Costs with Questrade

Since I hold a fair amount of USD in my retirement portfolio and most of my expenses are in CAD, I do have to convert between the two worlds from time to time. Most of the time I’m converting USD to CAD, but because of higher US interest rates, I’ve recently converted some CAD into USD to take advantage of that fact and earn a little more money on my cash positions1. My normal way of dealing with this conversion is using Norbert’s Gambit, which I’ve talked about here and here.

Anyway, I’ve decided to keep track on what these movements are costing me using my current broker of choice, Questrade. The answer is not quite as straightforward as you might think.

Fixed Cost

With Questrade, a journaling2 fee is charged every time you do the Gambit. This costs $9.95 plus HST for a total of $11.24, always charged in Canadian dollars. If you choose to subscribe to Questrade Plus, then your monthly fee covers these costs. I’ve done the Gambit twice this year, with one more planned in the 4th quarter. So for me, the cost of journaling is a pay-as-you-go cost. This cost is the same whether you are journaling one share or 10,000 shares, so larger transactions are better here.

Variable Cost: Changes in USD/CAD rate

Performing the Gambit using Questrade takes several business days. The foreign exchange rate moves all the time, so by the time you complete the conversion, the rate has almost certainly changed from when you started the process. Sometimes this works in your favour, sometimes not. Most of the reading I’ve done suggests you ignore this variability, since over time it should even out. For kicks, I’m tracking it.

Variable Cost: Buying and Selling DLR/DLR.u

Any trade you do has an inherent cost, even if you pay $0 commissions3, as I do. That cost is buried in the bid/ask spread. You may have noticed this at work immediately after completing a trade — it almost always seems that the market value of what you just bought is a little lower than what you just paid4. This variable cost is buried, but can be estimated by looking at the average bid/ask spread of DLR, which is featured on its fact sheet. It’s currently stated to be 0.07% when buying/selling DLR and 0.1% when buying/selling DLR.U5 . So, on average, you will sustain a total 0.17% cost when doing the Gambit. But I must reiterate — this cost is buried in the actual price per share you get when buying/selling DLR. Now, I actually paid very close attention to the bid/ask pricing last time I did the Gambit and I paid about half that rate but that’s all down to things like the volume of trading on the day, how many shares you’re moving and a whole bunch of other things that I don’t fully comprehend.

Anyway, here’s my tracking table that I’ll update as I do more of these trades:

Some definitions are in order:

  • DLR Buy: date upon which DLR (or DLR.u) was purchased.
  • DLR Sell: date upon which DLR (or DLR.u) was sold. There’s a lag because that’s how long Questrade takes to complete the journaling request. Seems like it’s 3 business days.
  • USD: The USD value of DLR bought or sold as reported by the trade confirmation6
  • CAD: The CAD value of DLR bought or sold as reported by the trade confirmation7
  • Effective rate: divide the previous two columns to come up with a USD in CAD rate8
  • Spot Rate on BUY/SELL date: daily average exchange rate9 as reported by the Bank of Canada
  • Target currency: what we end up with, USD or CAD. It’s the opposite of what we start with
  • Ideal in target currency: This is a calculation that takes the starting currency and applies the spot Rate on the DLR buy day to come up with the target amount. The ideal would be what you would have gotten if you had access to a no-cost conversion on the day you decided you wanted it.
  • Net Cost subtracts either the USD or CAD column from the ideal amount. If it’s negative, it means the foreign exchange rate moved in our favour between the buy and sell dates. Net Cost is given in the target currency.
  • Journal fee is charged by Questrade
  • Total cost adds the journal fee and the net Cost and converts everything to CAD using the spot Rate on the buy day. If it’s negative, we actually made money doing the conversion.
  • % cost takes total cost and divides by the CAD column

If you want a comparative cost, a typical broker charges 1.5% of the amount changing hands. Looks like I’m doing far better than that so far!

  1. And by “cash” I mean either ICSH or ZMMK, which are ultra-short-term bond funds denominated in USD and CAD, respectively. They are both featured as ETF All-Stars. ↩︎
  2. “Journaling” is the technical term for moving an interlisted stock/ETF from the CAD side to the USD side of your account or vice versa. ↩︎
  3. An attractive feature of Questrade, among others ↩︎
  4. This effect is often masked by the volatility in the asset you’re buying, but when you buy very stable priced assets like ZMMK or ICSH or CASH it becomes quite noticeable. ↩︎
  5. And 0.07% happens to be one cent divided by the current DLR Canadian price of $14.12. And 0.1% happens to be one cent divided by the current DLR.u price of $10.24 USD. ↩︎
  6. And thus includes the bid/ask spread ↩︎
  7. And thus includes the bid/ask spread ↩︎
  8. And 1/effective rate gives you CAD in USD ↩︎
  9. And this is an approximation since the rate changes throughout the day ↩︎

Cautionary Tale: Staying safe as a DIY Investor

A recent Globe and Mail article featuring a Questrade client who lost $70k from their investment account due to unauthorised access caught my eye. The article is behind a paywall, but I’m a subscriber and can gift you a link if you’re curious1.

This didn’t seem like a garden-variety incident; the victim seemed reasonably well-educated concerning cyber-security best practices, and the hack may have involved a compromised device. But there are steps we should all take to make it harder to fall victim to an attack.

Use Strong, Unique Passwords2

Don’t reuse them. Don’t think that by adding a random character to an existing password buys you safety. The best way to avoid reusing passwords is to not know any of them. You do this by using some sort of password manager3 that can generate long and complex passwords. Even a notebook in a locked cabinet is better than using “password”4.

Use Two Factor Authentication (2FA)

Most online brokers have some sort of two factor authentication you can enable, but it may not be mandatory. Turn it on. This is a second step added after you enter your password to make sure it’s you, since it’s based on something you have. Most brokers I’ve dealt with use SMS as a 2nd factor, but both Questrade and Wealthsimple offer the use of a separate authenticator app like Google Authenticator, Microsoft Authenticator, or Apple’s Passwords app. I prefer authenticator apps because they work with or without cell phone coverage. And the experts don’t much like SMS as an authentication method because it’s not that difficult to hack for the determined criminal.

Don’t “trust” devices

While it will considerably speed up the login process to your online broker if you “trust” a given device, I never do this. Trusting a device typically does things like render 2FA unnecessary, which becomes very dangerous indeed if the device itself has somehow become compromised.

Know how to contact your provider over the phone

Store their contact number so you can call them directly if you are at all suspicious of anything. This is far safer than absent-mindedly clicking a link received in an email or text message. And if you do get a call/voicemail from your provider, follow up quickly.

Add a Trusted Contact Person (TCP) to your account

The TCP is someone your provider is authorised to call if they have concerns about your account. I don’t know under what circumstances “concerns” are raised, but having one seems to me a better idea than not having one. A quick primer on TCP here. Your broker will have a process by which they can add a TCP, take advantage of it.

Got other tips for staying safe while investing? Drop me a line!

  1. Just drop a line to comments@moneyengineer.ca. ↩︎
  2. Or, if supported, use passkeys instead; I don’t know of any Canadian broker using them. ↩︎
  3. I use Apple’s native Password app but in my working life used Bitwarden. ↩︎
  4. The 4th most common password used, findable by brute force methods in less than a second, per https://nordpass.com/most-common-passwords-list/ ↩︎