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.