Skip to content

IROHA: causal attribution for Indian equities

IROHA answers one question for any large NSE price move: what caused it. It first estimates what the stock would have done given the market and its sector, then attributes the rest to macro releases, flows and company events, and keeps only causes that pass statistical evidence tests. The output is a dated, sourced explanation a research desk can check and reuse.

The three layers

  1. Expected move. What the causal model expected the stock to do on that day, from its own history and the state of the market.
  2. Market and sector. How much of the move matches what the index and the stock's sector did over the same window.
  3. Company-specific shock. What is left, matched to dated events: exchange filings, results, corporate actions and news.

Evidence tests: how a cause is accepted or rejected

A cause is shown only if it survives tests, not because it is plausible. IROHA uses a pooled test across the 500 most liquid NSE stocks each day, 1,423 different stocks and their filings since 2012, to check whether a type of event moves prices at all; a to check that news pushes the price the way it says; to check that the effect does not appear on days with no event; and, for the graph as a whole, a and a . Causes that fail are dropped, and the remainder is reported as unexplained.

Worked example: RAYMOND

From 21 Aug – 7 Oct 2026 RAYMOND rose +52.8%. The market contributed −0.5 points and textile peers −1.9; the remaining +53.1 points trace to , where and pass every causal test. The full RAYMOND study covers all 52 big moves since 2015.

RAYMOND · 52 big moves since 2015

call leaned right leaned wrong41/52

#52 · 21 Aug – 7 Oct 2026 · Company news

+52.8%move

Passed every causal test: , .

Where the move came from · pts

  • Model call leaned the right way+2.0
  • Market −0.5
  • Textiles peers −1.9
  • Company event +53.1

Call + market + sector + company = +52.8 pts. Data as of 27 October 2026.

From explanation to action

The same causal model runs forward. Set a market move, a sector move or an event, and IROHA returns a range for each holding. Research desks use these ranges for stress tests; portfolio managers use them to size positions after a shock.

Coverage and data sources

  • Universe: NSE-listed equities. The API covers the 14 Bank Nifty constituents and the index today; pilots run on your own universe.
  • Evidence: NSE exchange filings since 2012, news, macro releases and flows.
  • Delivery: web reports for pilot customers and an API.

Limits: what IROHA does not claim

  • It explains past moves. It is not a price forecast and gives no buy, sell or hold view.
  • Some moves have no cause that passes the tests. IROHA reports them as unexplained rather than inventing one.
  • Attribution percentages are model estimates with uncertainty, not accounting identities.

Explore the causal map

RAYMOND’s causal graph as a map: each territory is a variable IROHA uses, the small cells are the data behind it, and the arrows are causal links. Hover a territory for its evidence. The live report adds forward shocks on the same map.

World modelMarketIndustry peersMacroCompany newsPolicy newsResultsNSE filingsconfirmedcandidate
RAYMOND returnWorld-model expectationNIFTYSmall caps vs NIFTYTextiles peersAero & defence peersUSD/INRFPI flowsINDIA VIXBrentPositive company newsNegative company newsPolicy / tariff newsResults dayMaterial NSE filingsFilings (pooled effect)1451 NSE stocks a day → World-model expectation · the whole cross-section the model learns from: about 1451 NSE stocks a day, Sep 2021 – Oct 2026RAYMOND price history → World-model expectation · RAYMOND's own daily returns; the model forecasts the next 21 sessions from themNSE · NIFTY 50 → NIFTY · daily close of the NIFTY 50 index · 1269 sessions, Sep 2021 – Oct 2026NSE · NIFTY SMLCAP 100 → Small caps vs NIFTY · daily close of the small-cap index · 1269 sessions; the variable is its return minus NIFTY'sNSE · NIFTY 50 → Small caps vs NIFTY · subtracted from the small-cap return, so the variable is small caps' lead over the marketICIL → Textiles peers · 1269 sessions in the basket · moves with the basket 0.46 · with RAYMOND 0.04GOKEX → Textiles peers · 1269 sessions in the basket · moves with the basket 0.45 · with RAYMOND 0.06VTL → Textiles peers · 1269 sessions in the basket · moves with the basket 0.45 · with RAYMOND 0.04KPRMILL → Textiles peers · 1269 sessions in the basket · moves with the basket 0.44 · with RAYMOND -0.02+8 more → Textiles peers · WELSPUNLIV, KITEX, ARVIND, PDSL, TRIDENT, PAGEIND, PGIL, RAYMONDLSLBDL → Aero & defence peers · 1269 sessions in the basket · moves with the basket 0.63 · with RAYMOND 0.06HAL → Aero & defence peers · 1269 sessions in the basket · moves with the basket 0.61 · with RAYMOND 0.02GRSE → Aero & defence peers · 1269 sessions in the basket · moves with the basket 0.61 · with RAYMOND 0.07BEL → Aero & defence peers · 1269 sessions in the basket · moves with the basket 0.59 · with RAYMOND 0.02+8 more → Aero & defence peers · COCHINSHIP, BEML, ASTRAMICRO, ZENTEC, SOLARINDS, PARAS, DATAPATTNS, AZADNSDL · USD/INR reference rate → USD/INR · daily rupee reference rate published with NSDL's FPI data · 1269 sessions, Sep 2021 – Oct 2026NSDL · FPI equity net investment → FPI flows · foreign portfolio investors' net equity buying, Rs crore per day · 1269 sessions, Sep 2021 – Oct 2026NSE · INDIA VIX → INDIA VIX · daily close of NSE's volatility index · 1269 sessions, Sep 2021 – Oct 2026ICE Brent futures (BZ=F) → Brent · front-month Brent crude settlement · 1223 sessions, Sep 2021 – Oct 2026Economic Times → Positive company news · 21 headlines (28%) · mostly earnings, analystFree Press Journal → Positive company news · 10 headlines (14%) · mostly earnings, order winBusinessLine → Positive company news · 7 headlines (9%) · mostly earnings, corporate actionMoneycontrol → Positive company news · 6 headlines (8%) · mostly earnings, analyst+8 more → Positive company news · Business Standard, Financial Express, News18, Hindustan Times, Mint, businessworld.in, indiantelevision.com, newsx.comBusiness Standard → Negative company news · 6 headlines (18%) · mostly earningsEconomic Times → Negative company news · 6 headlines (18%) · mostly governance, legalMint → Negative company news · 4 headlines (12%) · mostly earnings, governanceFinancial Express → Negative company news · 2 headlines (6%) · mostly earnings, governance+8 more → Negative company news · Hindustan Times, NewKerala, Deccan Herald, DNA, Free Press Journal, mid-day.com, Moneycontrol, NDTVEconomic Times → Policy / tariff news · 3 headlines (30%) · mostly policy macro, governanceBusiness Standard → Policy / tariff news · 2 headlines (20%) · mostly policy macro, analystFree Press Journal → Policy / tariff news · 2 headlines (20%) · mostly policy macro, legalFinancial Express → Policy / tariff news · 1 headline (10%) · mostly governance+2 more → Policy / tariff news · Hindustan Times, The HinduNSE · financial results → Results day · 28 over Sep 2021 – Oct 2026NSE · board meeting for results → Results day · 20 over Sep 2021 – Oct 2026Management change → Material NSE filings · 33 NSE filings over Sep 2021 – Oct 2026M&A / restructuring → Material NSE filings · 32 NSE filings over Sep 2021 – Oct 2026Board outcomes → Material NSE filings · 26 NSE filings over Sep 2021 – Oct 2026Results → Material NSE filings · 21 NSE filings over Sep 2021 – Oct 2026+8 more → Material NSE filings · Resignations, Dividend, Fund raising, Default, Product launches, Regulatory, Litigation, Order winsM&A / restructuring → Filings (pooled effect) · 32 filings · each moves a stock +0.22% on average across all NSE stocks (confirmed)Board outcomes → Filings (pooled effect) · 26 filings · each moves a stock -0.10% on average across all NSE stocks (confirmed)Results → Filings (pooled effect) · 21 filings · each moves a stock -0.31% on average across all NSE stocks (confirmed)Resignations → Filings (pooled effect) · 9 filings · each moves a stock -0.19% on average across all NSE stocks (confirmed)+4 more → Filings (pooled effect) · Dividend, Product launches, Order wins, CapexRAYMOND returnWorld-model expectationNIFTYSmall caps vs NIFTYTextiles peersAero & defence peersUSD/INRFPI flowsINDIA VIXBrentPositive company newsNegative company newsPolicy / tariff newsResults dayMaterial NSE filingsFilings (pooled effect)
Large cells are the variables IROHA uses for RAYMOND; the small cells around each are the data behind it. Hover a territory for its evidence and links; arrows are causal links, solid when confirmed. 1,267 sessions, 2021-09-06 to 2026-10-14.

Questions

How is causal attribution different from correlation?

Correlation shows two series moved together. Causal attribution estimates how much of a move a specific driver produced after controlling for the market and sector, and tests whether that effect holds.

Which data does IROHA use?

Prices, NSE exchange filings, news, macro series and market-structure data such as flows.

Does IROHA predict prices?

No. IROHA explains past moves and builds scenario ranges. It does not issue price targets or buy and sell calls.

Related: IndiCause-Bench · Docs · How IROHA compares