This is not financial advice. I am not a financial advisor and am just a bored programmer.
I saw the work by fellow friend and bot-analyzer [SixUmbreons] and reached out to him last week with some questions. He was kind enough to send me the spreadsheet he created from the bot calls analysis to get started. I ended up setting up writing some code to back test the bot by using Minute-by-Minute Options data and QuantConnect. My ultimate goal is to see if there is an optimal way to play this bot or if it shear luck Some results are below:
1st Iteration - Buy Every Position and Hold
My first test was with the simplest strategy I could think of. Buy as many positions as possible with a 0.05% sizing per position and hold until expiry. I would then sell the contract at expiry instead of exercising the options to prevent holding any stock positions.
Buy each position at market price when signal given with 0.05% of available buying power
Hold position until expiry and sell at market to avoid exercising the option
Ok – at least we are somewhat better than before! But obviously still not an ideal strategy.
I used the attached .csv that was generated by SixUmbreons. I’ve uploaded it here
Not all of the option data was available – I simply skipped these option trades. Out of the 3142 option trades tracked, 55 were not available.
This is using the QuantConnect/AlgoSeek options database. I’m assuming I set up the data feed correctly and the data is correct
I’ll continue to fiddle with the system to see if there is an ‘optimal’ way to play the bot. Please post some strategies you would like to try out below and I’ll give them a whirl. My next thoughts are putting logic regarding position entrances (most likely limit buys from the entry given on the spreadsheet) to see how that looks.
This is awesome, thank you for doing this. I am trying to think of criteria that could lead to some possible profitable strategy.
It would be interesting to see what would happen if bot trades were only placed when they followed the general “trend” of the market. Ie if the bot calls out a Call the trade would only be taken if the 9day moving average is above the 21day moving average. Not sure how much of a pain in the ass this would be to test.
I agree with Wiplash, set the take profit to 30% and see what that does.
The flaw in the bot is you get a callout for a trade but if it’s a multi leg strategy like a strangle you are only seeing one side, so some TA to determine entry points or if you should even enter is still a good idea.
Personally I love the bot, but I don’t enter every single callout and I generally take profit at 20% unless I can clearly see it’s still on an uptrend
Yep, it’s hard to draw conclusions from analyzing the callouts. Even the “winning” trades that can be sold for profit have, on average, significant drawdowns and large standard deviations. This makes it very hard to know when to start taking profits and when to cut losers.
you’re holding way too long? most of these plays are intended to be 1-2 days not until contract expiry?? if you are following the options bot then you should sell after 48hrs if no buy/sell threshold is met not ride until you die
the bot suggests a lot of various strike prices, how are you handling that & calculating the R/R ratio based on that?
I also think the general +/- 30% is way too broad even for the next closest weeklies or monthlies, try scalping like +15% / -10% maybe with a trailing stop also
I think length of time of holding is the next big item to add. I’ll use this post for the next run and will post the results tomorrow after I code it up
Regarding this : the bot suggests a lot of various strike prices, how are you handling that & calculating the R/R ratio based on that?
Each callout is an individual play and the R/R is based on that play. For all intents and purposes for the backtesting, they’re independent of each other since the bot never tells when to sell out of a position
Regarding the comments about entries – I’ll write a script to add in the strike prices as the callout and add it to the spreadsheet. Can use those as limit buys since the time of the callout may not line up directly with the market price at that time.
This is probably the biggest hurdle. I’ve been messing with some parameters and was able to get a success rate of 52%. But unfortunately given the asymmetrical distribution of the R/R, the overall profit was about -40% return.
There are some fallacies in the assumptions of the bot call outs, which ultimately causes the inconsistent profitability playing those call outs.
First, there is frequently a very notable delay between the condition which triggered the call out and the call out being posted in the channel. Very often I would see that the call out shows up in the channel after a run had already ran for awhile after bouncing off of a support. If you buy using those call outs you will frequently lose money unless luck is on your side. Some times the call out is made in the channel right after a bounce off of support, in those cases you’d be catching the recovery and profit. I’m not sure what is causing the delay, but it is reasonable to expect a delay between the code that is doing the analysis, communicating the results, and propagate the results to all the discords listening. Because of this I don’t think it’s best to buy without reviewing the chart first.
Next would be that the bot is only doing this by TA and it does not consider market conditions, sentiment, financials, etc. The bot likes to call out big tickers, like UBER, F, NVDA etc. These large caps are easily influenced by overall market conditions, therefore a TA buy condition can easily be failed by SPY.
These two things are the biggest fallacies that I attribute to for the low profitability on playing the bot call outs. I still believe that you can only treat the call out as a screener alert to give you something to further analyze before you take a position.
I think you may be right. I have used the bot quite a lot and have secured some nice profit from its signals. However, for the past couple of weeks or so, I seem to only lose money when using it. It is possible that, back then, its signals were not delayed and actually in line with what was going on with the stock/market. Now, they are probably delayed and when the signal is issued, it is already the end of a run, or nearing the end…
Maybe there is a way to get in touch with whomever runs the bot, and verify if the hypothesis above is actually true?
So far I’ve had a 90% success rate buying Tradytics AI calls with a higher than 75% success probability or higher, waiting for a bounce on the week’s supports and checking that there’s no negative news. I also sell between 10-20% up and extend the expiration by a week or two to minimize theta decay. Not the most exciting gains but so far it’s been consistent money. I actually don’t have a stop loss; I just sell the 3rd morning after once volatility is high if I didn’t see my gain target.
Maybe you can’t check for news using your program but I’d be curious to see your results using my system.
Thanks Jeff, I’ve found this post really interesting.
Is anyone still playing the signals given by the bot? I haven’t in about 30 days due to most of my recent plays being on the lose side. I was wondering if maybe it’s gotten better during the past month or so?