0 DTE Backtest - Entry Timing 4
Let's continue the entry timing backtest series. This time with the recent per minute approach, I'm running it for Feb 2023 which has just finished it's last trading day.
If you want to find out more on the per minute approach, do check out my 2 other backtest post (how to & ideas).
Background
Just to set some basis and explain the configuration of this backtest series. I'll be running naked short put instead of spread, just to keep the data cleaner.
I have 2 main objective for this post:
- To identify what is the timing entry trend like for February 2023. Does it coincide with past months? Has it changed? To keep track of these so later months when I do the subsequent months backtests I could refer back here.
- To do a simple comparison on OptionOmega and BYOB. Since I'm already doing in such detail, another source of data for analysis is always good.
Mechanics / Configs
This is pretty much the setup, keeping it simple. Call side will be exactly the same. There are some configurations I turned on because I only want to identify the pattern and relativity comparison:
- Cap Losses - This is to cap all the losses at the determined 200% SL.
- Stoploss Slippage - To determine my own slippage of $0.2
The reason I did this 2 config is because in my many other similar tests comparing OptionOmega and BYOD, I realise the key difference is their slippage expectation. Not going into that here, I might write another post in more detail on this. So from that comparison I understand how to keep my data more accurate for backtest and analysis.
So by determining this 2 config, I'm simply determining my own slippage instead of using OO's slippage and my real slippage for Feb 2023 was about $0.15 but to give it a very slight margin of error I used $0.20 here.
Backtest Results
Blue is the combined P&L, Green/Red is Call/Put respectively.
I used aggregated P&L here because what I want to see is relative performance. Every minute exists in everyday, so it's really to compare which minute did better across the entire month. So there's no need to compute PCR here.
Highlighted the key high points for the month - 10:53, 11:28, 14:54, 15:14
Quick look on the overall pattern, the 12:00-13:00 remains as the worse performing similar like the other backtests.
What's different this time is 14:00-14:30 is quite underperforming relatively. Some could justify because there are events like FOMC releasing at that timing.
The whole 10:30-12:00 being higher profitability is also something that changed but this timing has always been fluctuating. Not much consistency across longer period.
Overall Feb is a good month with overall 37.7% PCR and 81.59% Win Rate on Spread for the above backtests. Don't be too focused on these numbers as backtests testing per minute gives a much larger sample size than real trades, it's hardly possible to match the exact scenario.
If you have OptionOmega, here's the shared link for the backtests:
- Put - https://optionomega.com/share/HKMT5hCKgQdh0qwCKF9k
- Call - https://optionomega.com/share/QYv6bbuQMHMUiXsSKZ3o
Next is the BYOB part, we can only run on the provided timing of 15min interval. So I ran it with the following settings:
BYOB only allow spread, so I chose the max width available which is 55. Kept the fees and slippage the same. Here's the BYOB result screen:
It has far lesser trades of 933 compared to OptionOmega run which had 14706 trades because of 15min interval vs 1min. PCR here is 26.11% compared to the 37.7% in OO because the OO run did not have the long leg as the drag. So it's not a good comparison metric here.
The similar thing to note is win rate is 79.1% which to me seems pretty close to the 81.59% I get from OO. Both are on the high side for Feb.
I also did the similar timing chart from the exported BYOB trade logs below.
It actually have similar trend pattern as the OO results, let me put it side by side to make it easier for your eyes.
Summary
I think it's important to understand how to backtest well. Understanding, analysing, processing and interpreting data is a skill. It's something that you have to keep doing, drilling into details and figuring it out to get better. Having a group of like minded backtesters to discuss, debate and challenge each other also help improving our backtests. Feel free to catch me on discord, let me help Speaking Greek discord promote abit since I'm often there.
Entry timing wise, I think with this per minute approach of backtesting on OptionOmega. It really opens up more ideas and more refined backtests results for analysis. I'll probably be doing this every month to keep up the trend. Also maybe doing it for past months if I got time so we can see the month over month trend.