Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
T+3 rule, when will I be able to use my funds?

For this example assume I am using a cash account through robinhood, initially with 100 dollars.Let's say I buy 1 stock of company XYZ (valued at 10 dollars a share), Now I have 90 dollars of settled funds. Let's say I wait 30 minutes, and then sell that stock for 20 dollars a share. Now I have 110 dollars .

Would I have 90 dollars of settled funds and 20 dollars of unsettled funds?

With quantopian's do_unsettled_funds_exist framework, would I be able to use the other 90 dollars to buy shares of other companies without waiting the t+3 time period? Or would I have to wait t+3 more (days) before I make any other trade?

2 responses

Hi Idan,

So here's what happens:

  • 9:31 AM, you have $100 in cash, $0 in stock
  • 9:40 AM, you buy stock XYZ for $10. You have $90 in cash, $10 in stock.
  • 10:10 AM, you sell stock XYZ for $20. You have $90 in cash, $20 in unsettled funds, and $0 in stock.

So you're correct, you would have 90 dollars of settled funds and 20 dollars of unsettled funds. With the current do_unsettled_funds_exist framework, you would not be able to buy shares of other companies until unsettled funds reaches $0.

We created that framework as a conservative way to prevent any unwanted behavior in comparison with the backtester (which doesn't work on a T+3 basis).

If you'd like to trade on the other 90 dollars worth of shares (or the rest of your settled funds) and still want to order on a percent basis, I'd remove the do_unsettled_funds_exist framework and modify the order_for_robinhood framework for your needs.

I'm happy to guide you along those steps if you'd like to post your example here.

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

Hi Seong,

This is an old thread but I was wondering about the same thing. Firstly, I'm new to Quantopian and my knowledge in python is pretty novice, but I've been learning a ton thanks to the community posts.

When trading with my robinhood account, I want to be able to trade with my settled cash, even when I have cash unsettled. I feel like this wouldn't be very hard to implement in live trading, by getting rid of the do_unsettled_funds_exist framework, and assigning your cash available for trade as context.account.settled_cash. The problem is creating a simulation of this process to work in backtesting. How would I go about coding a process, so that after a stock is sold, the cash isn't available for 3 days when backtesting a strategy?