It's undoubtely so that there is an edge in keeping positions overnight. It's connected to a higher risk as the market can open below your stoploss level, but you get paid for it over time.
I was intrigued to investigate if there are certain nights in the weeks that have a stronger edge than other nights. And the difference between the nights were bigger than I thought.
In this study I'm looking at the Swedish OMXS30 index. The backtest period is from April 2011 until today.
So what we are backtesting here is the results if you enter a long trade at 17:20 and exit the trade at the open the next day. ProRealTime™ allow only entres at the beginning of of a candlestick, so we can't backtest entering the trade at the market close at (17:30)
EntryNight | Gain | Trades | % Winrate | Avg. gain | Max Drawdown |
Monday | 684.79 | 633 | +58.45% | SEK1.08 | SEK138.51 |
Tuesday | 334.08 | 648 | +55.25% | SEK0.52 | SEK107.36 |
Thursday | 236.16 | 635 | +56.54% | SEK0.37 | SEK314.50 |
Wednesday | 152.40 | 644 | +55.75% | SEK0.24 | SEK219.04 |
Friday | 6.18 | 624 | +57.85% | SEK0.01 | SEK265.23 |
The results are clear. The best night to keep a position is from Monday to Tuesday, with a winrate of 58% and overall gain more than 100 times better than the worst night (which is Friday to Monday)
I was suprised to see that entering long trades on Fridays at 17:20 and exiting the trade at market open on mondays barely is an edge at all. My gut feeling was that you would be rewarded for taking the risk of keeping a position over the weekend, but actually you're not.
Here are the equity curve of the Monday edge compared to the Friday edge
So, if you're swing trading OMXS30 or building a strategy for OMXS30 one should really consider closing positions before the weekend. To keep position over the weekends are often also connected to high fees,
We'll keep these statistics in mind and will most definitely use it in any algo we build for the OMXS30 in the future.
Please note that we're not entering the trades 10 minutes before the market close, and please note that the results are not including transcation fees.
The ProRealTime™ backtest report
The ProRealTime™ code
IF time = 170000 and DayOfWeek = whichDayOfWeek THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
if OnMarket AND (BarIndex - TradeIndex) >= 0 Then
Sell at Market
Endif
Create a variable named "whichDayOfWeek" and optimize it between value 1 and 5 with step size 1 to reproduce this backtest
Comments