≡ Menu

How to Calculate US Capital Gains Tax in a Non-Registered Account

A reader emailed me about how to calculate capital gains tax on US traded stocks within a Canadian non-registered account (in USD).  While the calculations are very similar to trading Canadian stocks, the difference is that the currency exchange needs to be accounted for.

Capital gains for Canadian stocks

Before we get into the meat of the article, lets first go over some of the basics of capital gains tax for Canadian stocks.  When stocks are traded in a non-registered account (outside RRSP/TFSA/RESP), they are subject to tax.

While paying tax can be a burden, the bright side is that capital gains gets preferential tax treatment.  That is, any capital gains, the profit between sell price and buy price, has a 50% inclusion rate.  This means that 50% of the gains are added to income and taxed at your marginal rate.  If the investor is in the highest marginal tax bracket, then he’ll pay close to 25% of his gain in capital gains tax.

What if there is a loss?  You can read more about how capital loss works and how they can reduce your total capital gains tax for the year.

Calculating Capital gains Tax for US stocks

Now to answer the reader question, how does capital gains tax work for buying or selling US stocks when trading in US dollars?  While the basic concept is the same as Canadian stocks, the difference comes when the currency exchange comes into play.

Basically, the buy price and sell price need to be converted to Canadian dollars first prior to calculating capital gains.  Once capital gains after foreign exchange is calculated, the same 50% inclusion rate is used.  To figure out the exchange rate on the day of the trade, the Bank of Canada website has all the forex history you need.

Here’s an example:

  • Stock:  XYZ on NYSE
  • Buy Price USD: $10 x 100 shares = $1,000
  • Buy CAD/USD Exchange: 1.05 (on day of buy trade)
  • Buy CAD:  $1,050
  • Sell Price USD: $15 x 100 shares = $1,500
  • Sell CAD/USD: 0.97 (on day of sell trade)
  • Sell CAD: $1455
  • Capital Gain:  $405 minus commissions
  • Capital Gains Tax: ($405 minus commissions) x 50% x marginal tax rate

In the above example, if it was simply a stock on the TSX, then the capital gain would be $500 (minus commissions).  However, since there may be a loss or gain due to the value and volatility of the USD currency itself, it can work in favour or, in this case, against the investor.

Another method my accountant told me about is to use an average USD/CAD exchange for all the transactions to avoid looking up the exchange rate on the day of the trade for every transaction.  While this may simplify things, you’ll need to work through the numbers yourself to see which option reduces capital gains the most.  For a frequent trader, I can see how using a single annual average forex rate can be advantageous.

Personally, to keep things simple, I hold US securities in registered accounts.  As per my portfolio allocation article, US dividends stocks are kept in an RRSP to avoid the withholding tax on the dividend and the occasional USD trade may be made within my TFSA.

Do you trade US stocks?  Do you keep them in registered accounts as well?

If you would like to read more articles like this, you can sign up for my free weekly money tips newsletter below (we will never spam you).

FT About the author: FT is the founder and editor of Million Dollar Journey (est. 2006). Through various financial strategies outlined on this site, he grew his net worth from $200,000 in 2006 to $1,000,000 by 2014. You can read more about him here.

{ 19 comments… add one }
  • Avatar Sustainable PF November 14, 2011, 9:20 am

    Thanks for this FT. Very useful as tax time, again, approaches (come to think of it, tax time is always approaching!)

  • Avatar Greg November 14, 2011, 11:04 am

    The trick about holding USD investments in a registered account is avoiding currency exchange costs on every transaction. USD registered accounts are rare though becoming more available.

  • Avatar My Own Advisor November 14, 2011, 1:13 pm

    Hey FT,

    Good post. Like you, I hold all my US securities in registered accounts.

    Very simple that way.

    Is there a sequel to this post? Tips for capital gains management in CDN non-registered accounts?

    BTW – over 16,000 subscribers. Wow! I’m only 15,000 or so behind you :)

  • Avatar Michael James November 14, 2011, 3:24 pm

    Thanks for a useful post. This stuff can get complicated. One thing that can cause problems is that the Bank of Canada site only has daily dollar-conversion figures for the last 10 years. I have no idea why they would limit it in this way. They should just put all data they have on the site. I pity the poor guy who bought a stock in 2000 and can’t figure out what he paid in Canadian dollars. I always make note of the exchange rate at the time I make a buy so that I have the information later when I sell.

  • Avatar Sampson November 14, 2011, 4:16 pm

    Partly because of my low income (during student years) and partly because or my current pension, my registered accounts are ‘bloated’ with US holdings. Therefore it is almost a necessity to hold some things in non-registered accounts.

    I don’t trade or even sell often, so I haven’t run into this problem often. It isn’t the most complicated set of calculations, and it is ‘fun’ to know that you might actually have an advantage if you use a mean exchange vs. spot rates for the trading days.

  • Avatar Karen November 14, 2011, 4:22 pm

    thanks FT, this is also timely for me, as I plan to sell some U.S securities in this tax year. When calculating the USD/CAD exchange, how do you factor in the currency exchange fee charged by the broker (1.25% at Questrade for my margin account)? In your example, what if the cost of ‘purchasing’ $1000 U.S. to make the stock purchase cost the 1.05 (5%) exchange rate plus a 1.25% currency exchange fee, i.e. 6.25% total, or $1062.50. Would you still use $1050 in the capital gain calculation but then include that $12.50 fee in the commissions subtracted at the end or just use $1062.50 as the ACB for the purchase. Maybe it doesn’t matter which way, just want to ask whether the currency exchange fees can and should be factored in?

  • FT FrugalTrader November 14, 2011, 9:32 pm

    @ My own advisor, good question about capital gains management. I don’t have a good system right now, I just print off my annual transactions during tax preparation and start calculating!

    @ Karen, are you talking about in a non-registered account,but you are using CAD to purchase US stocks? Typically, I buy USD to purchase US stocks. But yes, you’ll need to track your conversions from CAD to USD and vice versa.

  • Avatar Elbyron November 15, 2011, 8:39 pm

    FT, it’s still a bit unclear what Karen is supposed to do. Is she allowed to included the exchange fees as part of the commission deduction? And, would she be allowed to include the exchange fees charged when she converts the sale proceeds back to CAD?

    I also have a question of my own. I work for a company based in the U.S. and participate in the employee stock purchase plan. They deduct a percentage of each paycheque and set it aside until the next purchase date, which occurs every 6 months. At purchase time, they use an exchange rate averaged over the 6 month period (I think) to convert my CAD pay into U.S. stocks. This rate is not necessarily close to the current rate on the date of purchase, but it does sound a bit like the annual average forex rate method you described. So when it comes to calculating my capital gains, do I get to choose which rate to use, or is there a certain way it’s supposed to be done?
    Oh, and in case it’s somehow relevant, I get to buy the stock at the lower of the price at the start of the period and price at the end of the period, minus 15%. That 15% discount gets taxed on my paycheques as a taxable benefit.

  • FT FrugalTrader November 15, 2011, 8:59 pm

    @Elbyron, for Karen’s situation, i’m not 100% sure, but I think that you can reduce your adjusted cost base by the forex commission. To avoid tracking this fee for every trade, I would recommend opening a US account and maintaining US cash in that account. That way, you only need to track the forex fee when you convert to and from USD.

    ESPP for a US company is something I don’t know a lot about. Any tax experts out there who can lend a hand?

  • Avatar future_moneybags November 16, 2011, 9:10 am

    Transfer USD from a USD checking account, to the non-reg account would be what I would suggest. The funds than added to your broker account would be split up from cdn and USD currencies. Un-related this is also how I pay off USD mastercard.
    Hope that helps some :)

  • Avatar Steve @ Grocery Alerts November 21, 2011, 3:15 pm

    Frugal Trader and My Own Advisor I also hold all my US securities in registered accounts. After seeing the calculation required to figure out how much is payable I can see why I stuck to this strategy.

    Thanks for showing how to calculate the exchange rate.

    What about calculating dividends in a non-registered account?

  • Avatar T Sandstrom April 20, 2013, 2:05 pm

    The calculation shown is basic. It has neglected 2 issues.

    Issue 1:

    According to CRA, the first $200 of ForEx gain is not taxable and first $200 ForEx loss is not claimable. (See CRA’s Capital Gains Guide).

    The calculation shows the total capital gain, i.e. it includes
    1. the gain (or loss) from the stock value appreciation (or depreciation) AND
    2.that from currency.

    So how do we separate these 2 components?

    Issue 2:

    The calculation shows there is only 1 purchase. But we usually have multiple purchases. Do we need an “Average Buy Exchange Rate”?

    Also, should we use the exchange rate of the Trade day or Settlement day since there is usually a 3-business day difference?

  • Avatar Ronald January 7, 2014, 3:02 pm

    Can you confirm if this is correct or not
    Let’s say you purchased 4,000 shares @ 10$=$40,000 but the rate was .97=$38,800
    You then sell those 4,000 shares @ 10$= $40,000 but rate was 1.05 = $42,000.

    So although the shares were bought and sold at the same price and I didn’t make any money, I would have to pay tax on $3,200 because of currency exchange gain.

  • Avatar D January 20, 2014, 6:13 pm


    You did make $3,200. It’s a currency/capital gain. If you were to convert the USD back to CDN on the same day you are $3,200 CDN richer; so yes you must pay tax on that.

  • Avatar Ronald January 21, 2014, 10:13 am

    If the money would just had been sitting in a US account and then would convert it back to CND, I would still be $3,200. Would there be any tax to pay in this case.

  • FT FrugalTrader March 3, 2014, 1:34 pm

    To get back to Karen’s example, in ufile, there is a line item that says:

    “Expenses incurred in making the disposition”

    I would count the 2% forex fee (or whatever your broker charges) in that line item.

  • Avatar Ian February 5, 2015, 6:43 pm

    I’m curious about what Ronald had said. Do you have to pay capital gains if you never bought anything and just exchanged currency?
    This makes it tricky if I exchange CDN to USD to buy a stock, then sell it but keep it in US funds…while it’s sitting there, it’s inherit value has also changed!?

  • Avatar Kyle March 15, 2015, 9:12 pm

    What if the USD was borrowed to purchase US stocks? Then the US stock is sold at a profit. How do we calculate the FX gain? The FX rate can stay the same during purchase and sale of stock but FX gain is still being realized. For example, if I borrowed $1000 USD and bought US stock and sold it at $1500 USD. Let’s say the FX rate stays at 1.28, if I convert the $500 USD gain into CAD, I’ll make $140 CAD in FX gain from the $500 USD gain. Using the method in this article, the FX gain is however zero because the FX stays the same between purchase and sale.

  • Avatar Matt April 28, 2015, 7:20 pm


    I was itching to find the answer to that question. There is a missing puzzle piece to this conversation and I have found it. I found the answer on another site.
    These transactions would be equivalent to the following for tax purposes:

    1) Buy US dollars (convert from Canadian dollars)
    2a) Sell US dollars (convert to Canadian dollars)
    2b) Buy US shares (using Canadian dollars from 2a)
    3a) Sell US shares and receive proceeds in Canadian dollars
    3b) Buy US dollars (using Canadian dollars from 3a)

Leave a Comment