⚠ MVP PreviewReport a Bug

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.