Macro Radar API
FREE APIA frequently refreshed endpoint that provides overarching market regime indicators, such as the VIX, Yield Curve, Credit Spreads, and Fed Funds Rate.
Endpoint
https://diszy.com/bot/macroOverview
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 a5mchart covering seven calendar days, while the 30-day history uses a1dchart. Completed prior sessions use the finalized daily close. If Yahoo is unavailable, the API falls back to the Cboe VIX daily-close CSV, then FREDVIXCLS. 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/observationswith seriesT10Y2Y,BAMLC0A0CM,BAMLH0A0HYM2, andFEDFUNDS.
Response Properties
| Property | Type | Description |
|---|---|---|
vix | number | null | CBOE 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. |
yieldCurve | number | null | 10-Year Treasury Constant Maturity Minus 2-Year Treasury Constant Maturity (T10Y2Y). |
creditSpread | number | null | ICE BofA US Corporate Index Option-Adjusted Spread (BAMLC0A0CM). |
highYieldSpread | number | null | ICE BofA US High Yield Index Option-Adjusted Spread (BAMLH0A0HYM2). |
fedFunds | number | null | Effective Federal Funds Rate (FEDFUNDS). |
fedFundsTrend | string | "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. |
updatedAt | string | ISO 8601 timestamp showing when this API payload was last aggregated. |
updatedTimeUtc | string | Human-readable UTC time derived from updatedAt, e.g. 14:45:00 UTC. |
date | string | Legacy alias for updatedAt kept for backward compatibility. |
refreshCadenceMinutes | number | Cache window in minutes: 15 for a successful refresh, 1 when data is missing or a stale cached snapshot is reused. |
regimeScore | number | null | Null 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. |
regimeStatus | string | "Risk-On", "Neutral", or "Risk-Off" based on the regimeScore; "Unavailable" when a regime input is missing. |
regimeFormula | object | Details the formula and thresholds used to calculate the regimeScore and status. |
vixLabel / yieldCurveLabel / creditSpreadLabel | string | Semantic labels for the respective values, e.g. "CALM", "MODERATE", "NORMAL", "ELEVATED", "HIGH", "INVERTED", "TIGHT", "WIDE". |
sources | object | Upstream provider metadata, including the actual provider and operation for VIX and the FRED endpoint plus series IDs used for the other indicators. |
observationDates / vixAsOf | object / string | null | Observation 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. |
sourceStatus | object | VIX status: fresh, fallback, stale_fallback, or unavailable. FRED status: fresh, stale_fallback, or partial. staleFields lists reused cached indicators; unresolvedFields lists missing inputs. |
vixChartUrl | string | null | A complete URL to QuickChart rendering a 30-day history line chart for the VIX. Ready to be embedded. |
vixChanges | object | null | Absolute and percentage changes comparing the current rounded VIX to 1 trading day and 30 days ago. |
vixHistory | array | Array 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
ELEVATEDYield Curve (%)
Range: -2.5% – 4.5%
NORMALHigh Yield Spread (%)
Range: 2.0% – 25.0%
MODERATEFed Funds Trend
1-Month Change
Recommendation:
NeutralExample 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
}
]
}