StockLearnGuides › Why most free NSE backtests are quietly wrong: the split & bonus adjustment nobody does
Data & method

Why most free NSE backtests are quietly wrong: the split & bonus adjustment nobody does

A 1:2 split makes ₹2,000 look like ₹1,000 overnight. Unadjusted history reads that as a 50% crash that never happened.

By ClusterMicro · Updated 2026-07-18 · 6 min read · Research & education

Here is a backtest failure that hides in plain sight. Suppose a stock trading at ₹2,000 does a 1-for-2 split. Overnight, its price becomes ₹1,000 — each share is now two shares worth half as much. Nothing was lost; your holding is worth exactly the same. But to a naive price history, that stock just fell 50% in a day. Run any return calculation or backtest across that date and it inherits a fake crash that never happened.

This is what split and bonus adjustment fixes, and it is the single most common reason free NSE backtests are quietly wrong. Most tools either skip it or apply it inconsistently — and the errors are invisible until you know to look for them.

Why raw prices lie

Corporate actions mechanically change a stock's quoted price without changing its value:

An adjusted price series rescales all the history before the event so the line is continuous — the split simply disappears from the chart and from every return computed across it. An unadjusted series leaves the cliff in. Any stock that has ever split or issued a bonus — and hundreds have — carries these landmines in its raw history.

Illustrative example

A stock closes at ₹2,000, then opens at ₹1,000 the next morning after a 1:2 split. Unadjusted, the return that day reads −50% and drags down every average, every drawdown, every backtest that spans it. Adjusted, the return reads ~0% — which is the truth. (Illustrative.)

How we handle it — including finding our own bug

StockLearn maintains an adjusted price series built from a corporate-actions table, and the adjustment step is wired directly into the nightly pipeline so it can never fall behind the data. That last part is not hypothetical: we once discovered that the adjustment build had not been wired into the daily run, so the adjusted column was going stale and raw prices were silently leaking into both the charts and the scanner — producing exactly the fake-crash returns described above on the corporate-action stocks. We found it, fixed the wiring, and cleared the hundreds of fabricated returns it had introduced.

Why we tell you that

Every data pipeline has bugs; the ones that matter are the silent ones. The difference is whether anyone measures their own output closely enough to catch them. Publishing that we found and fixed this — rather than pretending it never happened — is the honest version of "our data is clean." (Note: mutual fund NAVs from AMFI arrive already adjusted, so this is specifically a stock-price problem.)

Key takeaways

  • Splits and bonuses drop a stock's quoted price without any loss of value.
  • Unadjusted price history turns those events into fake crashes in every return and backtest.
  • Adjusted prices rescale the history so the event disappears — which is correct.
  • Many free tools skip or mis-apply this; the errors are invisible unless you check.
  • We wire adjustment into the nightly run, and we found and fixed our own lapse in it.

See these ideas on real stocks

StockLearn runs this read on ~2,000 NSE stocks every evening. Nifty 50 is free, no login.

Browse today's scan →

This article explains StockLearn's data methodology using illustrative examples. It is educational, not investment advice or a recommendation to buy or sell any security.