Here is the situation:
Think or Swim has an on demand feature that allows you to go back in time and make trades.
I want to find out if you can build a winning strategy off of these bot trades that we receive in chat. Trades will be taken using the OnDemand feature and the criteria below.
I will start this test on September 1st
The starting balance for the portfolio will be $100,000
Trade placed 5 minutes after the bot makes the call
Be executed on the suggested strike price and expiration.
The trade will close when the profit is 2x the amount spent on the trade
The trade will be closed one day to expiration, at market open. Any profit or loss will be taken.
The amount spent per trade will be ~$1000. It will be documented
Another trade will be executed at the strike price ATM
The expiration will be at least two weeks out, but no more than three weeks
The trade will close when the profit is 2x the premium spent on the trade
The trade will be closed 4 days before expiration, at market open. Any profit or loss will be taken.
The amount spent per trade will be ~$1000.
The trade will not be taken if earnings falls within the expiration date.
All trades that the bot activates will be taken
I started this process last night and it is going to be long and tedious to get meaningful results out of this. So I will post a link to the google sheets that I will be working on this weekend and throughout next week. I will work on this on my free time and will post here with updates. I plan on doing a couple of things when analyzing my findings, like the relationship between AI confidence and win rate, as well as implied volatility and win rate, however for now I will only have a sheet that will calculate the P/L of each day and the P/L total.
If you are interested in helping and know how to use ToS ondemand feature let me know and I will send you a editor link.
Neat… I like it. This could even be useful for Paper Trading and Small Account Challenges.
This sounds like a lot of fun! I’ve actually been super interested in the bot and have been trying to set up a backtesting framework to test different strategies with it.
Currently not much to show but I hope to have something next week.
Random screenshot of it not fully implemented but a WIP
edit: Removed my picture since its not really close to being accurate
It is going to be a really tedious process but I will try to make some headway on it from time to time.
I am going to attack this in a more practical way. This will take me the rest of the year at the rate I am going. I want everyone to be able to take away useful information from this so I will first run this test with all the trades with a confidence level of 70 and over. Then I will go through and complete all the other confidence levels with the criteria above.
I would add a ‘trade 3’ scenario. Buy (or short) the underlying stock, not the option. Figure out close criteria that seem similar to the options. This would help measure if the bot is picking up on what the underlying is doing, or just on aspects of the options activity. Personally I would feel better if the bot was winning on the underlying. For simplicity just treat short as negative the price movement, I wouldn’t worry about the full cost mechanics of executing shorts. Its just about getting confirmation on bot quality.
This backtest is destined to fail IMO. 2x premium is insane gains, it will end up overholding the options looking for impossible gains and never taking profit. You should have an R/R ratio of at least 1 on every trade which is setup dependent (some could +100% some could only +20%) and you use stop losses to fix the R/R ratio.
I realized this not to far into this back test, I am going to be coming up with a new profit target for each trade. The exit criteria is tricky, I’m thinking 20% would capture more returns but what would be a good time to exit the trade? If you are taking 20% gains you wouldn’t be able to let the trade expire out of the money. This aspect sort of sucks, because I wish there was a way to analyze all this data in multiple different fashions. Maybe the optimal profit target is 24.5% but we would never know because I’m unable to analyze the options chain data in that detail.
In that case, it might be helpful to choose multiple exits per bot call-out rather than focusing on one. Perhaps look at the max possible gain and then divide it by 2 for each one.
This quickly grew beyond the scope that I intended. I am going to try to figure out a way to download ToS on demand data and set up it up in such a way so a strategy can be analyzed from multiple different angles. This may take a while but I’m thinking it wouldn’t be too hard, it will just challenge my excel skills.