Does "Buy Monday, Sell Friday" Actually Work? I Backtested it
How I transformed a 6-line script into a 1.8 Profit Factor strategy
I'm traveling with the kids, and even though the focus is on playing with them all the time, I still have some free time when they're asleep…
and I use that time to run some backtests, of course :)
The article is the result of a backtest I did on a well-researched anomaly…
The weekday effect
What is the Weekday Effect?
The weekday effect is a market anomaly suggesting that certain days of the week tend to produce higher or lower returns than others.
The paper I was reading basically tells to…
"Buy on Monday, sell on Friday."
The theory goes that markets often decline on Mondays (weekend news, position adjustments) and recover during the week, with Friday often showing strength as institutional money flows in before the weekend.
It sounds almost too naive to work in today's markets, right?
Testing the Basic Idea on NASDAQ
I decided to test this with the simplest possible approach on NASDAQ futures.
Here's literally all the code I started with:
inputs:
buy_day(1), // Monday
sell_day(5); // Friday
if DayOfWeek(Date) = buy_day and MarketPosition = 0 then begin
Buy ("BuyMonday") this bar at market;
end;
if DayOfWeek(Date) = sell_day and MarketPosition = 1 then begin
Sell ("SellFriday") this bar at market;
end;
Six lines. That's it.
Buy every Monday, sell every Friday, regardless of market conditions.
The Results Were... Interesting
The basic strategy actually showed positive returns over the backtest period, but with some serious problems…
Long flat period: from Nov 2021 to Dec 2023
No risk management whatsoever
Horrible Sharpe ratio due to volatility
Ignored market context completely
It was profitable in raw terms, but it seems we could improve it…
How to improve a trading strategy?
This got me thinking…
What if the weekday effect has some validity, but needs proper risk management and market context?
So I enhanced the basic strategy with:
Trend filter: Only buy Mondays when above the 60-day (~3 months) moving average
Volatility filter: Skip trades when daily range is too extreme (below 0.5% or above 3.0%)
Stop losses: 3% maximum loss per trade
Smart exits: Trailing stops and profit targets
I didn’t optmize any parameter…
The Results
The difference was dramatic:
Drawdowns cut by 30%
Profit Factor improved from 1.34 to 1.84
Win Rate improved from 57% to 66%
Avg Trade Net Profit from $632 to $873
Much smoother equity curve
Actually tradeable with real money
The enhanced version proved that the weekday effect might have some statistical edge, but only when combined with proper risk management and market awareness.
But Here's the Thing...
You might be thinking…
"Doesn't all this extra filters defeat the purpose of a simple weekday strategy?"
Fair point.
But here's what I learned:
Market anomalies like the weekday effect aren't magic.
They're statistical tendencies that work better in certain market conditions.
The "enhancement" isn't about complexity for its own sake – it's about being smart enough to step aside when conditions aren't favorable.
The original six-line strategy was throwing money at the market every Monday regardless of whether we were in 2008, 2020, or a bull market.
The enhanced version asks: "Is this a good Monday to buy?"
And it basically implements a moving average filter with a stop loss/profit targets…
So no complexity here.
The Real Lesson
Simple strategies can work, but they need guardrails.
The weekday effect appears to have some statistical validity, but only when you're intelligent about when and how you apply it.
Raw market anomalies are starting points, not finished products.
The Complete Enhanced Code
Now, the code you were expecting…
It’s show time…