If you have a Self-Directed RRSP account with TD Waterhouse (read my review), you will be able to sell a US-listed stock and park the proceeds in TD US Money Market (US$) Fund (TDB166). This process is called a “wash” trade and since moving our RRSP accounts to TD Waterhouse, I have executed a few of these personally. Washing your trade is quite simple: You put in a sell order for a stock and as soon as it is filled, you should call TD Waterhouse at 1-800-465-5463 and ask the agent to wash your trade. If multiple sell orders are filled in one day, wait for the last order to be filled before calling TD Waterhouse.
To use the proceeds of the wash trade to buy another US equity, simply put in a buy order and one day before the order is settled, call TD Waterhouse and ask them to sell enough of TDB166 and use the proceeds to settle the trade. For example, let’s say you put in a market order for VEA on Monday and it was filled immediately. You would call TD Waterhouse on Wednesday and ask them to use TDB166 to settle the trade.
TD Waterhouse also allows you to sell a US-listed stock and buy another US-listed stock on the same day without incurring foreign exchange transaction fees. The broker does this automatically by buying and selling US dollars at the same exchange rate and no action is required on your part. This was particularly useful when I recently substituted EFA with VEA.
I believe a few other discount brokers also offer the ability to buy and sell US-listed stocks on the same day without incurring fees (Can you let me know if your broker offers this feature?) but only TD Waterhouse allows you to wash your trades. Either method would allow you to save a total of 2% of the transaction value in foreign exchange fees. Depending on your transaction amount, the conversion fees may be much greater than the trading commissions.
Update (January 16, 2012): You can now set up automatic wash trading in registered accounts by calling TD Waterhouse.