Nifty Bank: three strategies, 2019–2024.

Holding Nifty Bank over these years returned 86%, a Sharpe ratio of 0.45. At their default settings none of the three rules beat that Sharpe. Tuned on the first 70% of the period and scored on the rest, none of the three held up.

Against holding it

Each rule at the workspace's default parameters, with 10 basis points of cost on every change of position, over 1,479 trading days.

Total returnSharpeWorst fall
Buy and hold86%0.45−48%
Momentum20%0.14−34%
MACD−3%−0.02−43%
Bollinger−42%−0.92−45%

On years it never saw

For each rule, every combination in its grid was run on the period up to 2023-03-10, the best was picked, and only that one was scored on what came after. How walk-forward works.

PickedSharpe, tunedSharpe, afterVerdict
Momentumlookback 40 · MA 200.60−0.74failed
MACD19 / 39 / 90.500.17overfit
Bollinger20 days · 2.5σ0.350.01overfit

Skill or luck

Three more readings of the same runs. A permutation p-value under 0.05 means the timing beat random timing; a probability of overfitting near 0.5 or above means picking by backtest did no better than picking at random; the rolling column slides the split through the period. What each one asks.

Permutation pProbability of overfittingAcross rolling windows
Momentum0.0140.47depends on the window
MACD0.0380.79depends on the window
Bollinger0.7110.31depends on the window

Hypothetical results on past data (2019-01-01 to 2024-12-31), from a script in the repository that re-runs every figure. Not a recommendation to buy, sell or trade Nifty Bank or any other security.

Run it yourself

Each opens in the workspace on Nifty Bank over the same dates, straight after sign-up if you are new. Change the ticker or the dates and the numbers change with them, which is the point.

Other India stocks: Reliance Industries · Tata Consultancy Services · HDFC Bank · Infosys · ICICI Bank · State Bank of India · ITC · Bharti Airtel · Larsen & Toubro · Hindustan Unilever · Bajaj Finance · Asian Paints · Maruti Suzuki · Wipro · Nifty 50 · BSE Sensex. All of them.