06 — Emotional Drivers

Fear & Greed#

Heuristic1 min read
◆ The PatternThe two dominant market emotions.

The two primal market emotions — fear and greed — drive the pendulum of market psychology.

Greed cycle: opportunity → interest → excitement → euphoria → "I can't lose"
Fear cycle: concern → worry → anxiety → panic → "I must get out at any price"

Warren Buffett's famous rule: "Be fearful when others are greedy, and greedy when others are fearful."

The CNN Fear & Greed Index aggregates 7 market signals into a 0–100 scale measuring current dominant emotion.

Worked example

Three readings — the VIX, the put/call ratio and the share of stocks above their 200-day average — turned into z-scores and averaged, with the last one flipped. Week 2 scores −1.10 (extreme greed); weeks 5 and 6 score 1.31 and 1.74 (extreme fear). Everything else is neutral. That is all a fear-and-greed index is: a few market measures scaled and added up.

Where it misleads
  • The scale is relative to the window: “extreme” here means extreme for these ten weeks. In 2008 fear readings that looked extreme were followed by more extreme ones.
  • The ingredients are partly the price itself, so the index often just restates what the market already did.
  • Sentiment predicts returns best for hard-to-value stocks, and the effect is modest (Baker & Wurgler 2006). As a stand-alone timing signal it is weak.
In code
s = pd.DataFrame({                               # ten weekly readings, made up
    'vix':      [14, 13, 15, 22, 35, 41, 30, 24, 18, 16],
    'put_call': [0.80, 0.75, 0.85, 1.00, 1.25, 1.30, 1.10, 0.95, 0.85, 0.80],
    'above_200d': [72, 75, 68, 50, 28, 20, 33, 45, 60, 66]})   # % of stocks above their 200-day average
z = (s - s.mean()) / s.std()
fear = (z.vix + z.put_call - z.above_200d) / 3    # high = fear, low = greed
label = np.select([fear > 1, fear < -1], ['extreme fear', 'extreme greed'], 'neutral')
Python, in your browser — edit the code and run it again

Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up.

Sources
  • R. E. Whaley, “The Investor Fear Gauge”, Journal of Portfolio Management 26(3), 2000
  • M. Baker & J. Wurgler, “Investor Sentiment and the Cross-Section of Stock Returns”, Journal of Finance 61(4), 2006
  • M. Baker & J. Wurgler, “Investor Sentiment in the Stock Market”, Journal of Economic Perspectives 21(2), 2007
  • W. E. Buffett, letter to Berkshire Hathaway shareholders, 1986 — “fearful when others are greedy”

Last reviewed October 2026 · How this site checks its content · Report a mistake

Pattern bridge: The cycle between fear and greed drives volatility — the emotional driver behind variance. In ML, softmax temperature mimics this: cold = greedy certainty, hot = fearful uniformity.
Performance in practice
  • Sentiment measures carry some information about future returns — mostly for small, hard-to-value stocks, and modestly (Baker & Wurgler 2006, 2007)
  • The CNN Fear & Greed Index is recent, so long backtests of it are not possible. The VIX goes further back: readings above 30 coincided with the sell-offs of 2008, 2011 and 2020 — and in 2008–09 it stayed above 30 for months, before and after the bottom
  • “Extreme greed” is a weak sell signal on its own — euphoric markets can keep rising for a long time
When to use this
✓ Use when: Timing lump-sum additions to a portfolio. Gauging whether a sell-off is panic-driven or fundamentally justified. As a contrarian filter — consider buying when others are fearful.
✗ Skip when: Day trading — sentiment indices update too slowly. Ignoring in a disciplined DCA strategy where emotions shouldn't affect contributions. As a standalone timing signal — always combine with price/volume.
Linked from 3
← Previous
Hindsight Bias
Open in the full reader, with the topic sidebar