Macro Radar API

FREE API

A frequently refreshed endpoint that provides overarching market regime indicators, such as the VIX, Yield Curve, Credit Spreads, and Fed Funds Rate.

Endpoint

GEThttps://diszy.com/bot/macro

Overview

The Macro API endpoint aggregates key macroeconomic indicators essential for evaluating the broader market regime. The response refreshes roughly every 15 minutes and returns explicit update timestamps so you can see when the payload was last rebuilt. The VIX uses Yahoo Finance, while the yield curve, credit spreads, and Fed Funds Rate use the Federal Reserve Economic Data (FRED) API.

Refresh & Sources

More frequent refreshes mainly benefit the VIX because it can move intraday. The FRED-backed fields only change when the underlying series publish a new observation, so polling them more often does not necessarily produce new values.

  • VIX: Yahoo Finance via its chart HTTP endpoint for ^VIX, using the existing HTTP client. The latest valid VIX quote uses a 5m chart covering seven calendar days, while the 30-day history uses a 1d chart. Completed prior sessions use the finalized daily close. If Yahoo is unavailable, the API falls back to the Cboe VIX daily-close CSV, then FRED VIXCLS. A cached successful VIX snapshot can be reused for up to 24 hours and is marked as stale.
  • FRED: https://api.stlouisfed.org/fred/series/observations with series T10Y2Y, BAMLC0A0CM, BAMLH0A0HYM2, and FEDFUNDS.

Response Properties

PropertyTypeDescription
vixnumber | nullCBOE Volatility Index (^VIX) rounded to 2 decimals. Yahoo Finance intraday data, with daily-close fallbacks from Cboe and FRED. Consult sources.vix and observationDates for the actual provider and observation date.
yieldCurvenumber | null10-Year Treasury Constant Maturity Minus 2-Year Treasury Constant Maturity (T10Y2Y).
creditSpreadnumber | nullICE BofA US Corporate Index Option-Adjusted Spread (BAMLC0A0CM).
highYieldSpreadnumber | nullICE BofA US High Yield Index Option-Adjusted Spread (BAMLH0A0HYM2).
fedFundsnumber | nullEffective Federal Funds Rate (FEDFUNDS).
fedFundsTrendstring"Rising", "Falling", or "Stable" based on the most recent monthly change, with a 0.1 percentage-point threshold. "Unknown" if two valid observations are unavailable.
updatedAtstringISO 8601 timestamp showing when this API payload was last aggregated.
updatedTimeUtcstringHuman-readable UTC time derived from updatedAt, e.g. 14:45:00 UTC.
datestringLegacy alias for updatedAt kept for backward compatibility.
refreshCadenceMinutesnumberCache window in minutes: 15 for a successful refresh, 1 when data is missing or a stale cached snapshot is reused.
regimeScorenumber | nullNull when a regime input is missing. Otherwise, sum of points based on current macro values. Positive scores indicate Risk-On, negative scores indicate Risk-Off.
regimeStatusstring"Risk-On", "Neutral", or "Risk-Off" based on the regimeScore; "Unavailable" when a regime input is missing.
regimeFormulaobjectDetails the formula and thresholds used to calculate the regimeScore and status.
vixLabel / yieldCurveLabel / creditSpreadLabelstringSemantic labels for the respective values, e.g. "CALM", "MODERATE", "NORMAL", "ELEVATED", "HIGH", "INVERTED", "TIGHT", "WIDE".
sourcesobjectUpstream provider metadata, including the actual provider and operation for VIX and the FRED endpoint plus series IDs used for the other indicators.
observationDates / vixAsOfobject / string | nullObservation dates for each indicator and the VIX quote timestamp. FEDFUNDS is monthly; a daily VIX close can precede the payload refresh on weekends and holidays.
sourceStatusobjectVIX status: fresh, fallback, stale_fallback, or unavailable. FRED status: fresh, stale_fallback, or partial. staleFields lists reused cached indicators; unresolvedFields lists missing inputs.
vixChartUrlstring | nullA complete URL to QuickChart rendering a 30-day history line chart for the VIX. Ready to be embedded.
vixChangesobject | nullAbsolute and percentage changes comparing the current rounded VIX to 1 trading day and 30 days ago.
vixHistoryarrayArray containing the available daily quotes from the last 30 calendar days (date and close) for the VIX index, with close values rounded to 2 decimals.

Market Regime Calculation

The Diszy Macro API doesn't just broadcast raw data; it analyzes it to output a synthesized Market Regime Status (Risk-On, Neutral, or Risk-Off). This enables you to feed unambiguous binary triggers into trading algorithms, confidently prompt LLMs with broader market states, or trigger automated hedging actions.

What do these Regimes mean?

  • Risk-On: Investors are optimistic and risk-tolerant. Volatility (VIX) is usually low, credit is cheap (low spreads), and yield curves are healthy. Capital flows into riskier assets like equities (especially tech/growth) and crypto. Recommendation: Build long positions or use leverage.
  • Risk-Off: Investors are fearful, often anticipating a recession or market shock. Volatility spikes, and corporate borrowing becomes expensive (high yields). Capital flees into "safe havens" like Treasuries, gold, or cash. Recommendation: Reduce risk, close positions, or build hedges.
  • Neutral: A transitional state or a phase lacking clear directional momentum.

The regimeScore is computed using the following formula:

  • VIX: < 16 (+1 point) | > 22 (-1 point)
  • Yield Curve (T10Y2Y): > 1.0% (+1 point) | < 0% (Inverted, -2 points)
  • High Yield Spread: < 3.0% (+1 point) | > 4.5% (-1 point)
  • Fed Funds Trend: Falling (+1 point) | Rising (-1 point) | Stable (0 points)

Final Status:

Risk-On (Score ≥ 1), Risk-Off (Score ≤ -1), else Neutral. Missing regime inputs produce Unavailable instead of an assumed neutral signal.

Interactive Calculator

Adjust the values below to see how the regime calculates live.

VIX

Range: 9.0 – 85.0

ELEVATED

Yield Curve (%)

Range: -2.5% – 4.5%

NORMAL

High Yield Spread (%)

Range: 2.0% – 25.0%

MODERATE

Fed Funds Trend

1-Month Change

Recommendation:

Neutral

Example Response

{
  "vix": 18.06,
  "yieldCurve": -0.45,
  "creditSpread": 0.76,
  "highYieldSpread": 2.90,
  "fedFunds": 5.33,
  "fedFundsTrend": "Stable",
  "updatedAt": "2026-05-20T14:45:00.000Z",
  "updatedTimeUtc": "14:45:00 UTC",
  "date": "2026-05-20T14:45:00.000Z",
  "refreshCadenceMinutes": 15,
  "regimeScore": -1,
  "regimeStatus": "Risk-Off",
  "regimeFormula": {
    "vix": "< 16 (+1), > 22 (-1)",
    "yieldCurve": "> 1.0% (+1), < 0% (-2)",
    "highYieldSpread": "< 3.0% (+1), > 4.5% (-1)",
    "fedFundsTrend": "Falling (+1), Rising (-1), Stable (0)",
    "status": "Score >= 1 (Risk-On), Score <= -1 (Risk-Off), else Neutral; unavailable if inputs are missing"
  },
  "vixLabel": "MODERATE",
  "yieldCurveLabel": "INVERTED",
  "creditSpreadLabel": "TIGHT",
  "sources": {
    "vix": {
      "provider": "Yahoo Finance",
      "endpoint": "https://query1.finance.yahoo.com/v8/finance/chart/%5EVIX",
      "latestOperation": "chart",
      "latestInterval": "5m",
      "historyOperation": "chart",
      "historyInterval": "1d",
      "symbol": "^VIX"
    },
    "fred": {
      "provider": "FRED",
      "endpoint": "https://api.stlouisfed.org/fred/series/observations",
      "series": {
        "yieldCurve": "T10Y2Y",
        "creditSpread": "BAMLC0A0CM",
        "highYieldSpread": "BAMLH0A0HYM2",
        "fedFunds": "FEDFUNDS"
      }
    }
  },
  "vixChartUrl": "https://quickchart.io/chart?c=...",
  "vixChanges": {
    "change1D": 0.24,
    "change1DPct": 1.35,
    "yesterdayClose": 17.82,
    "change1M": -0.81,
    "change1MPct": -4.29,
    "lastMonthClose": 18.87
  },
  "vixHistory": [
    {
      "date": "2026-04-20",
      "close": 18.87
    },
    {
      "date": "2026-04-21",
      "close": 19.50
    }
  ]
}