Signals
HMA — Hull Moving Average
Track trend with a lower-lag moving average built from WMAs.
What it is
Hull Moving Average is a low-lag moving average built from weighted moving averages. It aims to smooth trend structure while turning faster than SMA or EMA at similar lengths.
When to use it
- Following trend direction with less lag than classic moving averages.
- Spotting early slope changes after strong impulse moves.
- Using one cleaner trend line instead of stacking several shorter averages.
The maths
HMA(N) = WMA(2 × WMA(N/2) - WMA(N), sqrt(N)) This is a WMA applied to the difference of two WMAs.
What it tells you
HMA reduces lag dramatically compared to SMA or EMA. It is useful for identifying the current trend direction with minimal whipsawing and is commonly used with N = 20 or 55.
REST example
python
import os
import requests
response = requests.get(
'https://api.financedata.com/v1/signals/HMA/QQQ',
params={'start_date': '2025-01-01', 'end_date': '2025-04-30', 'period': 20},
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": ["QQQ"],
"signal_names": ["HMA"],
"start_date": "2025-01-01",
"end_date": "2025-04-30",
"signal_parameters": {
"HMA": { "period": 20 }
}
}
}HMA currently flows through run_signals on MCP clients, which makes it easy to compare against slower overlays in the same batch.
Agent prompt that triggers it
Compute a 20-day HMA for QQQ and summarize whether the latest slope still supports the current uptrend.