⚠ MVP PreviewReport a Bug

Signals

Williams %R

Read momentum on a -100 to 0 overbought and oversold scale.

What it is

Williams %R is a momentum oscillator on a -100 to 0 scale. It is closely related to the Stochastic oscillator and is often used to spot overbought and oversold swings.

When to use it

  • Monitoring mean-reversion setups in range-bound markets.
  • Comparing oscillator extremes across several liquid ETFs or large-cap names.
  • Checking whether a rally has become stretched before chasing momentum higher.

The maths

%R = -100 × (highest_high(N) - close) / (highest_high(N) - lowest_low(N)) The range is -100 to 0.

What it tells you

Readings above -20 signal overbought conditions, while readings below -80 signal oversold conditions. It is similar to Stochastic but shown on an inverted scale, which makes it useful for spotting short-term reversal points.

REST example

python
import os
import requests

response = requests.get(
  'https://api.financedata.com/v1/signals/WILLR/SPY',
  params={'start_date': '2025-01-01', 'end_date': '2025-04-30', 'period': 14},
  headers={'X-API-Key': os.environ['FDA_KEY']},
  timeout=30,
)
response.raise_for_status()
print(response.json())

MCP example

Tool call body

{
"name": "run_signals",
"arguments": {
  "symbols": ["SPY"],
  "signal_names": ["WILLR"],
  "start_date": "2025-01-01",
  "end_date": "2025-04-30",
  "signal_parameters": {
    "WILLR": { "period": 14 }
  }
}
}

Williams %R uses run_signals on the MCP side today, which keeps it easy to batch with RSI or STOCH in the same request.

Agent prompt that triggers it

Compute Williams %R for SPY and tell me whether the latest reading looks overbought, oversold, or comfortably mid-range.