Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Real-money live trading, what is your recommended account type on IB?

hi all,

According to this page, IB has three types of account: Cash, Reg T Margin and Portfolio Margin. For a daily-based long-only algorithm, what is your recommended account type on IB? Which one is the best for Quantopian?

6 responses

Check Account Comparison table this page. I would choose a margin account, mostly because purchase and sale proceeds available immediately, which means if you are re-balancing or rotating stocks you can sale/buy the stock combination at the same time, the sell happens first and the funds are immediately available for a buy transaction. On a cash account you will have to wait 3 business days for funds availability.

Between Reg T and Portfolio Margin depends on your initial investment availability, if you can start with 110K+ then Portfolio is better, Reg T requirement is 25K+.

I think Reg T 25K+ requirement is only for pattern day trading. If it's daily or longer time re-balancing there is no 25K requirement for Reg T.

Han's right, I missed that part. 25K+ is only for pattern day trading or if you actually day trade. For daily-based trading opening account minimum is 10K+. If you go below that they charge a $10 data feed fee unless you meet some minimum trades etc.

Thanks Jay and Han for information.

@Jay Kumar

the sell happens first and the funds are immediately available for a buy transaction

Do I have to code this "first sell and then buy" rule explicitly in my re-balancing algorithm?

@ Han Chen
Your posts disappeared after I refresh the page??? don't know why, did I accidentally delete them?

1> Compute targeting transaction amount T=[T0, ..., Tn]
2> Sort T into T_sorted (from negative/sell to positive/buy)
3> Sequentially execute T_sorted one by one per minute

Yes, I thought about this same idea. Unfortunately, my algorithm trades just before the market close. This may result in some unfilled orders.
Anyway, thanks for your help!

No no I thought my reply is stupid so I deleted it..
Maybe time.sleep() will do the job? for example sleep 1 second during each order. I never tried it. We can test it in ib paper trading account first.