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?


  1. Sustainable PF on November 14, 2011 at 9:20 am

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

  2. Greg on November 14, 2011 at 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.

  3. My Own Advisor on November 14, 2011 at 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 :)

  4. Michael James on November 14, 2011 at 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.

  5. Sampson on November 14, 2011 at 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.

  6. Karen on November 14, 2011 at 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?

  7. FrugalTrader on November 14, 2011 at 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.

  8. Elbyron on November 15, 2011 at 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.

  9. FrugalTrader on November 15, 2011 at 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?

  10. future_moneybags on November 16, 2011 at 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 :)

  11. Steve @ Grocery Alerts on November 21, 2011 at 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?

  12. T Sandstrom on April 20, 2013 at 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?

  13. Ronald on January 7, 2014 at 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.

  14. D on January 20, 2014 at 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.

  15. Ronald on January 21, 2014 at 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.

  16. FrugalTrader on March 3, 2014 at 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.

  17. Ian on February 5, 2015 at 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!?

  18. Kyle on March 15, 2015 at 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.

  19. Matt on April 28, 2015 at 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

This site uses Akismet to reduce spam. Learn how your comment data is processed.