Data to 5 October 2026

Pre-registered research

An Indian model library: what we can learn from Allocate Smartly, and a proposal

Written 2026-10-03 for the model audit (docs/briefs/model_audit.md). This is a proposal for the owner’s decision, not a pre-registration. Each study in it still needs its own spec before anything is computed.

What Allocate Smartly does (read from its public pages, 2026-10-03)

Allocate Smartly (allocatesmartly.com) replicates published tactical asset-allocation strategies for US investors. Its strategy pages, screener and “current allocation” views sit behind a members’ login. Everything below comes from the public pages cited, and where the public pages are silent we say so. Nothing here is copied text or design.

What tipsheet already does that this site does not (on its public pages)

Allocate Smartly’s discipline is mostly in the plumbing: one asset set, one cost model, timing robustness by default. Ours is mostly in the inference. The proposal combines the two.

Proposal: the tipsheet model library (India)

  1. One engine, one footing.
    • Engine: every tactical model (trend rules, the trend ensemble, sector and index momentum, the lab’s rule-based portfolios) runs on lab/engine.py: lots, costs by date, tax by financial year, and trades at the next close after the signal.
    • Fixed instrument set: Nifty 50, Next 50, Midcap 150 and Smallcap 250 index funds; gold ETF; 5-year G-sec (until a long G-sec TRI arrives); liquid fund. Pre-launch history is the tracked index minus a real expense ratio, flagged on the chart.
  2. Every model carries three dates:
    • its source date (when the rule was published, for example Faber 2007);
    • its entry date (when it entered our library: its spec commit);
    • its data start.
    • Charts shade three periods differently: before the source date (in-sample for the author), between the two dates (out of sample for the author, but seen by us), and after the entry date (truly out of sample for us).
    • A table gives the return after each date beside the full-history return. This is the McLean and Pontiff (2016) test, model by model.
  3. “What each model holds today” board.
    • One row per model: today’s target, the date of the last change, and how close the signal is to switching.
    • A “changes likely at this month-end” flag on the last three sessions of the month.
    • An aggregate row: the average equity exposure across all models.
    • Descriptive only, beside each model’s verdict (a deflated Sharpe that passed or failed).
  4. Timing luck by default. Every monthly model is shown with its spread across 21 trading-day offsets (the trend barometer already measures this) and as a tranched version. The headline number is the tranched one.
  5. Blends.
    • Readers can combine library models with fixed weights; the blend is computed on the same engine, with tax.
    • No optimiser, and no parameter changes: the model list is the menu.
    • A blend starts only when all its models have data.
  6. A “didn’t survive” shelf. Retired or failed models stay listed with the reason and the evidence (for example sector momentum v1: no edge over equal weight, deflated Sharpe 0.41).
  7. Live tracking. From each entry date, the pipeline appends the model’s daily return to a frozen log that never recomputes. This gives a real out-of-sample record, separate from the backtest, which does get recomputed when data are repaired.

First models to load (all pre-registered or published in the literature)

Each needs its own spec, with the Indian substitutions written down before it is run.

What it needs from other lanes

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