Data to 14 October 2026
About

Pre-registered research

Trend, momentum and risk models, second review: pre-registered specification

Written 2026-10-13, before any result below was computed; the commit that adds this file is the freeze. Changes after results are logged at the bottom with the date and the reason. Brief: docs/briefs/trend_tab_and_models.md, stage 2. Builds on trend_momentum_spec.md (five single rules, none beat buy-and-hold after deflation), trend_barometer_spec.md (the 24-vote ensemble, TR-H1 to TR-H5), momentum_barometer_spec.md (MO-H5 sector rotation, failed) and market_mood_spec.md (HAR baseline for Nifty 500 volatility).

What the literature supports, and what it does not

Every reference below was fetched and its title, authors, year and the cited claim checked on 2026-10-13 (abstract or publisher record; where only the abstract was seen, the claim cited is the abstract’s).

Volatility is forecastable; this is the most robust result in the list.

Trend and momentum: real in large diversified futures portfolios, much weaker market by market, and partly a volatility-scaling effect.

Volatility management of equity factors: in-sample alpha, out-of-sample doubts.

Persistence, regimes and testing.

Indian evidence. I found no peer-reviewed test of time-series momentum on NSE indices. Cross-sectional stock momentum is documented in India (Sehgal and Jain on BSE 500 stocks, 2011 and 2015; Chui, Ranganathan, Rohit and Veeraraghavan, “Momentum, Reversals and Liquidity: Indian Evidence”, Pacific-Basin Finance Journal, 2023, intermediate and long-term momentum on the BSE 2000–2021). Those are stock-level, long-short results and do not carry over to timing an index. Our own earlier tests on NSE indices are the main Indian evidence, and they are negative.

Rejected without a test, and why.

Data and periods (all hypotheses)

Risk

RK-H1: a volatility forecast beats trailing volatility

RK-H2: a calibrated range for the next month

Trend and momentum

TM-H1: volatility scaling improves the trend rules (and is it the scaling or the trend?)

TM-H2: nearness to the 52-week high ranks indices

TM-H3: blending slow and fast trend (turning points)

TM-H4: do index returns persist? (variance ratios)

TM-H5: a Markov-switching regime beats the 30/70 band

What a passing model gets

A methods note, tests, a place on the trend tab or the evidence page, its limits in one honest line, and the live log from the freeze. A model that fails does not become a signal; a clean negative result goes on /trend/evidence/.

Not tested, stated in advance

No other signals, horizons, weightings or universes as hypotheses. Asymmetric GARCH (leverage) is reported as a sensitivity of RK-H1 only. Anything tried after the first results is exploratory and labelled so.

Addendum, 2026-10-13: TM-H7, what followed simple price events

Added at the owner’s request after the TM-H1 to TM-H6 results above were seen (in particular TM-H6, which asks a related question of the regime). Written and committed before any TM-H7 number was computed.

Events, on each market’s daily level (total return for NSE indices and the G-sec index, price otherwise):

Outcomes from the event’s close: the return over the next 21, 63, 126 and 252 sessions (excess over cash for the test; total or price return on the page), the share positive, and the worst fall in the next 252 sessions (lowest close relative to the event’s close). Base rate: the same outcomes from every session.

Per market (description, on the trend tab): each event type’s count, median outcomes and share positive beside the base rate, the list of events with their outcomes, a small-sample warning below 10 events, and back-calculated history kept apart.

The pooled test. Investable markets, post-launch events and post-launch base days only. For each event type, the mean 252-session excess return after the event minus the mean from every base day (return), and the mean worst fall in the next 252 sessions after the event minus the base mean (risk). Inference by bootstrap over calendar months (each resampled month brings its events and its base days), 2,000 resamples, seed 20261013.

Results log

Implementation notes, 2026-10-13, written before any result was seen

Code: pipeline/tipsheet/compute/trend_v2.py (numpy only); tests pipeline/tests/test_trend_v2.py. Run with uv run python -m tipsheet.compute.trend_v2 <rk1|tm4|tm6|…>; output .cache/derived/trend_v2_<test>.json.

Results, 2026-10-13 (data to 9 October 2026)

Raw output: .cache/derived/trend_v2_<test>.json, frozen in docs/research/results/trend_models_v2.json.

Summary. None of the eight hypotheses passed (RK-H2 was not run). Volatility forecasts came closest: better than trailing volatility on almost every market, but not stably enough in both halves of the history. Trend and momentum timing rules on Indian indices, volatility-scaled or not, and the regime they describe, have not beaten buying and holding or the simple band by more than luck. The results are on /trend/evidence/#review.

This is docs/research/trend_models_v2_spec.md. The specification was committed before any result was computed; changes after that are logged in it with dates and reasons.