EMpulse

FX Stress Signals: early warning from the street

A daily none / watch / alert flag per currency when the street market shows stress: the rate weakening day after day, a 7-day move in the top decile of its own year, or the buy–sell spread blowing out.

Payout and treasury teams that need to widen margins or pause corridors before the official rate moves; funds and risk desks watching convertibility; anyone who cannot watch 20 currencies by hand.

Included in Pro — $390/month. Pricing · API docs

Data and endpoints

FieldTypeMeaning
daydateUTC calendar day
curtextISO 4217 code
signaltextnone / watch / alert
reasontextwhich rules fired, human-readable; null when none
sincedatefirst day of the current uninterrupted non-none run; null when none
curl -H "X-API-Key: YOUR_KEY" https://api.empulse.ai/v1/fx-stress-signals/csv

Access: Pro and Enterprise keys only; Pro keys without delay. Same key and limits as the Street FX Index.

Series delivered to each key may contain insignificant individual differences (see the license terms).

Example response

Latest rows as of 2026-10-22 (public view, 72-hour delay).

{
  "product": "fx-stress-signals",
  "as_of": "2026-10-22",
  "data": [
    {
      "day": "2026-10-14",
      "cur": "ARS",
      "signal": "none",
      "reason": null,
      "since": null
    },
    {
      "day": "2026-10-22",
      "cur": "AZN",
      "signal": "none",
      "reason": null,
      "since": null
    },
    {
      "day": "2026-10-22",
      "cur": "BHD",
      "signal": "none",
      "reason": null,
      "since": null
    }
  ]
}

Sources and licences

Methodology

FX Stress Signals

Computed only from the EMpulse Street FX Index (valid mid values: non-null, not flagged as outlier).

  • Streak — number of consecutive calendar days, ending on the day, on which chg_1d_pct > 0 (the currency weakened against USDT). A gap in the data breaks the streak. watch from 5 days, alert from 7.
  • Momentum — chg_7d_pct of the day compared with the 90th percentile of the currency's own chg_7d_pct values over the trailing 365 days (the day itself excluded; at least 30 observations, otherwise the rule is off). Fires when the change is positive and at or above that percentile.
  • Spread — spread_pct of the day at or above its trailing-365-day 90th percentile and at least 2× the median spread of the trailing 30 days. Fires only when both hold.
  • signal: alert when the streak reaches 7, or when momentum fires together with a streak of 5+ or a spread blow-out; watch when any single rule fires; none otherwise. reason lists the rules that fired. since is the first day of the current uninterrupted run of non-none days.
  • Currencies need at least 60 days of history to be evaluated. The last 120 days are recalculated on every load.
  • This is a description of observed street behaviour, not a forecast and not investment advice.

General index methodology: /methodology. Not investment advice.