Monte Carlo · Methodology

History Governance and Instrument Scope

Two questions decide whether a simulation can say anything about crisis behaviour: how much history the calibration window contains, and what kind of instrument produced it. The engine answers both explicitly on every run, because both were previously implicit and both were wrong in the same direction.

Window length is not window content

Length already gates which generators may be fitted. A GJR-GARCH fit needs roughly five trading years, a regime fit needs one, the block bootstrap needs four rows structurally. Those are estimator requirements.

Length does not gate what may be claimed, and those are different questions. Ten years spanning a calm decade contains one severe drawdown. Ten years spanning 2005 to 2015 contains three. Both clear the same length gate, and only one of them can support a statement about how the portfolio behaves in a crisis.

What every run reports

  • The length of its own calibration window, as a closed date pair.
  • The portfolio's distinct drawdown episodes past 20% on its own history, each with depth, length and whether it recovered.
  • Whether the window clears the two-episode floor, below which any statement about crisis behaviour rests on a single event.

This is a disclosure and never an admission gate. Refusing to simulate a portfolio because its history happened to be calm would be refusing the wrong thing: the portfolio is fine, the claim is what needs qualifying. The PDF renders the episode table directly beside the tail-risk numbers it qualifies, rather than in an appendix.

The drawdown episode detector

An episode is defined on the running peak of the cumulative return series. With the wealth index and the running maximum, the drawdown is

An episode opens the first session and closes when regains the peak that started it. Two drawdowns separated by a full recovery are two episodes; one long drawdown that dips, partially recovers without reaching the peak, and dips again is one. That distinction is what makes the count meaningful: it counts distinct stress events rather than threshold crossings.

The broad-market context tier

For a portfolio with less than three years of direct history, the engine adds a verified broad-market context tier from the committed BSE SENSEX snapshot: 7,160 returns from 1997-07-02 through 2026-07-28, benchmark-return SHA-256 7b610da0399fc7f69a900c082a8e2e3ca62f012ea41a0beac069911cbcce35c6, containing eight distinct severe drawdown episodes under the same detector.

What the context tier explicitly does not do

  • It does not backfill the holdings.
  • It does not enter generator calibration or the primary simulation.
  • It does not provide an event probability.
  • It does not support a portfolio-specific tail probability.

It is scenario context only, and the broad-index basis risk is stated rather than assumed away: a market index is not a proxy for a concentrated portfolio's crisis behaviour. The policy also records that a sector tier would require a separate versioned sector total return index master, rather than silently treating a market index as a sector history. Missing or damaged proxy evidence degrades the disclosure and never fails the simulation.

Instrument classification

The Monte Carlo engine models Indian direct equity: common-share tax treatment, common-share distribution assumptions, and no pass-through structure. Before the instrument master existed, an ETF or a REIT entered as a ticker was simulated under those assumptions and nothing in the output said so.

A versioned instrument master now separates ordinary listed shares from ETFs, REITs and InvITs. Monte Carlo admission refuses the latter with a message naming the specific modelling assumption each one breaks, rather than a generic rejection.

Positive identification only

A ticker the master does not recognise is admitted as presumed common equity. The asymmetry is deliberate: a table that refuses a real common share because it has not been catalogued yet is worse than one that admits an unidentified instrument, because the first failure blocks correct work while the second is disclosed and recoverable.

The run's asset scope records the master version it was checked against, replacing the previous instrument_subtype_verification: not_performed. History rows report identified and unidentified counts separately, so a universe that was checked and matched nothing is not mistaken for one that was never checked.

Related pages

Crisis and stress scenarios covers the episode registry behind the named scenario arms. Engine methodology lists the per-generator history requirements, and rolling-origin validation explains why no length of history turns a conditional simulation into a forecast.

References

  • Magdon-Ismail, M., & Atiya, A. F. (2004). Maximum Drawdown. Risk, 17(10), 99–102.
  • Brown, S. J., Goetzmann, W. N., & Ross, S. A. (1995). Survival. Journal of Finance, 50(3), 853–873. On what a short or selectively surviving history does to inference.
  • Board of Governors of the Federal Reserve System (2011). Supervisory Guidance on Model Risk Management, SR 11-7. The source of the requirement that data limitations be disclosed alongside model output rather than separately.

Not investment advice. Past performance is not indicative of future results.