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.
- One standard footing.
- Assets: every strategy runs on one fixed set of 37 liquid ETFs. Before an ETF existed, the index it tracks is used, minus the expense ratio of a similar ETF. Academic factor series are rejected as unrealistic proxies. (common assets, FAQ, unrealistic data)
- Costs and cash: 0.10% per trade. Trades at the close; monthly strategies trade on the last trading day of the month. Dividends are reinvested. Cash earns the 3-month T-bill rate. (FAQ)
- Execution lag: they measured the cost of trading a day after the signal: about 0.28% a year for month-end signals. (one-day lag)
- Comparison.
- Metrics: CAGR; current, maximum and longest drawdown (month-end basis); Sharpe; Sortino; the Ulcer performance index; turnover.
- Benchmark: a 60/40 portfolio. (FAQ)
- Robustness: every monthly strategy is rerun on each of 21 normalised trading days. Good results only at month-end are read as overfitting. (alternate trading days)
- Significance: we found no formal significance testing on the public pages.
- What each strategy holds today.
- Members see the expected allocation from the open, and get alerts when a change is likely that day.
- A trade (a change in target) is kept separate from a rebalance (drift correction).
- An aggregate of all strategies’ allocations is published daily. (FAQ, aggregate allocation)
- Blends.
- Timing luck.
- One strategy’s CAGR ranged from 9.6% to 16.2% depending on the day of the month it traded.
- The remedy is tranching (the same strategy on several days) and blending. (tranching)
- Decay after publication.
- Not handled systematically on the public pages: the strategy list carries no publication dates. (list)
- Individual articles comment on a strategy’s record after publication.
- Honesty.
- A “things that don’t work” category.
- No parameter tweaking by users (“a recipe for overfitting”).
- Proprietary strategies need three years of verified out-of-sample record. (FAQ, black boxes)
What tipsheet already does that this site does not (on its public pages)
- Pre-registration: written specs before results, and logs of every change.
- Deflated Sharpe ratios with trial counts.
- After-tax results under Indian rules by date.
- Nulls published as findings.
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)
- 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.
- Engine: every tactical model (trend rules, the trend ensemble, sector and index momentum, the lab’s rule-based portfolios) runs on
- 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.
- “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).
- 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.
- 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.
- 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).
- 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)
- Faber 10-month SMA; 200-day SMA; 12-month time-series momentum; the 1/3/6/12 blend; the 24-signal trend ensemble.
- Dual momentum: Nifty 50 against gold against cash (Antonacci 2014).
- A two-asset Indian adaptation of the permanent portfolio.
- 50:50 equity:gold with a 200-day trend filter on each sleeve.
- Valuation-glide rules from lab v2.
Each needs its own spec, with the Indian substitutions written down before it is run.
What it needs from other lanes
- Lane 1: NSE index launch dates (to mark back-filled history); a long-duration G-sec TRI.
- Lanes 3 and 4: a three-period shaded chart, and a holdings board component.