All screens

Classic Value Investors

Magic Formula

Magic Formula is a Classic Value Investors screen. It checks every NSE-listed stock against 2 conditions computed from nightly data, after excluding very small market caps. This page explains the rule, each figure and its source. It lists no stocks and is not advice.

What it does and why

Joel Greenblatt's Magic Formula is disarmingly simple: rank every stock by two metrics — earnings yield (cheapness) and return on capital (quality) — add the two ranks, and buy the top-ranked companies. The insight is that a good business (high ROCE) at a good price (high earnings yield) outperforms over time because the market underweights the combination. Neither metric alone is sufficient — a cheap stock with terrible returns on capital is a value trap; a great business at an expensive price may never recover its premium. The magic is in requiring both simultaneously.

The rule, step by step

A stock must satisfy every condition below. Conditions are grouped under the pillar they test.

Cheapness

  • Earnings Yield is available

Business Quality

  • ROCE is available

Hard excludes

  • Market cap below ₹500 crore
Passes the screen

Ranked by Magic Formula Combined Rank, lowest first, top 50, keeping the top 50.

The figures it uses

Earnings Yield

Used in a condition
Formula
EBIT ÷ enterprise value × 100, only when both are positive
Input fields
ebit, market_cap, total debt, cash
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)FinEdge · /api/v1/financials/{symbol}?statement_code=pl&period=annualFinEdge · /api/v1/financials/{symbol}?statement_code=bs&period=annualFinEdge · /api/v1/shareholdings/summary/{symbol}?period=quarterly
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

ROCE

Used in a condition
Formula
Latest annual EBIT ÷ (total assets − current liabilities) × 100, only when that capital employed is positive
Input fields
ebit, total assets, current liabilities
Source of record
FinEdge · /api/v1/financials/{symbol}?statement_code=pl&period=annualFinEdge · /api/v1/financials/{symbol}?statement_code=bs&period=annual
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

Magic Formula Combined Rank

Used for ranking
Formula
Rank of earnings yield (highest first) + rank of ROCE (highest first) among rows above the market-cap floor; lowest sum ranks first
Input fields
earnings_yield, roce
Source of record
Derived · computed in the nightly job from the columns named in the formula
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

Market Cap

Hard exclude input
Formula
Close × paid-up equity shares ÷ 10,000,000 (₹ crore)
Input fields
close, paidUpEquityShares
Source of record
Upstox · public historical candles, NSE_EQ|{ISIN} (no auth)FinEdge · /api/v1/daily-quotes/{symbol} (fallback)FinEdge · /api/v1/shareholdings/summary/{symbol}?period=quarterly
Corporate actions
Adjusted for corporate actions before use
Refresh
Recomputed nightly (06:30 IST job); rows older than 3 days are excluded from screens

What each figure means

Earnings Yield — EBIT / EV (%)

EBIT (Earnings Before Interest and Tax) divided by Enterprise Value (market cap + debt - cash), expressed as a percentage. Represents the return you would earn on the whole business if you bought it outright at today's price.

High is better

Return on Capital Employed (%)

EBIT divided by capital employed (net working capital + net fixed assets). Measures how much operating profit the business generates for every rupee of capital tied up in running it.

Higher ROCE means the business needs less capital to generate the same profit — it is fundamentally more efficient. Greenblatt uses a specific version of ROCE (EBIT / (net working capital + net PPE)) to capture the capital required for operations while excluding excess cash and interest-bearing assets.

High is better

Combined Magic Formula Rank

The sum of this stock's rank by earnings yield and its rank by ROCE, within the screened universe. Lower combined rank = better overall position on both metrics.

Low is better

Try the rule

Type hypothetical values to see which conditions they satisfy. These are not real stocks and nothing here is stored.

  • Earnings Yield is available—
  • ROCE is available—

Enter values to begin

A worked example

Loading the worked example…

Sign in with a completed risk profile to check any stock against this rule.

Evidence

What the harness measured

no_verified_figureNot yet tested

We have not measured this screen yet, so there is no record to explain.

Live monitoring

  • 5-day IC -0.027 · signal date 2026-10-14 · n 4447
  • 22-day IC -0.014 · signal date 2026-09-12 · n 3840

This is a historical, statistical measurement produced by FINOME TECHNOLOGIES PVT LTD's research harness on past data. It is not a prediction, and past results do not indicate future results. The universe is today's Nifty 500 constituents, so the sample is affected by survivorship bias. It describes how a screen's selections behaved in the past and does not constitute investment advice or a recommendation.

Run this screen

Run this screen

Rule version 1.0.0

Questions

How is this screen calculated?
Each stock is tested against 2 conditions using figures computed from exchange prices and company filings, adjusted for corporate actions. The rule is versioned; this page shows version 1.0.0.
How often does the screen update?
The figures are recomputed once each trading day after the nightly compute. A stock whose figures are more than three days old is left out rather than shown stale.
Is this investment advice?
No. This is educational material describing a screening method. It does not recommend any security and does not consider your circumstances.
Educational use only — GoQuant is a research tool. This page explains a screening method and is not a recommendation. Investment advice is provided by FINOME TECHNOLOGIES PVT LTD (AltQube), SEBI-registered Investment Adviser, registration no. INA000018373, under a signed advisory agreement and after a risk profile. Past performance is not indicative of future results.