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

Year-end last sessions long

This calendar strategy tests a year-end effect: the idea that NIFTY tends to rise over the final few sessions of December, sometimes called a Santa rally. It buys one lot of NIFTY futures at the close four sessions before the last trading day of the year and sells at that last day's close. There is no stop or target, and it trades just once a year.
Once a year, buys NIFTY futures at the close four sessions before the year's last session and sells at the close on the last trading day of December.
Market viewCalendar or event timing
TradesNIFTY near-month futures, 1 lot, held 4 sessions
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsBeginner
Trades a month0.2
Typical hold6 days
Profitable months0 of 12
Longest losing run1 trades
Made money inToo few trades to judge (one year-end in the test)
Lost money inToo few trades to judge (one year-end in the test)
Default settings
Symbol
Sessions
Exit shift days
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 4 sessions before the year's last trading session
Legs
BUY FUT · Near month (next month if expiry is in the window) · Current month, rolled at expiry · 1 lot
Exits
time close of the year's last sessionroll December expiry: closed and carried in next month
Re-entry
Once a year
Entry
at the CLOSE (the last print) of the session SESSIONS sessions before the calendar year's last trading session, buy LOTS of the near-month NIFTY future - so the trade holds the last SESSIONS sessions.
Exit
at the close of the year's last trading session ("year-end close"), or, with EXIT_SHIFT_DAYS > 0, at the close of that many sessions into January. No stop, no target.
Roll
the December monthly expiry usually falls inside the window. If the entry session is the expiry day the next month 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 closes at the expiry close ("expiry") and the rest of the hold is carried in the next month the same way.
Re-entry
once a year.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 2 trades · before costs
Net P&L−₹6,355
Win rate50%
Max drawdown−₹17,002
Avg per trade−₹3,178
Profit factor0.63
Worst trade−₹17,002
3

Where it made and lost money

One year-end window, split into two positions by the December futures expiry, gives no real evidence about conditions. In this test the first part, held from 24 Dec 2025 into the expiry on 30 Dec while NIFTY fell more than 1%, lost ₹17,002. The second part, rolled into the next month for the final session as NIFTY rose more than 1%, made ₹10,647. The window as a whole lost money. A seasonal pattern can only be judged across many years, and this test covers just one.

Market while the trade was held
NIFTY rose over 1% while held+₹10,6471 trades100% won
NIFTY fell over 1% while held−₹17,0021 trades0% won
Session direction on the entry day
NIFTY closed above its open+₹10,6471 trades100% won
NIFTY closed below its open−₹17,0021 trades0% won
Trend going in
Uptrend (NIFTY above its 20-day average)−₹17,0021 trades0% won
Downtrend (NIFTY below its 20-day average)+₹10,6471 trades100% won
Expiry day (NIFTY weekly)
Expiry day+₹10,6471 trades100% won
Other days−₹17,0021 trades0% won
Day of the week
Tuesday+₹10,6471 trades100% won
Wednesday−₹17,0021 trades0% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Find the last trading session of the calendar year from the exchange calendar.
  2. At the close of the session four sessions before it, buy one lot of the near-month NIFTY future.
  3. If the entry day is the December futures expiry, buy the next month's contract instead.
  4. If the December expiry falls during the hold, close at the expiry close and carry the position in the next month's contract.
  5. Sell at the close of the year's last session, or, with “Exit shift days” above zero, that many sessions into January. There is no stop or target.

Why traders use it

Studies of Indian index history have found that the last few sessions of December were positive in most years. Explanations offered include holiday optimism, light trading and positioning for the new year. The rule is simple and uses only the calendar, which makes it easy to test. Its weakness is equally simple: with one trade a year, it takes decades to know whether the pattern is real.

Works best whenIn principle, Decembers in which NIFTY drifts higher into the year's final close; in this test the market fell into the December expiry and rose only on the last session, so the window lost overall.
Struggles whenYear-ends with a sell-off in the last week of December, as happened before the expiry in this test; with no stop, any fall during the four sessions is taken in full.

The year in plain words

The test period from 1 Oct 2025 to 30 Sep 2026 contains one year-end, December 2025. Because the December futures expiry fell inside the window, it was recorded as two positions: a ₹17,002 loss up to the expiry and a ₹10,647 gain in the next month's contract until the year's last close. Together that is a ₹6,355 loss before costs and ₹6,815 after ₹20 per order and bid-ask slippage. A single year cannot confirm or reject a seasonal pattern.

What the settings do

SessionsHow many sessions before the year's last close the trade is entered, from 3 to 7. More sessions hold longer and capture more of December.Exit shift daysExtra sessions into January to stay in the trade, from 0 to 3. Positive values overlap with the turn-of-the-month effect.

Risks

  • One trade a year makes the result almost entirely a matter of chance over short periods.
  • There is no stop loss, and the position is held overnight across holiday-thinned sessions.
  • The December futures expiry often falls in the window, adding a roll and its costs.
  • Past seasonal patterns can fade once they become widely known.

Who it suits

Traders interested in calendar effects who can hold one NIFTY futures lot for a few days with margin and who treat the strategy as a long-term experiment rather than a regular source of trades.

5

Questions traders ask

Is there a Santa rally in the Indian market?

Long-run studies have found that NIFTY rose over the final sessions of December in most years. Whether that continues is uncertain, and with one observation a year the evidence builds very slowly, so a few unusual years can swing the long-run average a lot.

Is the year-end long strategy profitable on NIFTY?

In this backtest from 1 Oct 2025 to 30 Sep 2026, covering one year-end, it lost ₹6,355 before costs and ₹6,815 after ₹20 per order and bid-ask slippage. One trade says little either way, and past results do not guarantee future ones.

Why are there two trades for one year-end?

The December monthly futures expiry fell inside the four-session window. The position was closed at the expiry and reopened in the next month's contract for the remaining session, so it appears as two separate trades.

Can the trade be held into January?

Yes. “Exit shift days” keeps the position open for up to three extra sessions in January, which also captures part of the turn-of-the-month period. That changes the test from a pure year-end effect into a mix of two calendar effects.

6

Before you rely on it

WATCH OUTone trade a year - a tiny sample (30 of 33 years positive is the whole evidence); the futures archive from Sep 2021 gives about five observations. Gross of costs.
WHERE THE RULES WERE UNCLEAR · OUR CHOICES- The article's title says the last 4 days and its code header 5; the spec's 4 is the default (the reference close is the close 4 sessions before the year's last close). EXIT_SHIFT_DAYS 2 is the variant that runs into the first sessions of January (it overlaps the turn-of-the-month effect). - Sessions are counted on the exchange calendar (bt.days()); the calendar is published in advance, so knowing the year's last session is not lookahead. A year whose window is not fully inside the backtest is skipped.
Also known assanta rally niftyyear-end closing seasonality
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.