grayscale photography of threads and needles on table

Custom Indexing, Direct Indexing; What’s the Deal?

As readers know, I’m strictly1 an index investor. Boring, yet very effective over time. Buy a basket of stocks that are based on public indices (e.g. S&P 500, TSX 60, MSCI World) and forget about it. Since it’s not possible to buy an index directly, ETFs exist to do that for you — you buy the ETF, the ETF managers buy the underlying stocks, and life is good.

This means a few things:

  • You don’t actually own the stocks of the index yourself; the ETF manager does
  • You rely on the ETF manager to do the work of adding/removing stocks from the index when the index does (and this happens all the time2)
  • You rely on the ETF manager to pay out the dividends the underlying stocks hold; this isn’t on the same schedule as the underlying companies themselves — the ETF manager will pay out dividends annually, semi-annually, quarterly or even monthly.
  • You are implicitly investing in everything the chosen index invests in. Some folks may have reservations about investing in sectors like defence industries, oil and gas, tobacco and alcohol, gambling or anything involving Elon Musk, etc.
  • You pay a (hopefully small) premium to have someone else do this work3

Now. the super cheapskates out there will rightly point out that with commission-free trades on many DIY platforms4, why bother with an index fund? Why not just own all the stocks of an index yourself and cut out the intermediary step (and the associated fees)?

Two of Canada’s DIY providers (Wealthsimple and Questrade) are now offering products that may meet that need. Although I am a client of both providers, I don’t use either of these services.

Wealthsimple Direct Indexing

Wealthsimple was the first to introduce a product that allows investors to own the underlying stocks of an index. The full story is here, but it’s not exactly what you might expect:

  • Good: You can buy either the S&P 5005 or the TSX Composite6 (about 200 companies)
  • Good: You can exclude stocks from the list if you wish
  • Bad: You can only use direct indexing in a non-registered account.
  • Good (?): You don’t actually hold all the stocks in the underlying index; sampling is used to approximate the overall index (this is done in order to facilitate tax loss harvesting)
  • Good: Trades are done automatically on your behalf to take advantage of tax loss harvesting. The idea being that (for example) an underperforming bank stock is sold and replaced with a different bank stock
  • Terrible: Although you can hold the S&P 500, you can’t hold it natively in USD. This means lots of FX fees for Wealthsimple 🙁
  • Neutral: Direct indexing costs 0.15% of holdings
  • Bad: The service sounds like it will generate a lot of trades, which means a lot of tracking of gains and losses. Wealthsimple helpfully(?) suggests using CRA’s “Autofill my return” feature.

The main value proposition of direct indexing offered by Wealthsimple is the idea of automating tax loss harvesting. For people with large non-registered portfolios, this can be an attractive proposition. Of course, you have to be able to FUND a large non-registered portfolio in the first place. In my case, this would mean liquidating my existing non-registered portfolio and incurring all the capital gains at once. No thanks.

And, I can’t stress this enough: using this service in its current incarnation to buy the S&P 500 is a terrible idea. The FX fees will eat into your returns as sure as the sun will rise tomorrow!

Questrade’s Custom Indexing

This is a brand new product from Questrade. All the details are here.

  • Good: You can define your own index, either starting totally from scratch or using one of the existing templates7.
  • Bad: It only works for USD stocks8 at the moment. It goes without saying that you should invest using USD and not CAD if you were to choose this route910.
  • Good: It can be an RRSP, TFSA, FHSA or non-registered account.
  • Bad: It doesn’t include RRIF accounts.
  • Neutral: It has to be a new account dedicated to this strategy
  • Good/Bad: Rebalancing (with “one click”) is in your hands. Good because you maintain total control, Bad because you can be inclined to try to time the market, which is almost never a good idea.
  • Neutral: Your custom index is limited to 600 holdings.
  • Good: There’s no charge!

This is a great looking service on paper. I thought that perhaps it would work for my TFSA accounts since I only hold XIC and XEQT in them but I see some limitations in doing that:

  • Custom indexing doesn’t (yet) support CAD-listed stocks
  • XEQT holds international stocks; custom indexing can’t. I suppose I could use ETFs to get around that.
  • XEQT holds ~8500 individual companies, whereas custom indexing is limited to 600 stocks

I suppose I could decompose my all-in-ones (XGRO/XEQT) into their ETF components and build a custom index based on that. This would replace the all-in-one MER with the MER of the individual components, which as I’ve shown previously, would save you money.

I could do this immediately with AOA (my USD all-in-one), but I only hold that in my RRIF account, and direct indexing doesn’t seem to allow RRIF accounts.

Anyway, it’s an interesting offering, and one that I’ll keep an eye on!

My Take

Wealthsimple’s direct indexing might be attractive to someone in the accumulation phase of their investment journey. For me, all the things I have in my non-registered accounts will eventually be sold off to fund my retirement — I’m not adding to that part of my retirement holdings.

Questrade’s custom indexing might be interesting to me once they add support for Canadian equities. Until then, another button to ignore.

  1. Well, for 80% of my portfolio anyway. The equity part. ↩︎
  2. For example, on June 2, 2026, FedEx Freight joined the S&P 500 at the expense of EPAM Systems per https://www.spglobal.com/spdji/en/documents/indexnews/announcements/20260527-1483532/1483532_fdx-amwd-56.pdf ↩︎
  3. Expressed as MER (Management Expense Ratio). This is the percentage of your holdings that goes to pay the expenses of the fund manager. For passive index funds, it should be low — 0.25% or lower. If it’s higher, it should lead you to question what, exactly, the fund is doing. ↩︎
  4. Wealthsimple, Questrade, QTrade, National Bank Direct and Moomoo all offer commission-free trading for stocks and ETFs without restrictions. ↩︎
  5. I’m simplifying here. Wealthsimple’s US offering is actually based on the Morningstar US Target Market Exposure Index which is slightly broader in scope than the S&P 500. But for all intents and purposes, close enough. ↩︎
  6. Actually, the Morningstar Canada Domestic Index ↩︎
  7. There’s not a lot of templates but they include S&P 500/200/100 and a few sectors. There’s also user-submitted templates, not sure how these are curated by Questrade (they appear to be rather polished, so I’m thinking these are seed ideas, TBD how many of these become visible over time) ↩︎
  8. This is because Questrade only support fractional shares of USD stocks and ETFs. CAD is “coming soon” but has been for about a year now. ↩︎
  9. Or you will incur a lot of FX fees… ↩︎
  10. Questrade accounts all natively support both CAD and USD holdings. ↩︎
man juggling on a tightrope against cloudy sky

What do you have to actually DO to get paid?

I’ve covered the mechanics of getting paid in retirement at what is a pretty detailed level, but maybe you’re curious about the actual, blow by blow steps of getting paid?

In a typical month, I make 6 sell trades (one for each RRIF, one for the non-registered account) and perform 2 cash movements (one withdrawal from my non-registered, and either a withdrawal from the cash cushion or an inter-account cash movement from the non-registered account to the cash cushion).

The diagram from the previous post1 I’ll include here, since it may make things a bit clearer:

Step 1. Make sure net worth is accurate in my spreadsheet

By the time the end of the month rolls around, this is normally fine. The beginning of the month has a bunch of (of mostly, but not fully, automatically reinvested) dividend payments and reward payments (aka “free money”) so the opening few weeks of the month always require tweaks to share amounts and outstanding cash amounts.

A quick login to Passiv, which connects in real time to all my retirement accounts held at Wealthsimple and Questrade, allows me to do a sanity check of my spreadsheet values versus what’s actually in all of my accounts. In the event there are discrepancies, I fix them in the spreadsheet before proceeding.

That’s what is behind step A in the diagram.

Step 2: Decide the order of priority for liquidating various assets in my non-registered accounts

Every month, I know that I will have to liquidate shares in my non-registered account, but since I have four different holdings to choose from, I have to input which ones are the most important to liquidate first2. This year, I’ve been trying to reduce dividend-paying holdings to reduce that source of income come tax-time. Another factor I consider is how far my portfolio has drifted from the asset allocation targets. Selling a fund to reduce an overweight asset class (e.g. Canadian Equity) is always a good way to take advantage of a needed asset sale.

This is an input for step G in the diagram.

Step 3: Run the Monthly Macro

The monthly macro3 does a bunch of things to help me figure out exactly what I need to do:

  • It plugs my current net worth into the VPW spreadsheet which then generates the VPW suggestion; the macro then squirrels the suggestion away
  • It takes a look at the current value of my cash cushion and squirrels that away;
  • It takes a look at the current value of the CAD/USD FX rate and squirrels that away4
  • It saves the current month’s numbers into a monthly ledger, which allows me to share with all of you things like my salary and net worth over time.

None of that, strictly speaking, is in the diagram, but is a necessary step for Step 4, below.

Step 4: Follow the step by step instructions that result

With the static copies of key bits of data (VPW suggestion, value of cash cushion, FX rate) these now plug into a specially crafted spreadsheet that provides instructions in English, step by step.

  • It tells me how many shares to sell in each of my accounts5
    • How many XGRO6 to sell based on the current share price and current cash position in each of the 5 RRIF accounts (steps E and F in the diagram; the RRIF payment amount is fixed at the beginning of the calendar year)
    • How many and which shares I need to sell in my non-registered account based on VPW’s suggestion (step G)
  • It tells me if I have to move money to my chequing account from my cash cushion or if I have to move money from my non-registered account to my cash cushion. (That’s step D or D’ in the diagram above).
  • The RRIF payments (steps E’ and F’ in the diagram) are automatic; nothing for me to do there
  • Step G’ requires a visit to Questrade’s “Move Money: Withdraw” menu in order to get money into my chequing account

In summary, I have to execute as many as 6 “sell” trades — one for each of the RRIFs7, and one (possibly more8) in the non-registered account. And then there are two “move money” transactions I have to make — one from my non-registered to my chequing account, and one representing step D/D’ (one of the two is always in play).

Step 5: Update my records

This I usually do right away since I have all the necessary data in front of me. That means

  • updating my holdings spreadsheet to reflect the reduction in XGRO in my RRIFs and the reduction of whatever holdings I liquidated in my non-registered account
  • Add the transaction in my non-registered account to adjustedcostbase.ca so I know what my capital gain/loss was.

Step 6: Wait for the Money

The non-registered cash is usually the first to arrive in my bank account, a day or two later.

Wealthsimple is next, and Questrade’s payments inexplicably arrive on different days depending on what I don’t know. Although all 4 Questrade RRIFs are set up with the same payment schedule, the 4 RRIF payments never arrive on the same date.

  1. Ok, I lied, it’s not exactly the same. I decided I didn’t like the D/D’ arrows in the original post since it wasn’t 100% accurate. ↩︎
  2. And usually, the first one listed is the only one sold. My spreadsheet can handle the scenario where there’s not enough shares held to meet the amount I’m requesting. ↩︎
  3. The macro mostly just makes static copies of these values (aka “squirrels away”) and puts them in known places so I can perform other calculations on them. Since my retirement spreadsheet uses live market data — delayed by 20 minutes, that’s what you get for relying on googlefinance(), the value of things is constantly changing. If I didn’t make static copies, it would make it hard to perform consistent calculations. ↩︎
  4. The value of my cash cushion is dependent on the USD/CAD rate since the majority of my holdings there are in USD since the interest rates are better. ↩︎
  5. It doesn’t actually need to do this for my Wealthsimple RRIF since I’m permitted to sell a dollar amount of assets instead of a number of shares with Wealthsimple’s trading tool. Handy, that. But I haven’t yet made the change to the macro. ↩︎
  6. It’s always XGRO I sell since that’s the majority CAD holding in each of the 5 RRIF accounts ↩︎
  7. My spousal RRIF and my spouse’s individual RRIF are both rather modest in size and their monthly payments are sometimes covered by cash on hand. And I have cash on hand there because Questrade doesn’t offer fractional trading for CAD listed ETFs. . ↩︎
  8. My spreadsheet is fancy enough that I can sell up to 3 different non-registered assets, but only in the scenario where I reduce the holding of a given asset to 0. ↩︎
dollar cut in half

Another quarter, another gambit

Every quarter, I convert some of my USD to CAD using Norbert’s Gambit. A good chunk of my retirement holdings are in USD, but since I spend in CAD, I need a cheap way to convert. I’ve been tracking my actual costs using Questrade’s platform for the past year. You can read about that over here.

Anyway, over the past year, the conversion has been effective. I have never paid the usual FX rates charged by Questrade (1.5% over the spot rate). My most recent conversion was the most expensive one to date, and that was a rate 0.7% over the going rate on the day I started the process. On three other occasions, I actually made out better than the spot rate, but that was because the foreign exchange rate moved in my favour in between the purchase and the sale.

My need for US cash has evaporated now that I have a no-FX fee credit card. (You can read about what cards I’m using over here.) So this makes me wonder if it’s time to get rid of the majority of my US holdings. Note this doesn’t mean that I will stop investing in US equities — that would be unwise — it just means I will stop holding assets denominated in US dollars.

The are downsides to holding USD-denominated assets, of course:

  • It adds complexity to the portfolio. AOA is the US equivalent of XGRO; both are 80/20 asset allocation ETFs. But because AOA is a US ETF, it holds a paltry amount of Canadian Equity, and I have to make up that difference elsewhere by holding pure Canadian Equity ETFs like HXT or XIC.
  • If you hold too much USD (or any foreign property) in non-registered accounts, you’ll be obliged to file a T1135 with CRA1.
  • It may limit the universe of online brokers you can deal with. Wealthsimple, for example, does not currently support USD RRIF accounts.
  • Foreign exchange can work for or against you. It’s another variable that can impact your returns. I’m not convinced this is a downside, but it does make tracking things like ACB in a non-registered account a little more tedious.

    One big hesitation I have about converting all my USD holdings would be the time I’d have to be out of the market while the Gambit runs its course. As you can see in from my tracking, each conversion means I’m not invested in AOA for 3-4 trading days. I just hate that idea. I also hate the idea of converting at a time when the CAD<->USD exchange rate is perhaps not optimal. (A low Canadian dollar would be a good thing for me in this case.)

    One place I sort of like having the USD assets is in my cash cushion, especially since US interest rates are quite a bit higher than Canadian rates. (I track current rates over at HISA and short-term bond table (Canada & US)).

    So perhaps I just need to craft a plan where I make more aggressive conversions over a fixed time frame. x% every month, with a deadline. This helps mitigate the “time out of market” and “exchange rate” issues. Crafting the plan with fixed milestones also takes emotion out of the equation; if I set a series of future transactions, then all I have to do is press the button mechanically.

    More to come on that.

    1. If your cost base exceeds $100,000 CAD ↩︎

    Cautionary tale: Decumulating RESPs

    Most of the stuff I encounter online talks about how to invest in RESPs, how to maximize the grant allocated, strategies for investing, etc etc. Those days are long gone for me. I opened a family RESP when child number 1 was born, about 25 years ago now (!). Child #1 started post-secondary education in 2018, and child #2 started in 2020. So I’ve been withdrawing from RESPs for quite a while now. They are both still in school, but child #1 exhausted their funds earlier this year. (I know this because I set up a virtual mutual fund for them so they both got the same number of RESP units).

    Anyway, an RESP that is no longer being contributed to has 3 components:

    • The money I contributed while the RESP was in accumulation phase
    • The money the government contributed through CESG grants which are “matching” insofar as they give you a percentage of whatever you’re contributing to a maximum annually, and a maximum lifetime. The maximum lifetime any beneficiary can get in grants is $7200. This is an important number, as you will see shortly.
    • The money that is due to growth (price appreciation, dividends, interest, all that)

    When you withdraw from an RESP to give your kids (aka RESP beneficiaries), you can do it in one of two ways:

    • You can ask for an EAP, which takes CESG money plus growth money and is taxed in the hands of the student1
    • You can ask for a PSE, which takes money you contributed, and is not taxed since it was your after-tax money in the first place

    Now, when you request an EAP (which, as I mentioned earlier, is a mix of CESG money and growth money), there is a formula the provider uses to calculate how much of that money should be from the CESG bucket.

    What I didn’t know until lately is that:

    1. The CESG bucket is tracked per beneficiary, even during withdrawal.
    2. It’s not permitted to withdraw more than $7200 in grant money for a given family member.
    3. The amount of CESG each family member brought into the RESP isn’t relevant; it’s possible for a given family member to take out more CESG than was put in on their behalf, as long as the number is less than $7200

    How do I now know all these facts? Well, my latest RESP EAP request for child #2 was rejected because in Questrade’s super-clear language:

    The Withdrawal request is rejected for the time as the we are not able to process this request due to the transfer made in by QTRADE has beneficiary having $xxx which is , $yyy in CESG over than what a beneficiary can receive. Please provide a statement of account from CESP this would show all CESG grant received at all institutions. As we do not want to correct this information before any withdrawal is made as this can casue penalties for the clients.

    My reaction to this was bewilderment. Along with a stream of invective.

    The CESP, in case it’s not obvious2, stands for “Canadian Education Savings Programs” and is the federal program responsible for RESPs. After a few phone calls to Questrade support3 and the folks over at CESP, I think I have a handle on the problem at hand. Somehow, my EAP request would result in child #2 exceeding the lifetime CESG withdrawal limit of $7200. This I found a bit hard to understand because it would imply that child #2 had a far greater amount of EAP money than child #1. Now, while I didn’t track that maniacally, I did try to make EAP withdrawals somewhat even4.

    I constructed a theory as to what happened.

    When I moved my RESP from QTrade to Questrade in the great move of March 2025, somehow the CESG balances for each child had been communicated incorrectly. I vaguely remember a question on one of the many Questrade forms I filled out asking me what percentage of the RESP was attributable to each family member. The question didn’t make sense to me, so I probably just made it 50/50. I wasn’t really sure what the question was supposed to mean and how it might be used. Perhaps that 50/50 number was being used to track CESG already taken out? If so, it would underestimate the amount of CESG actually taken out by child #1.

    Anyway, Questrade is wrong about my most recent withdrawal request, but now I’m stuck trying to convince them of that fact.

    “Stuck” because:

    • Although the folks over at CESP are very nice, they won’t release a CESG statement to me because the beneficiaries are both adults. It’s their information, not mine.
    • Getting my busy young adults to prioritize sitting on hold with a government agency is, um, challenging. Neither of them live in the same city as I do.
    • And Questrade of course won’t take my word for it. They not-so-helpfully suggested that the agency could call them directly, to which I laughed out loud.

    Anyway, I changed the most recent EAP request into a PSE request but there will be no more EAPs until such time as CESP produces a written CESG statement for both of my adult children and Questrade updates their math.

    My advice?

    • Don’t move RESPs between providers 🙂
    • Track the CESG component of EAP payments if you have a family plan. Every EAP withdrawal generates a statement that shows how much CESG is in the mix, but of course there’s no tracking of the overall amount per recipient unless you track it yourself. This is easier said than done because the statement usually goes to the recipient of the funds; trying to get young adults to deal with paperwork is, um, challenging.
    • Get a CESG report from CESP before your kids turn 18

    1. There’s rules of all kinds that I won’t repeat regarding how much you’re allowed to take in the first few weeks of higher education. These don’t apply to me anymore since the kids have been enrolled continuously. ↩︎
    2. Of course it’s not obvious, but clearly Questrade thinks it ought to be. ↩︎
    3. Questrade knows the size of the 3 components of the RESP. ↩︎
    4. I vaguely remember QTrade showing a negative CESG balance for child #1 which made me concerned. Apparently, it’s ok for one family member to “steal” grant money from another as long as they don’t go over $7200… ↩︎

    Ex-Dividends and Getting Paid in Retirement

    As mentioned elsewhere, getting paid in retirement for me is a monthly activity involving selling shares (mostly XGRO), moving funds and so on. The exact date I actually DO the work is a little variable. Questrade and Wealthsimple both automatically move my RRIF payments to my bank account on the last business day of every calendar month; this means I could conceivably do my sell trades to free up cash on the next-to-last business day of every calendar month1, but usually I do it sometime in the last week of the month.

    Today, (the 23rd of the month), I noticed the market doing something it hasn’t done much lately, namely go up. And since the 23rd is in the right window (nearing the end of the month), I thought, “well, maybe I could do my monthly payment today”. Admittedly, it’s probably a day or two earlier than I would normally do this, but I didn’t think it mattered too much in the big scheme.

    Part of me felt a bit uneasy about doing this, it felt a bit like timing the market. But then I also remembered that since this was March, it meant that XGRO was due to pay its quarterly dividend around now.

    A quick search revealed that XGRO’s “ex-dividend date” is in fact March 26, 20262. This means that anyone holding XGRO at close of business on March 25th would qualify for the dividend, which per the XGRO page, is $0.117 per unit held.

    So this would mean that selling today would have been at the expense of the dividend payout for the quarter. Now, I know that this really should not matter; it’s a well established fact that the dividend-paying stock drops by the same amount as the dividend paid out on the ex-dividend date, meaning it should make zero difference whether I sell just before or just after the ex-div date.

    In the end, I decided not to sell today. My usual day would actually be closer to the ex-dividend date, and psychologically, I feel like I’ve earned the dividend by holding XGRO the entire quarter. What do you think? Do you ever time your buys/sells based on ex-dividend dates? Let me know at comments@moneyengineer.ca.

    1. Since the settlement time of ETF trades is T+1, meaning the day after the trade completes. Notable is that Questrade requests you have funds available 3 business days before payment date; I haven’t quite figured out how strictly they enforce that. ↩︎
    2. Look at the “Distribution” section, specifically the table. ↩︎