QuantsappFaster in the app: live data, alerts, tradingOpen
Log inStart free
Calendar & seasonalityPositionalNIFTYlow complexity

Turn-of-the-month long

The turn-of-the-month effect is one of the best-known calendar patterns: stock indices have historically tended to rise in the last few days of one month and the first few of the next. This strategy tests it on NIFTY futures by buying at the close two sessions before month end and selling at the close of the third session of the new month, every month, with no stop.
Buys NIFTY futures at the close two sessions before month end and sells at the close of the third session of the new month, every month.
Market viewCalendar or event timing
TradesNIFTY near-month futures, 1 lot
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsBeginner
Trades a month1.1
Typical hold6 days
Profitable months6 of 12
Longest losing run2 trades
Made money inNIFTY up over 1% during the hold
Lost money inNIFTY down over 1% during the holdEntries after a quiet session
Default settings
Symbol
Entry days before
Exit day
SMA filter
Lots
Backtest this strategy →Change any setting, pick your own period and run it in the Quantsapp web app. Backtesting is part of the Max plan. Pro+ members can use it now as a free trial.
1

How it trades

What it trades
Universe
NIFTY Positional · 1 Oct 25 → 30 Sep 26
Enters
Close of the second-to-last trading session of each month
Legs
BUY FUT · near month · Near month (next month if entry is on expiry day) · 1 lot
Exits
time Close of the third trading session of the new monthroll Expiry inside the hold: closed at the expiry close and carried in the next month
Re-entry
Every month
Entry
at the CLOSE (the last print) of the trading session ENTRY_DAYS_BEFORE - 1 sessions before the month's last trading session (2 = the second-to-last session), buy LOTS of the near-month NIFTY future. With SMA_FILTER > 0, only when that session's futures close is above its SMA_FILTER-day simple moving average.
Exit
at the close of the EXIT_DAY-th trading session of the new month. No stop, no target.
Roll
a future cannot be held past its monthly expiry. If the entry session is itself the expiry day, the next month's contract is bought (at the close when the curve lists it, else at the next session's open); if the expiry falls inside the hold, the position is closed at the expiry close ("expiry") and the rest of the hold is carried in the next month the same way.
Re-entry
every month.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 13 trades · before costs
Net P&L−₹73,254
Win rate46%
Max drawdown−₹1,00,749
Avg per trade−₹5,635
Profit factor0.63
Worst trade−₹52,260
3

Where it made and lost money

With 13 trades no condition can be called reliable. What happened during the five-session hold decided each result: the 6 holds when NIFTY rose more than 1% made ₹1,23,643, and the 5 when it fell more than 1% lost ₹1,70,545. That is the whole bet, since there is no stop or target. Entries made at the close of a quiet session lost ₹1,28,095 over 7 trades, while the 6 entries after trend or choppy sessions made a combined ₹54,841. The calendar alone did not tilt the odds in this period.

India VIX the evening before
VIX below 11.5 (calm)−₹11,8822 trades50% won
VIX 11.5-14.5 (normal)−₹51,3697 trades43% won
VIX above 14.5 (nervous)−₹10,0044 trades50% won
Kind of session on the entry day
Quiet session (range under 0.75%)−₹1,28,0957 trades29% won
Trend day (closed near the high or low)+₹28,5093 trades67% won
Choppy day (wide range, closed mid-range)+₹26,3323 trades67% won
Market while the trade was held
NIFTY rose over 1% while held+₹1,23,6436 trades100% won
NIFTY within ±1% while held−₹26,3522 trades0% won
NIFTY fell over 1% while held−₹1,70,5455 trades0% won
How the entry day opened
Gap up of 0.4% or more+₹15,2301 trades100% won
Flat open−₹96,49210 trades40% won
Gap down of 0.4% or more+₹8,0082 trades50% won
Session direction on the entry day
NIFTY closed above its open+₹6,8196 trades67% won
NIFTY closed below its open−₹80,0737 trades29% won
Trend going in
Uptrend (NIFTY above its 20-day average)−₹35,6527 trades43% won
Downtrend (NIFTY below its 20-day average)−₹37,6026 trades50% won
Expiry day (NIFTY weekly)
Expiry day+₹71,7013 trades100% won
Other days−₹1,44,95610 trades30% won
Day of the week
Monday+₹31,2392 trades50% won
Tuesday+₹33,0332 trades100% won
Wednesday−₹18,0112 trades50% won
Thursday−₹64,4415 trades40% won
Friday−₹55,0742 trades0% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Using the exchange calendar, find the month's last trading session; holidays are skipped automatically.
  2. At the close of the second-to-last session of the month, buy one lot of near-month NIFTY futures.
  3. Optionally, buy only if the futures close is above a chosen simple moving average; this filter is off by default.
  4. Hold through the month change, with no stop and no target.
  5. Sell at the close of the third trading session of the new month.
  6. If the monthly expiry falls inside the hold, close at the expiry close and carry the rest of the hold in the next month's contract, which shows as two trades.

Why traders use it

The usual explanation is money flow: salaries, pension and fund inflows arrive around month end and get invested in the first days of the new month, and fund managers may dress up portfolios before month-end reporting. The rule needs no indicators, only a calendar, and it is in the market for just five sessions a month. It is widely cited in research on many markets, which makes it a natural first seasonality test for Indian traders.

Works best whenMarkets in a steady uptrend where month-end and new-month inflows add to existing buying, so the five-session window catches a few days of gains without a sharp shock.
Struggles whenMonth turns that coincide with sell-offs, global events or heavy institutional selling, when a five-session long position with no stop simply absorbs the fall, as in March and June 2026.

The year in plain words

On NIFTY from 1 Oct 2025 to 30 Sep 2026 the strategy traded around eleven month ends, logging 13 trades because two holds crossed a futures expiry. Six made money and seven lost, and the average loss (₹28,128) was larger than the average win (₹20,607). Net P&L was a ₹73,254 loss before costs and ₹76,967 after ₹20 per order and slippage. The March 2026 turn alone lost ₹82,920, while April made ₹38,668. In this period the calendar pattern did not show up on NIFTY.

What the settings do

Entry days beforeWhich session before month end the position is bought at the close: 1 is the last session of the month, 2 the second-to-last, up to 5. Earlier entries hold longer and take more market risk.Exit dayAt the close of which session of the new month the position is sold, from 1 to 4. A narrow window of 1 targets only the first day of the month.SMA filter0 switches the filter off. Setting 100 or 200 buys only when the futures close is above that simple moving average, so the trade is skipped in downtrends.

Risks

  • The position holds overnight for about five sessions with no stop, exposed to every gap.
  • Calendar effects rest on few observations a year and can fade or disappear.
  • When the monthly expiry falls inside the window, the roll adds an extra pair of orders and costs.
  • A futures lot moves point for point with NIFTY, so one bad month can erase several good ones.

Who it suits

Traders interested in seasonality who want a simple monthly positional trade with no indicators, can carry futures margin overnight for a week, and accept that calendar edges are uncertain.

5

Questions traders ask

What is the turn of the month effect?

It is the tendency, found in studies of many stock markets, for prices to rise more around the last few days of one month and the first few of the next than at other times. Month-end inflows and portfolio rebalancing are the usual explanations.

Does the turn of the month effect work in the Indian market?

In this NIFTY futures backtest from 1 Oct 2025 to 30 Sep 2026 it did not: the strategy won 6 of 13 trades and lost money overall. One year is a small sample for a calendar effect, which needs many years to judge.

Is the turn of the month strategy profitable?

With default settings it lost ₹73,254 before costs and ₹76,967 after ₹20 per order and bid-ask slippage, with a ₹1,00,749 drawdown before costs. STT and other statutory charges would add to the loss. Past results do not guarantee future ones.

What does the SMA filter do?

With the filter set to 100 or 200, the month-end trade is taken only if NIFTY futures close above that moving average, so the strategy stands aside in downtrends. It is off by default, so every month is traded.

6

Before you rely on it

ADAPTED FOR TODAY'S NSE RULES- Trading sessions are counted from the exchange calendar (bt.days()), never calendar days; holidays are skipped. The calendar is published in advance, so knowing the month's last session is not lookahead. - The NIFTY monthly expiry (last Tuesday now) often falls inside the window; the roll above keeps the exposure (it shows as two trades). Locally the curve has no next month, so a roll on the store waits for the next session's open. - Defaults are the source's (2 before, 3 after); the source's narrow window is ENTRY_DAYS_BEFORE = 1, EXIT_DAY = 1, and its 200-day SMA filter is SMA_FILTER = 200. - A month whose last session or exit session lies outside the backtest range is skipped.
WATCH OUTthe tested evidence is US (SPY) or a significance test without costs; the edge per trade is small against futures roll cost and STT.
Also known asTOM effectmonth-end to month-startfirst day of month buy
Backtests run on historical NSE data with fills at the last traded price. "Before costs" excludes brokerage, taxes and slippage. Quantsapp is not recommending any strategy; it is just a backtesting utility. Past results are not a promise of future returns.

Log in or sign up

Enter your mobile number. New to Quantsapp? The same OTP creates your free account.

+91

By continuing you agree to the Terms of Use and Privacy Policy.