Can Anyone Predict NEPSE? What 15 Years of Data Say
Apps and social media are full of confident NEPSE "predictions": arrows, target prices, "AI forecasts". We wanted to know what is actually possible, so we tested it properly on 15 years of NEPSE prices. The short answer: nobody can reliably call whether a share will go up or down next week — and neither could we. But two other questions turned out to have real, measurable answers, and those are what NepseIQ's forecast now shows.
How we tested
A prediction is only worth something if it works on data it has never seen. So we used the strictest fair test we could:
- 251 ordinary shares listed on NEPSE, with daily prices from 2011 to 2026 — about 380,000 share-days in all.
- Prices adjusted for bonus and right issues, so a 20% bonus is not mistaken for a 17% crash.
- For each year from 2016 to 2026, the model learned only from the years before it and was then judged on that year. It never saw the future it was predicting.
- It was given everything a chart shows and more: recent returns over many lengths, volatility, volume and turnover, where the price sat in its 52-week range, RSI, MACD, moving averages, the market's own trend and volatility, the sector around the share, and the timing of bonus and right issues.
Finding 1: up or down — no better than a coin toss
Asked whether a share would be higher or lower five trading days later, the model was right about 55% of the time. That sounds promising until you compare it with the simplest possible rule: always say "down". Over these years most five-day periods ended lower, and that dumb rule scored about the same. Measured properly — by how close its probabilities came to what happened — the model was worse than just quoting how often shares rise. One day ahead, the improvement was too small to be useful.
We tried it per share too, the way many tools do it — one model per company, trained on its own two years of history. Those were no better: on average their up-or-down calls were right about half the time. A handful of shares will always look "accurate" by luck when you test hundreds.
If an app shows you an up or down arrow for NEPSE, ask one question: how was it tested, on data it had not seen? If there is no answer, treat the arrow as decoration.
Finding 2: how far a price moves — this works
While direction is close to random, the size of moves is not. Volatility clusters: rough periods tend to stay rough for a while, and calm periods calm. A model that looks at how much a share and the market are moving now can say quite reliably how wide the range of likely outcomes is.
We built a range meant to contain the move 8 times in 10, for 1, 3, 5, 10 and 20 trading days ahead. On years it had never seen:
- It held 80–82% of the time overall — as advertised.
- It held 78–81% even in the roughest fifth of periods. A simple range based on a share's own past year — what most sites show — held only 72–78% in those same rough periods, and was needlessly wide (86–89%) in calm ones.
- It was also 3–10% narrower over 1 to 10 days, because it widens only when conditions call for it.
- It failed, like everything else, in a sudden break: when NEPSE reopened after the 2020 lockdown, only 55–75% of moves stayed inside.
A range is less exciting than a target price, but it is honest and it is useful. It tells you what a normal move looks like for this share right now — which helps you size a position, set a stop that a normal wiggle will not trigger, and keep your expectations realistic.
Finding 3: which shares do better than average — a small, real edge
The third question was relative: will this share do better than the average share over the next week? Here the model found something real. Its chances were well calibrated — when it said 57%, about 55% of those shares did beat the average — and it beat the base rate in 10 of the 11 years we tested.
But the edge is small. The shares it rated highest beat the average by about 0.7% a week, winning about two weeks in three. A round trip on NEPSE — buying and selling — costs about 0.85% on a Rs 50,000 trade (see what a trade really costs). Trading on this signal every week would lose money after costs. It is information worth having — a tilt, one input among many — not a money machine.
Other things the data did show
- Upper-circuit days spill over, then fade. A share that hits the 10% upper limit tends to keep rising the next day — about 1% ahead of the market on average — and then gives that back by the end of the week.
- Big up days tend to cool off. Shares that rose 4–9% in a day went on to lag the market by about 0.7% over the next five sessions on average; only 39% beat it.
- The "drop" before a dividend is the dividend. In the five sessions before a cash-dividend book closure, shares lagged the market by about 3%, almost exactly the average cash dividend of about 3.2% of the price. The money moved from the share price into shareholders' bank accounts; nothing was lost.
What NepseIQ shows because of this
- Each stock's Forecast card shows how far the price is likely to move over 1, 3 and 5 days, 8 times in 10, and — for shares that trade most days — the chance it does better than the average share over the next week, with its track record beside it. It never shows a target price or an up/down call.
- The chart has a Projection option that draws the same 8-in-10 range a week or a month ahead, with three example paths from a thousand simulations — examples, not predictions.
- The full method and its limits are on the methodology page.
The honest limits
- The study uses companies listed today. Companies that merged away or were delisted are missing, which can make results look slightly better than they would have been in real time.
- NEPSE does not adjust prices for cash dividends, so price returns understate the total return around dividend dates.
- Markets change. The model is retrained every week and checks itself against the most recent year; if a part of it stops beating the simple alternative, that part is switched off rather than shown.
Direction is a coin toss; the size of moves is not. A tool that admits this — and shows you ranges rather than arrows — is more useful than one that pretends otherwise.
Open the analysis tool →