⚠ MVP PreviewReport a Bug

Signals

OBV — On-Balance Volume

Blend price direction and volume into an accumulation signal.

What it is

On-Balance Volume accumulates or subtracts volume based on whether price closes higher or lower, giving you a simple accumulation-versus-distribution signal.

When to use it

  • Checking whether volume confirms a price trend.
  • Spotting divergence when price rises but participation does not.
  • Adding a volume-aware confirmation signal to a trend system.

The maths

If close[t] > close[t-1]: OBV[t] = OBV[t-1] + vol[t]; if close[t] < close[t-1]: OBV[t] = OBV[t-1] - vol[t]; otherwise OBV[t] = OBV[t-1]

What it tells you

A rising OBV while price is flat or falling indicates accumulation. Divergences between OBV and price often precede breakouts.

REST example

python
import os
import requests

response = requests.get(
  'https://api.financedata.com/v1/signals/OBV/AAPL',
  params={'start_date': '2025-01-01', 'end_date': '2025-04-30'},
  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": ["AAPL"],
  "signal_names": ["On-Balance Volume"],
  "start_date": "2025-01-01",
  "end_date": "2025-04-30"
}
}

The current MCP server does not publish a dedicated get_obv tool, so userun_signals when you need On-Balance Volume from MCP clients.

Agent prompt that triggers it

Run On-Balance Volume for AAPL and tell me whether the latest readings support accumulation or distribution.