I have a SSN and a US bank account I got when I worked in the US a couple of times with a J1 visa. And now I have a few dollars in the bank account I would like to invest. How is the best way to do it, considering I'm now a non-resident for more than 6 months (that was the condition for Wells Fargo trading account)?
Depending upon your home country, Interactive Brokers & E*Trade permit foreign account holders.
There is obviously more paperwork.
Interactive Brokers has branches worldwide with a presence on nearly every exchange, so it might actually be easier to set it up in your home country remotely to spare yourself paperwork.
The best way would be to move the money home and invest through your local broker. This way you avoid the double taxation issues, foreign withholding requirements and the necessity to file a tax return with the IRS to get refunds. Also, your local tax issues may be streamlined if you use a local broker (in many countries brokers withhold taxes at source and you don't need to do anything), while using an American broker will require you to also file a tax return in your home country.
If you still want to use an American broker - you'll probably need to open an account in person through branches of the broker companies (try Fidelity, ScotTrade, E*Trade, AmeriTrade, and such).
Don't quote me on this but it is my understanding that it is not allowed in either Canada or the US for brokerages to deal with customers outside their accreditation area. But then I don't think 6 months away, that may not be permanent, and where you have not severed ties (witness this account) puts you outside their purview.
I would ask "what is the problem with moving the cash north and trading the US dollars from within a Cdn brokerage account??"