Dalal Street Blogs provides information for educational purposes only and does not constitute investment advice. Please consult a SEBI-registered investment adviser before making any investment decisions.
CAUTION: Dalal Street Blogs publishes market news and educational content only. We do not promote, recommend or endorse any stock, and nothing here is a solicitation to buy or sell securities. Please consult a SEBI-registered adviser before investing.

Indian Stock Market News, Analysis and Trading Guides

Technical Analysis

Ulcer Index: Measuring Drawdown Pain Instead of Volatility on NSE Charts

Ulcer index concept: a red roller coaster cresting the top of a steep drop against a cloudy sky

Photo: paulbr75 via Pixabay (2461737)

By Dalal Street Blogs Editorial8 min read

Two stocks can both finish a fortnight up 8% and still feel completely different to hold. One climbs in small steps and barely dips. The other swings 10% either way and makes you check the app every hour. The ulcer index is a simple way to put a number on that difference. It doesn’t care how much a price moves in general. It only measures how far the price sits below its recent high, and for how long.

That makes it a different animal from standard deviation, which treats a sharp rally and a sharp fall as the same kind of “risk”. If you’ve ever held a stock through a slow, grinding slide, you already know which of the two actually hurts.

In this article
  1. What the Ulcer Index Measures
  2. The Ulcer Index Formula in Three Steps
  3. A Worked Example: Three Stocks, One Fortnight
  4. How Traders and Investors Use the Ulcer Index
  5. Where the Ulcer Index Falls Short
  6. Using the Ulcer Index Alongside Other Tools
  7. A Simple Ulcer Index Routine
  8. The Ulcer Index in One Line

What the Ulcer Index Measures

The indicator was developed by Peter Martin and Byron McCann in 1987 and introduced in their 1989 book, The Investor’s Guide to Fidelity Funds, according to StockCharts ChartSchool. It was built for mutual funds, which is why it looks only at the downside. A long-only fund makes money when prices rise, so the only thing that really worries its holders is the drawdown.

Martin’s own description, as quoted by StockCharts, is that the index “measures the depth and duration of percentage drawdowns in price from earlier highs.” Both parts matter. A 15% fall that recovers in two days adds less to the reading than a 10% fall that stays put for two weeks, because every day spent under water keeps adding to the total.

The other detail is squaring. Each day’s drawdown is squared before it is averaged, so big drawdowns count for proportionately more than small ones. A day 10% below the high adds 100 to the sum. A day 2% below adds just 4.

The Ulcer Index Formula in Three Steps

Both StockCharts and Investopedia describe the same calculation, with 14 periods as the usual default:

  1. Percentage drawdown for each period = ((Close − highest close of the last 14 periods) ÷ highest close of the last 14 periods) × 100.
  2. Squared average = sum of the last 14 squared percentage drawdowns ÷ 14.
  3. Ulcer Index = square root of the squared average.

If a stock closes at a new 14-day high every single day, every drawdown is zero and so is the index. The further and longer the price sags below its high, the larger the number gets. Because the drawdowns are percentages, the result is roughly in percentage terms too, which makes it easy to compare a ₹200 stock with a ₹5,000 one.

The ulcer index doesn’t ask how much a stock moves. It asks how far below its last peak you’ve been sitting, and for how many days.

A Worked Example: Three Stocks, One Fortnight

Let’s make this concrete with three hypothetical NSE stocks. All of them start at ₹1,000. To keep the arithmetic clean, assume each had been trading below ₹1,000 for the previous two weeks, so on every day of our window the 14-day high is simply the highest close reached since Day 1. All prices below are made up for illustration.

  • Stock A, the steady climber: 1,000, 1,012, 1,025, 1,018, 1,030, 1,041, 1,036, 1,049, 1,058, 1,052, 1,066, 1,071, 1,063, 1,080.
  • Stock B, the choppy one: 1,000, 1,060, 1,110, 1,040, 980, 1,035, 1,095, 1,020, 960, 1,010, 1,075, 1,005, 970, 1,080.
  • Stock C, the slow slide: 1,000, 1,020, 1,045, 1,070, 1,100, 1,060, 1,010, 960, 920, 890, 875, 870, 880, 885.

A and B both end at ₹1,080, an 8% gain over the window. C ends at ₹885, down 11.5%.

Stock A

Stock A dips only four times, and each dip is small. On Day 4 it closes at 1,018 against a high of 1,025, a drawdown of −0.68%. The other dips work out to −0.48% (1,036 vs 1,041), −0.57% (1,052 vs 1,058) and −0.75% (1,063 vs 1,071). Every other day is a new high, so the drawdown is zero.

Square those four numbers and add them: about 0.46 + 0.23 + 0.32 + 0.56 = 1.58. Divide by 14 and you get roughly 0.11. The square root is about 0.34. That is close to the floor. Holding Stock A for this fortnight would have been close to stress-free.

Stock B

Stock B hits ₹1,110 on Day 3 and never closes above it again until the window ends. Here are its daily drawdowns from that high, in order from Day 4 to Day 14:

Day Close (₹) High so far (₹) Drawdown
4 1,040 1,110 −6.31%
5 980 1,110 −11.71%
6 1,035 1,110 −6.76%
7 1,095 1,110 −1.35%
8 1,020 1,110 −8.11%
9 960 1,110 −13.51%
10 1,010 1,110 −9.01%
11 1,075 1,110 −3.15%
12 1,005 1,110 −9.46%
13 970 1,110 −12.61%
14 1,080 1,110 −2.70%

Run the same three steps and the ulcer index comes out at about 7.65, more than twenty times Stock A’s reading. Same starting price, same ending price, same 8% return. The difference is that a holder of B spent eleven of fourteen sessions below the peak, several of them more than 10% below it.

Stock C

Stock C is the interesting one. It rallies to ₹1,100 by Day 5, then slides for most of the next nine sessions, bottoming at ₹870 on Day 12, which is 20.91% under the high. It never gets anywhere close to recovering. The ulcer index works out to about 13.39, the highest of the three.

Now compare that with a conventional volatility measure. If we take the standard deviation of C’s day-to-day percentage changes, we get roughly 2.97%, against about 6.59% for Stock B. On that yardstick C looks like the calmer stock. It isn’t. Its daily moves were moderate, but they mostly went one way, and the holder ended up deep under water. This is exactly the gap the ulcer index was designed to close.

A stock that falls a little every day can look calm on a volatility reading and still leave you 20% below where you bought it.

How Traders and Investors Use the Ulcer Index

Comparing two holdings

The most direct use is side-by-side comparison. A lower average reading means the stock or fund has historically given its holders shallower, shorter drawdowns. StockCharts shows this with two US sector funds: on its weekly charts, the 52-week moving average of a 9-week ulcer index stood at 4.71 for Fidelity’s technology fund and 3.24 for its health care fund, which it reads as the health care fund carrying less drawdown risk. The same logic works for two Nifty stocks you’re choosing between, or two mutual funds in the same category.

Martin, per StockCharts, found the index works well with weekly data. For a long-term investor that’s sensible, since daily noise matters less than the kind of drawdown that lasts months.

Spotting unusual stress

Investopedia notes that the index can be charted over time, and that spikes beyond a stock’s “normal” range can flag periods of excessive downside risk. A moving average of the index helps define what normal looks like for that particular stock. A PSU bank and an FMCG major will have very different baselines, so the comparison is always against the stock’s own history, not some universal level.

Filtering a watchlist

StockCharts gives a sample scan that looks for stocks in an uptrend (50-day EMA above the 200-day EMA) and then excludes anything with a 14-day ulcer index of 10 or more. The idea transfers easily to Indian screeners that support custom formulas. You keep the trending names and drop the ones that are trending but have been brutal to sit through.

Risk-adjusted return with the Martin ratio

Martin also proposed the Ulcer Performance Index, also called the Martin ratio. StockCharts defines it as total return minus the risk-free return, divided by the ulcer index. It works like the Sharpe ratio, except the denominator is downside pain rather than standard deviation.

A quick hypothetical: Fund X returns 15% with an ulcer index of 4, Fund Y returns 18% with an ulcer index of 8, and we assume a risk-free rate of 7% for both. Fund X’s Martin ratio is (15 − 7) ÷ 4 = 2.0. Fund Y’s is (18 − 7) ÷ 8 = 1.375. Y made more money, but X delivered more return for each unit of drawdown its investors had to sit through. All three numbers here are assumptions for the example, not real fund data.

Where the Ulcer Index Falls Short

StockCharts is blunt about this: the ulcer index “is not an indicator per se”. It’s a risk measure. It won’t give you a buy or sell signal, and a low reading doesn’t mean a stock is about to go up. Plenty of stocks grind sideways near their highs with tiny readings and then break down hard.

A few more practical limits:

  • It is backward-looking. It tells you how painful a stock has been, not how painful it will be. A result surprise or a block deal can change the picture overnight.
  • The lookback changes everything. A 14-day reading on daily data and a 9-week reading on weekly data answer different questions. Compare stocks only on the same settings.
  • Corporate actions can distort it. A split or bonus that isn’t adjusted in the price series will look like a giant drawdown. Make sure your charting platform uses adjusted prices.
  • It ignores upside. That’s the point, but it means a stock that doubles and gives back a little can show a higher reading than one that went nowhere. Pair it with return, as the Martin ratio does.

Using the Ulcer Index Alongside Other Tools

We find it most useful as a second opinion next to the measures traders already use. The Average True Range tells you how big a typical daily bar is, which helps with stop distances. The ulcer index tells you how much of that movement has been working against holders. If you trail stops with something like the Chandelier Exit, a stock with a high ulcer reading will tend to keep testing those stops, and that’s useful to know before you size the position.

For options traders, it also adds colour to the implied versus historical volatility debate. Historical volatility counts every move. The ulcer index separates out the moves that actually cost long holders money.

If you’re building a broader toolkit, our guide to technical analysis for Indian stocks covers the trend, momentum and volume tools that this fits around.

A Simple Ulcer Index Routine

  1. Add a 14-period ulcer index to the daily chart, or a 9-period one to the weekly chart if you hold for months.
  2. Note the stock’s typical range over the past year, and put a moving average on the index to see its normal level.
  3. When comparing two candidates with similar returns, lean towards the one with the lower average reading.
  4. Treat a spike well above the stock’s own norm as a reason to check what changed, not as an automatic sell.
  5. Size positions in high-reading stocks smaller, because the drawdowns you’ll sit through are likely to be deeper.

The Ulcer Index in One Line

Volatility tells you how much a stock moves. The ulcer index tells you how much it has hurt to own it. For anyone who has held a stock through a long slide, that’s the more honest number, and it takes three lines of arithmetic to work out.

Disclaimer: This article is for educational purposes only and is not investment advice. Stocks A, B and C, Funds X and Y, and all prices and returns in the worked examples are hypothetical. Please do your own research or consult a SEBI-registered investment adviser before making any investment decision.

Leave a Reply

Join the conversation

Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.

Sign up to comment Log in