{
  "app_name": "traderx-fed-rate-forcast",
  "balance_sheet_scan": {
    "fetched_at": "2026-05-13 13:31 UTC",
    "recommendations": {
      "cut": {
        "fragile": [
          {
            "balance_score": 17,
            "company_name": "SIMON PROPERTY GROUP,\u00a0INC.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 71%, cash/debt 0.0x, current ratio N/A.",
              "score_text": "98 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 98,
            "filed_at": "2026-05-11",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 71%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
              "score_text": "7 / 100"
            },
            "hike_group": "stress",
            "hike_score": 7,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 71%; cash/debt 0.0x; current ratio N/A",
            "reason": "Higher rates could pressure this name: debt/assets 71%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
            "score_text": "7 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001063761.json",
            "stress_score": 83,
            "symbol": "SPG"
          },
          {
            "balance_score": 32,
            "company_name": "AMERICAN ELECTRIC POWER CO INC.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-05-05",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
              "score_text": "22 / 100"
            },
            "hike_group": "stress",
            "hike_score": 22,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 42%; cash/debt 0.0x; current ratio 0.5x",
            "reason": "Higher rates could pressure this name: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
            "score_text": "22 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000004904.json",
            "stress_score": 68,
            "symbol": "AEP"
          },
          {
            "balance_score": 32,
            "company_name": "Carnival Corp Ltd.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-03-27",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x; it is not listed as a direct rate play.",
              "score_text": "32 / 100"
            },
            "hike_group": "stress",
            "hike_score": 32,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 49%; cash/debt 0.1x; current ratio 0.3x",
            "reason": "Higher rates could pressure this name: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x; it is not listed as a direct rate play.",
            "score_text": "32 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000815097.json",
            "stress_score": 68,
            "symbol": "CCL"
          },
          {
            "balance_score": 32,
            "company_name": "DUKE ENERGY CORPORATION",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-05-05",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x; it is listed as usually pressured.",
              "score_text": "22 / 100"
            },
            "hike_group": "stress",
            "hike_score": 22,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 44%; cash/debt 0.0x; current ratio 0.7x",
            "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x; it is listed as usually pressured.",
            "score_text": "22 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001326160.json",
            "stress_score": 68,
            "symbol": "DUK"
          },
          {
            "balance_score": 32,
            "company_name": "NEXTERA ENERGY, INC.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-04-23",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
              "score_text": "22 / 100"
            },
            "hike_group": "stress",
            "hike_score": 22,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 44%; cash/debt 0.0x; current ratio 0.5x",
            "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
            "score_text": "22 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000753308.json",
            "stress_score": 68,
            "symbol": "NEE"
          }
        ],
        "relief": [
          {
            "balance_score": 50,
            "company_name": "AMERICAN TOWER CORPORATION",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 50/100 and the stock is listed as usually helped.",
              "score_text": "65 / 100"
            },
            "cut_group": "relief",
            "cut_score": 65,
            "filed_at": "2026-04-28",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 10%, cash/debt 0.3x, current ratio 0.3x; it is listed as usually pressured.",
              "score_text": "40 / 100"
            },
            "hike_group": "stress",
            "hike_score": 40,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 10%; cash/debt 0.3x; current ratio 0.3x",
            "reason": "Higher rates could pressure this name: debt/assets 10%, cash/debt 0.3x, current ratio 0.3x; it is listed as usually pressured.",
            "score_text": "40 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001053507.json",
            "stress_score": 50,
            "symbol": "AMT"
          },
          {
            "balance_score": 51,
            "company_name": "Prologis, Inc.",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 49/100 and the stock is listed as usually helped.",
              "score_text": "64 / 100"
            },
            "cut_group": "relief",
            "cut_score": 64,
            "filed_at": "2026-04-30",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 35%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
              "score_text": "41 / 100"
            },
            "hike_group": "stress",
            "hike_score": 41,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 35%; cash/debt 0.0x; current ratio N/A",
            "reason": "Higher rates could pressure this name: debt/assets 35%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
            "score_text": "41 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001045609.json",
            "stress_score": 49,
            "symbol": "PLD"
          },
          {
            "balance_score": 60,
            "company_name": "LOWES COMPANIES INC",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 40/100 and the stock is listed as usually helped.",
              "score_text": "55 / 100"
            },
            "cut_group": "relief",
            "cut_score": 55,
            "filed_at": "2026-03-23",
            "fiscal_period": "FY",
            "fiscal_year": 2025,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 1%, cash/debt 2.5x, current ratio 1.1x; it is listed as usually pressured.",
              "score_text": "50 / 100"
            },
            "hike_group": "stress",
            "hike_score": 50,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 1%; cash/debt 2.5x; current ratio 1.1x",
            "reason": "Higher rates could pressure this name: debt/assets 1%, cash/debt 2.5x, current ratio 1.1x; it is listed as usually pressured.",
            "score_text": "50 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000060667.json",
            "stress_score": 40,
            "symbol": "LOW"
          },
          {
            "balance_score": 62,
            "company_name": "D.R. Horton, Inc.",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 38/100 and the stock is listed as usually helped.",
              "score_text": "53 / 100"
            },
            "cut_group": "relief",
            "cut_score": 53,
            "filed_at": "2026-04-23",
            "fiscal_period": "Q2",
            "fiscal_year": 2026,
            "hike": {
              "label": "Mixed balance-sheet read",
              "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
              "score_text": "52 / 100"
            },
            "hike_group": "mixed",
            "hike_score": 52,
            "label": "Mixed balance-sheet read",
            "metrics_text": "debt/assets N/A; cash/debt N/A; current ratio N/A",
            "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
            "score_text": "52 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000882184.json",
            "stress_score": 38,
            "symbol": "DHI"
          },
          {
            "balance_score": 62,
            "company_name": "Toll Brothers, Inc.",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 38/100 and the stock is listed as usually helped.",
              "score_text": "53 / 100"
            },
            "cut_group": "relief",
            "cut_score": 53,
            "filed_at": "2026-02-27",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Mixed balance-sheet read",
              "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
              "score_text": "52 / 100"
            },
            "hike_group": "mixed",
            "hike_score": 52,
            "label": "Mixed balance-sheet read",
            "metrics_text": "debt/assets N/A; cash/debt N/A; current ratio N/A",
            "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
            "score_text": "52 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000794170.json",
            "stress_score": 38,
            "symbol": "TOL"
          }
        ]
      },
      "hike": {
        "stress": [
          {
            "balance_score": 17,
            "company_name": "SIMON PROPERTY GROUP,\u00a0INC.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 71%, cash/debt 0.0x, current ratio N/A.",
              "score_text": "98 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 98,
            "filed_at": "2026-05-11",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 71%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
              "score_text": "7 / 100"
            },
            "hike_group": "stress",
            "hike_score": 7,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 71%; cash/debt 0.0x; current ratio N/A",
            "reason": "Higher rates could pressure this name: debt/assets 71%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
            "score_text": "7 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001063761.json",
            "stress_score": 83,
            "symbol": "SPG"
          },
          {
            "balance_score": 32,
            "company_name": "AMERICAN ELECTRIC POWER CO INC.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-05-05",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
              "score_text": "22 / 100"
            },
            "hike_group": "stress",
            "hike_score": 22,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 42%; cash/debt 0.0x; current ratio 0.5x",
            "reason": "Higher rates could pressure this name: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
            "score_text": "22 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000004904.json",
            "stress_score": 68,
            "symbol": "AEP"
          },
          {
            "balance_score": 32,
            "company_name": "Carnival Corp Ltd.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-03-27",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x; it is not listed as a direct rate play.",
              "score_text": "32 / 100"
            },
            "hike_group": "stress",
            "hike_score": 32,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 49%; cash/debt 0.1x; current ratio 0.3x",
            "reason": "Higher rates could pressure this name: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x; it is not listed as a direct rate play.",
            "score_text": "32 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000815097.json",
            "stress_score": 68,
            "symbol": "CCL"
          },
          {
            "balance_score": 32,
            "company_name": "DUKE ENERGY CORPORATION",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-05-05",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x; it is listed as usually pressured.",
              "score_text": "22 / 100"
            },
            "hike_group": "stress",
            "hike_score": 22,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 44%; cash/debt 0.0x; current ratio 0.7x",
            "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x; it is listed as usually pressured.",
            "score_text": "22 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001326160.json",
            "stress_score": 68,
            "symbol": "DUK"
          },
          {
            "balance_score": 32,
            "company_name": "NEXTERA ENERGY, INC.",
            "cut": {
              "label": "Still fragile even after a cut",
              "reason": "Lower rates may not be enough by themselves: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x.",
              "score_text": "83 / 100"
            },
            "cut_group": "fragile",
            "cut_score": 83,
            "filed_at": "2026-04-23",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
              "score_text": "22 / 100"
            },
            "hike_group": "stress",
            "hike_score": 22,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 44%; cash/debt 0.0x; current ratio 0.5x",
            "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
            "score_text": "22 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000753308.json",
            "stress_score": 68,
            "symbol": "NEE"
          },
          {
            "balance_score": 50,
            "company_name": "AMERICAN TOWER CORPORATION",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 50/100 and the stock is listed as usually helped.",
              "score_text": "65 / 100"
            },
            "cut_group": "relief",
            "cut_score": 65,
            "filed_at": "2026-04-28",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 10%, cash/debt 0.3x, current ratio 0.3x; it is listed as usually pressured.",
              "score_text": "40 / 100"
            },
            "hike_group": "stress",
            "hike_score": 40,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 10%; cash/debt 0.3x; current ratio 0.3x",
            "reason": "Higher rates could pressure this name: debt/assets 10%, cash/debt 0.3x, current ratio 0.3x; it is listed as usually pressured.",
            "score_text": "40 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001053507.json",
            "stress_score": 50,
            "symbol": "AMT"
          },
          {
            "balance_score": 51,
            "company_name": "Prologis, Inc.",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 49/100 and the stock is listed as usually helped.",
              "score_text": "64 / 100"
            },
            "cut_group": "relief",
            "cut_score": 64,
            "filed_at": "2026-04-30",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 35%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
              "score_text": "41 / 100"
            },
            "hike_group": "stress",
            "hike_score": 41,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 35%; cash/debt 0.0x; current ratio N/A",
            "reason": "Higher rates could pressure this name: debt/assets 35%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
            "score_text": "41 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001045609.json",
            "stress_score": 49,
            "symbol": "PLD"
          },
          {
            "balance_score": 60,
            "company_name": "LOWES COMPANIES INC",
            "cut": {
              "label": "Could get rate-cut relief",
              "reason": "Lower rates could give financing relief because stress is 40/100 and the stock is listed as usually helped.",
              "score_text": "55 / 100"
            },
            "cut_group": "relief",
            "cut_score": 55,
            "filed_at": "2026-03-23",
            "fiscal_period": "FY",
            "fiscal_year": 2025,
            "hike": {
              "label": "Higher-rate stress watch",
              "reason": "Higher rates could pressure this name: debt/assets 1%, cash/debt 2.5x, current ratio 1.1x; it is listed as usually pressured.",
              "score_text": "50 / 100"
            },
            "hike_group": "stress",
            "hike_score": 50,
            "label": "Higher-rate stress watch",
            "metrics_text": "debt/assets 1%; cash/debt 2.5x; current ratio 1.1x",
            "reason": "Higher rates could pressure this name: debt/assets 1%, cash/debt 2.5x, current ratio 1.1x; it is listed as usually pressured.",
            "score_text": "50 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000060667.json",
            "stress_score": 40,
            "symbol": "LOW"
          }
        ],
        "weather": [
          {
            "balance_score": 100,
            "company_name": "AMAZON.COM, INC.",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 1%, cash/debt 7.9x, equity/assets 48%; it is listed as usually helped.",
              "score_text": "15 / 100"
            },
            "cut_group": "weather",
            "cut_score": 15,
            "filed_at": "2026-04-30",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 7.9x, equity/assets 48%; it is not listed as a direct rate play.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 1%; cash/debt 7.9x; current ratio 1.2x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 7.9x, equity/assets 48%; it is not listed as a direct rate play.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001018724.json",
            "stress_score": 0,
            "symbol": "AMZN"
          },
          {
            "balance_score": 94,
            "company_name": "ConocoPhillips",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 19%, cash/debt 0.3x, equity/assets 53%; it is listed as usually pressured.",
              "score_text": "1 / 100"
            },
            "cut_group": "weather",
            "cut_score": 1,
            "filed_at": "2026-04-30",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 19%, cash/debt 0.3x, equity/assets 53%; it is listed as usually helped.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 19%; cash/debt 0.3x; current ratio 1.3x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 19%, cash/debt 0.3x, equity/assets 53%; it is listed as usually helped.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001163165.json",
            "stress_score": 6,
            "symbol": "COP"
          },
          {
            "balance_score": 100,
            "company_name": "COSTCO WHOLESALE CORP /NEW",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 7%, cash/debt 3.0x, equity/assets 38%; it is listed as usually pressured.",
              "score_text": "0 / 100"
            },
            "cut_group": "weather",
            "cut_score": 0,
            "filed_at": "2026-03-11",
            "fiscal_period": "Q2",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 7%, cash/debt 3.0x, equity/assets 38%; it is not listed as a direct rate play.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 7%; cash/debt 3.0x; current ratio 1.1x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 7%, cash/debt 3.0x, equity/assets 38%; it is not listed as a direct rate play.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000909832.json",
            "stress_score": 0,
            "symbol": "COST"
          },
          {
            "balance_score": 100,
            "company_name": "Chevron Corp",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 2%, cash/debt 1.0x, equity/assets 56%; it is listed as usually pressured.",
              "score_text": "0 / 100"
            },
            "cut_group": "weather",
            "cut_score": 0,
            "filed_at": "2026-05-07",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 1.0x, equity/assets 56%; it is listed as usually helped.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 2%; cash/debt 1.0x; current ratio 1.1x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 1.0x, equity/assets 56%; it is listed as usually helped.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000093410.json",
            "stress_score": 0,
            "symbol": "CVX"
          },
          {
            "balance_score": 100,
            "company_name": "Enphase Energy, Inc.",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 21%, cash/debt 0.9x, equity/assets 40%; it is listed as usually helped.",
              "score_text": "15 / 100"
            },
            "cut_group": "weather",
            "cut_score": 15,
            "filed_at": "2026-04-28",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 21%, cash/debt 0.9x, equity/assets 40%; it is not listed as a direct rate play.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 21%; cash/debt 0.9x; current ratio 3.8x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 21%, cash/debt 0.9x, equity/assets 40%; it is not listed as a direct rate play.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001463101.json",
            "stress_score": 0,
            "symbol": "ENPH"
          },
          {
            "balance_score": 100,
            "company_name": "Alphabet Inc.",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 0%, cash/debt net cash, equity/assets 68%; it is not listed as a direct rate play.",
              "score_text": "0 / 100"
            },
            "cut_group": "weather",
            "cut_score": 0,
            "filed_at": "2026-04-30",
            "fiscal_period": "Q1",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 0%, cash/debt net cash, equity/assets 68%; it is listed as usually helped.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 0%; cash/debt net cash; current ratio 1.9x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 0%, cash/debt net cash, equity/assets 68%; it is listed as usually helped.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001652044.json",
            "stress_score": 0,
            "symbol": "GOOGL"
          },
          {
            "balance_score": 100,
            "company_name": "MICROSOFT CORPORATION",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 6%, cash/debt 0.8x, equity/assets 60%; it is listed as usually helped.",
              "score_text": "15 / 100"
            },
            "cut_group": "weather",
            "cut_score": 15,
            "filed_at": "2026-04-29",
            "fiscal_period": "Q3",
            "fiscal_year": 2026,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.8x, equity/assets 60%; it is listed as usually helped.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 6%; cash/debt 0.8x; current ratio 1.3x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.8x, equity/assets 60%; it is listed as usually helped.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000789019.json",
            "stress_score": 0,
            "symbol": "MSFT"
          },
          {
            "balance_score": 100,
            "company_name": "NUCOR CORP",
            "cut": {
              "label": "Strong enough to weather a cut",
              "reason": "Balance sheet is not the main driver here: debt/assets 1%, cash/debt 8.8x, equity/assets 60%; it is listed as usually pressured.",
              "score_text": "0 / 100"
            },
            "cut_group": "weather",
            "cut_score": 0,
            "filed_at": "2026-02-25",
            "fiscal_period": "FY",
            "fiscal_year": 2025,
            "hike": {
              "label": "Can weather higher rates",
              "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 8.8x, equity/assets 60%; it is listed as usually helped.",
              "score_text": "100 / 100"
            },
            "hike_group": "weather",
            "hike_score": 100,
            "label": "Can weather higher rates",
            "metrics_text": "debt/assets 1%; cash/debt 8.8x; current ratio 2.9x",
            "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 8.8x, equity/assets 60%; it is listed as usually helped.",
            "score_text": "100 / 100",
            "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000073309.json",
            "stress_score": 0,
            "symbol": "NUE"
          }
        ]
      }
    },
    "source": "SEC company facts",
    "status": "ok",
    "symbols": [
      {
        "balance_score": 86,
        "company_name": "Apple Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 22%, cash/debt 0.6x, equity/assets 29%; it is not listed as a direct rate play.",
          "score_text": "14 / 100"
        },
        "cut_group": "weather",
        "cut_score": 14,
        "filed_at": "2026-05-01",
        "fiscal_period": "Q2",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 22%, cash/debt 0.6x, equity/assets 29%; it is listed as usually helped.",
          "score_text": "96 / 100"
        },
        "hike_group": "weather",
        "hike_score": 96,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 22%; cash/debt 0.6x; current ratio 1.1x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 22%, cash/debt 0.6x, equity/assets 29%; it is listed as usually helped.",
        "score_text": "96 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json",
        "stress_score": 14,
        "symbol": "AAPL"
      },
      {
        "balance_score": 32,
        "company_name": "AMERICAN ELECTRIC POWER CO INC.",
        "cut": {
          "label": "Still fragile even after a cut",
          "reason": "Lower rates may not be enough by themselves: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x.",
          "score_text": "83 / 100"
        },
        "cut_group": "fragile",
        "cut_score": 83,
        "filed_at": "2026-05-05",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
          "score_text": "22 / 100"
        },
        "hike_group": "stress",
        "hike_score": 22,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 42%; cash/debt 0.0x; current ratio 0.5x",
        "reason": "Higher rates could pressure this name: debt/assets 42%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
        "score_text": "22 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000004904.json",
        "stress_score": 68,
        "symbol": "AEP"
      },
      {
        "balance_score": 62,
        "company_name": "American International Group, Inc.",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 25%, cash/assets 1%, liabilities/assets 75%; it is listed as usually pressured.",
          "score_text": "33 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 33,
        "filed_at": "2026-05-01",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 25%, cash/assets 1%, liabilities/assets 75%; it is not listed as a direct rate play.",
          "score_text": "62 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 62,
        "label": "Mixed balance-sheet read",
        "metrics_text": "equity/assets 25%; cash/assets 1%; liabilities/assets 75%",
        "reason": "Financial-company read: equity/assets 25%, cash/assets 1%, liabilities/assets 75%; it is not listed as a direct rate play.",
        "score_text": "62 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000005272.json",
        "stress_score": 38,
        "symbol": "AIG"
      },
      {
        "balance_score": 50,
        "company_name": "AMERICAN TOWER CORPORATION",
        "cut": {
          "label": "Could get rate-cut relief",
          "reason": "Lower rates could give financing relief because stress is 50/100 and the stock is listed as usually helped.",
          "score_text": "65 / 100"
        },
        "cut_group": "relief",
        "cut_score": 65,
        "filed_at": "2026-04-28",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 10%, cash/debt 0.3x, current ratio 0.3x; it is listed as usually pressured.",
          "score_text": "40 / 100"
        },
        "hike_group": "stress",
        "hike_score": 40,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 10%; cash/debt 0.3x; current ratio 0.3x",
        "reason": "Higher rates could pressure this name: debt/assets 10%, cash/debt 0.3x, current ratio 0.3x; it is listed as usually pressured.",
        "score_text": "40 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001053507.json",
        "stress_score": 50,
        "symbol": "AMT"
      },
      {
        "balance_score": 100,
        "company_name": "AMAZON.COM, INC.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 1%, cash/debt 7.9x, equity/assets 48%; it is listed as usually helped.",
          "score_text": "15 / 100"
        },
        "cut_group": "weather",
        "cut_score": 15,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 7.9x, equity/assets 48%; it is not listed as a direct rate play.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 1%; cash/debt 7.9x; current ratio 1.2x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 7.9x, equity/assets 48%; it is not listed as a direct rate play.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001018724.json",
        "stress_score": 0,
        "symbol": "AMZN"
      },
      {
        "balance_score": 70,
        "company_name": "Aon plc",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Financial-company read: equity/assets 19%, cash/assets 2%, liabilities/assets 81%; it is not listed as a direct rate play.",
          "score_text": "30 / 100"
        },
        "cut_group": "weather",
        "cut_score": 30,
        "filed_at": "2026-05-01",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Financial-company read: equity/assets 19%, cash/assets 2%, liabilities/assets 81%; it is listed as usually helped.",
          "score_text": "80 / 100"
        },
        "hike_group": "weather",
        "hike_score": 80,
        "label": "Can weather higher rates",
        "metrics_text": "equity/assets 19%; cash/assets 2%; liabilities/assets 81%",
        "reason": "Financial-company read: equity/assets 19%, cash/assets 2%, liabilities/assets 81%; it is listed as usually helped.",
        "score_text": "80 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000315293.json",
        "stress_score": 30,
        "symbol": "AON"
      },
      {
        "balance_score": 70,
        "company_name": "BANK OF AMERICA CORP /DE/",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Financial-company read: equity/assets 9%, cash/assets 7%, liabilities/assets 91%; it is listed as usually pressured.",
          "score_text": "25 / 100"
        },
        "cut_group": "weather",
        "cut_score": 25,
        "filed_at": "2026-05-01",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Financial-company read: equity/assets 9%, cash/assets 7%, liabilities/assets 91%; it is listed as usually helped.",
          "score_text": "80 / 100"
        },
        "hike_group": "weather",
        "hike_score": 80,
        "label": "Can weather higher rates",
        "metrics_text": "equity/assets 9%; cash/assets 7%; liabilities/assets 91%",
        "reason": "Financial-company read: equity/assets 9%, cash/assets 7%, liabilities/assets 91%; it is listed as usually helped.",
        "score_text": "80 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000070858.json",
        "stress_score": 30,
        "symbol": "BAC"
      },
      {
        "balance_score": 70,
        "company_name": "BERKSHIRE HATHAWAY INC",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Financial-company read: equity/assets 58%, cash/assets 5%, liabilities/assets 42%; it is listed as usually pressured.",
          "score_text": "25 / 100"
        },
        "cut_group": "weather",
        "cut_score": 25,
        "filed_at": "2026-05-04",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Financial-company read: equity/assets 58%, cash/assets 5%, liabilities/assets 42%; it is listed as usually helped.",
          "score_text": "80 / 100"
        },
        "hike_group": "weather",
        "hike_score": 80,
        "label": "Can weather higher rates",
        "metrics_text": "equity/assets 58%; cash/assets 5%; liabilities/assets 42%",
        "reason": "Financial-company read: equity/assets 58%, cash/assets 5%, liabilities/assets 42%; it is listed as usually helped.",
        "score_text": "80 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001067983.json",
        "stress_score": 30,
        "symbol": "BRK.B"
      },
      {
        "balance_score": 59,
        "company_name": "CATERPILLAR INC",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Balance sheet is not the main driver here: debt/assets 38%, cash/debt 0.1x, equity/assets 20%; it is not listed as a direct rate play.",
          "score_text": "41 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 41,
        "filed_at": "2026-05-06",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Higher rates could pressure this name: debt/assets 38%, cash/debt 0.1x, current ratio 1.4x; it is listed as usually helped.",
          "score_text": "69 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 69,
        "label": "Mixed balance-sheet read",
        "metrics_text": "debt/assets 38%; cash/debt 0.1x; current ratio 1.4x",
        "reason": "Higher rates could pressure this name: debt/assets 38%, cash/debt 0.1x, current ratio 1.4x; it is listed as usually helped.",
        "score_text": "69 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000018230.json",
        "stress_score": 41,
        "symbol": "CAT"
      },
      {
        "balance_score": 62,
        "company_name": "CHUBB LIMITED",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 27%, cash/assets 1%, liabilities/assets 71%; it is listed as usually pressured.",
          "score_text": "33 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 33,
        "filed_at": "2026-04-28",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 27%, cash/assets 1%, liabilities/assets 71%; it is listed as usually helped.",
          "score_text": "72 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 72,
        "label": "Mixed balance-sheet read",
        "metrics_text": "equity/assets 27%; cash/assets 1%; liabilities/assets 71%",
        "reason": "Financial-company read: equity/assets 27%, cash/assets 1%, liabilities/assets 71%; it is listed as usually helped.",
        "score_text": "72 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000896159.json",
        "stress_score": 38,
        "symbol": "CB"
      },
      {
        "balance_score": 32,
        "company_name": "Carnival Corp Ltd.",
        "cut": {
          "label": "Still fragile even after a cut",
          "reason": "Lower rates may not be enough by themselves: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x.",
          "score_text": "83 / 100"
        },
        "cut_group": "fragile",
        "cut_score": 83,
        "filed_at": "2026-03-27",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x; it is not listed as a direct rate play.",
          "score_text": "32 / 100"
        },
        "hike_group": "stress",
        "hike_score": 32,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 49%; cash/debt 0.1x; current ratio 0.3x",
        "reason": "Higher rates could pressure this name: debt/assets 49%, cash/debt 0.1x, current ratio 0.3x; it is not listed as a direct rate play.",
        "score_text": "32 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000815097.json",
        "stress_score": 68,
        "symbol": "CCL"
      },
      {
        "balance_score": 94,
        "company_name": "ConocoPhillips",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 19%, cash/debt 0.3x, equity/assets 53%; it is listed as usually pressured.",
          "score_text": "1 / 100"
        },
        "cut_group": "weather",
        "cut_score": 1,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 19%, cash/debt 0.3x, equity/assets 53%; it is listed as usually helped.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 19%; cash/debt 0.3x; current ratio 1.3x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 19%, cash/debt 0.3x, equity/assets 53%; it is listed as usually helped.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001163165.json",
        "stress_score": 6,
        "symbol": "COP"
      },
      {
        "balance_score": 100,
        "company_name": "COSTCO WHOLESALE CORP /NEW",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 7%, cash/debt 3.0x, equity/assets 38%; it is listed as usually pressured.",
          "score_text": "0 / 100"
        },
        "cut_group": "weather",
        "cut_score": 0,
        "filed_at": "2026-03-11",
        "fiscal_period": "Q2",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 7%, cash/debt 3.0x, equity/assets 38%; it is not listed as a direct rate play.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 7%; cash/debt 3.0x; current ratio 1.1x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 7%, cash/debt 3.0x, equity/assets 38%; it is not listed as a direct rate play.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000909832.json",
        "stress_score": 0,
        "symbol": "COST"
      },
      {
        "balance_score": 100,
        "company_name": "Chevron Corp",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 2%, cash/debt 1.0x, equity/assets 56%; it is listed as usually pressured.",
          "score_text": "0 / 100"
        },
        "cut_group": "weather",
        "cut_score": 0,
        "filed_at": "2026-05-07",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 1.0x, equity/assets 56%; it is listed as usually helped.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 2%; cash/debt 1.0x; current ratio 1.1x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 1.0x, equity/assets 56%; it is listed as usually helped.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000093410.json",
        "stress_score": 0,
        "symbol": "CVX"
      },
      {
        "balance_score": 70,
        "company_name": "Delta Air Lines, Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 16%, cash/debt 0.4x, equity/assets 24%; it is listed as usually helped.",
          "score_text": "45 / 100"
        },
        "cut_group": "weather",
        "cut_score": 45,
        "filed_at": "2026-04-08",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 16%, cash/debt 0.4x, equity/assets 24%; it is not listed as a direct rate play.",
          "score_text": "70 / 100"
        },
        "hike_group": "weather",
        "hike_score": 70,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 16%; cash/debt 0.4x; current ratio 0.4x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 16%, cash/debt 0.4x, equity/assets 24%; it is not listed as a direct rate play.",
        "score_text": "70 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000027904.json",
        "stress_score": 30,
        "symbol": "DAL"
      },
      {
        "balance_score": 82,
        "company_name": "DEERE & CO",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 14%, cash/debt 0.5x, equity/assets 25%; it is not listed as a direct rate play.",
          "score_text": "18 / 100"
        },
        "cut_group": "weather",
        "cut_score": 18,
        "filed_at": "2026-02-26",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 14%, cash/debt 0.5x, equity/assets 25%; it is listed as usually helped.",
          "score_text": "92 / 100"
        },
        "hike_group": "weather",
        "hike_score": 92,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 14%; cash/debt 0.5x; current ratio N/A",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 14%, cash/debt 0.5x, equity/assets 25%; it is listed as usually helped.",
        "score_text": "92 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000315189.json",
        "stress_score": 18,
        "symbol": "DE"
      },
      {
        "balance_score": 62,
        "company_name": "D.R. Horton, Inc.",
        "cut": {
          "label": "Could get rate-cut relief",
          "reason": "Lower rates could give financing relief because stress is 38/100 and the stock is listed as usually helped.",
          "score_text": "53 / 100"
        },
        "cut_group": "relief",
        "cut_score": 53,
        "filed_at": "2026-04-23",
        "fiscal_period": "Q2",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
          "score_text": "52 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 52,
        "label": "Mixed balance-sheet read",
        "metrics_text": "debt/assets N/A; cash/debt N/A; current ratio N/A",
        "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
        "score_text": "52 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000882184.json",
        "stress_score": 38,
        "symbol": "DHI"
      },
      {
        "balance_score": 32,
        "company_name": "DUKE ENERGY CORPORATION",
        "cut": {
          "label": "Still fragile even after a cut",
          "reason": "Lower rates may not be enough by themselves: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x.",
          "score_text": "83 / 100"
        },
        "cut_group": "fragile",
        "cut_score": 83,
        "filed_at": "2026-05-05",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x; it is listed as usually pressured.",
          "score_text": "22 / 100"
        },
        "hike_group": "stress",
        "hike_score": 22,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 44%; cash/debt 0.0x; current ratio 0.7x",
        "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.7x; it is listed as usually pressured.",
        "score_text": "22 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001326160.json",
        "stress_score": 68,
        "symbol": "DUK"
      },
      {
        "balance_score": 100,
        "company_name": "Enphase Energy, Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 21%, cash/debt 0.9x, equity/assets 40%; it is listed as usually helped.",
          "score_text": "15 / 100"
        },
        "cut_group": "weather",
        "cut_score": 15,
        "filed_at": "2026-04-28",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 21%, cash/debt 0.9x, equity/assets 40%; it is not listed as a direct rate play.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 21%; cash/debt 0.9x; current ratio 3.8x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 21%, cash/debt 0.9x, equity/assets 40%; it is not listed as a direct rate play.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001463101.json",
        "stress_score": 0,
        "symbol": "ENPH"
      },
      {
        "balance_score": 94,
        "company_name": "EQUINIX INC",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 6%, cash/debt 0.6x, equity/assets 35%; it is listed as usually helped.",
          "score_text": "21 / 100"
        },
        "cut_group": "weather",
        "cut_score": 21,
        "filed_at": "2026-04-29",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.6x, equity/assets 35%; it is listed as usually pressured.",
          "score_text": "84 / 100"
        },
        "hike_group": "weather",
        "hike_score": 84,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 6%; cash/debt 0.6x; current ratio 1.2x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.6x, equity/assets 35%; it is listed as usually pressured.",
        "score_text": "84 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001101239.json",
        "stress_score": 6,
        "symbol": "EQIX"
      },
      {
        "balance_score": 100,
        "company_name": "Alphabet Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 0%, cash/debt net cash, equity/assets 68%; it is not listed as a direct rate play.",
          "score_text": "0 / 100"
        },
        "cut_group": "weather",
        "cut_score": 0,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 0%, cash/debt net cash, equity/assets 68%; it is listed as usually helped.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 0%; cash/debt net cash; current ratio 1.9x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 0%, cash/debt net cash, equity/assets 68%; it is listed as usually helped.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001652044.json",
        "stress_score": 0,
        "symbol": "GOOGL"
      },
      {
        "balance_score": 55,
        "company_name": "The Goldman Sachs Group, Inc.",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 6%, cash/assets 9%, liabilities/assets 94%; it is not listed as a direct rate play.",
          "score_text": "45 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 45,
        "filed_at": "2026-05-01",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 6%, cash/assets 9%, liabilities/assets 94%; it is listed as usually helped.",
          "score_text": "65 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 65,
        "label": "Mixed balance-sheet read",
        "metrics_text": "equity/assets 6%; cash/assets 9%; liabilities/assets 94%",
        "reason": "Financial-company read: equity/assets 6%, cash/assets 9%, liabilities/assets 94%; it is listed as usually helped.",
        "score_text": "65 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000886982.json",
        "stress_score": 45,
        "symbol": "GS"
      },
      {
        "balance_score": 72,
        "company_name": "THE HOME DEPOT, INC.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 3%, cash/debt 0.5x, equity/assets 12%; it is listed as usually helped.",
          "score_text": "43 / 100"
        },
        "cut_group": "weather",
        "cut_score": 43,
        "filed_at": "2026-03-18",
        "fiscal_period": "FY",
        "fiscal_year": 2025,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 3%, cash/debt 0.5x, equity/assets 12%; it is listed as usually pressured.",
          "score_text": "62 / 100"
        },
        "hike_group": "weather",
        "hike_score": 62,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 3%; cash/debt 0.5x; current ratio 1.1x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 3%, cash/debt 0.5x, equity/assets 12%; it is listed as usually pressured.",
        "score_text": "62 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000354950.json",
        "stress_score": 28,
        "symbol": "HD"
      },
      {
        "balance_score": 61,
        "company_name": "JPMORGAN CHASE & CO",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 7%, cash/assets 6%, liabilities/assets 93%; it is listed as usually pressured.",
          "score_text": "34 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 34,
        "filed_at": "2026-05-01",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 7%, cash/assets 6%, liabilities/assets 93%; it is listed as usually helped.",
          "score_text": "71 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 71,
        "label": "Mixed balance-sheet read",
        "metrics_text": "equity/assets 7%; cash/assets 6%; liabilities/assets 93%",
        "reason": "Financial-company read: equity/assets 7%, cash/assets 6%, liabilities/assets 93%; it is listed as usually helped.",
        "score_text": "71 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000019617.json",
        "stress_score": 39,
        "symbol": "JPM"
      },
      {
        "balance_score": 69,
        "company_name": "COCA COLA CO",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 35%, cash/debt 0.3x, equity/assets 32%; it is listed as usually pressured.",
          "score_text": "26 / 100"
        },
        "cut_group": "weather",
        "cut_score": 26,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 35%, cash/debt 0.3x, equity/assets 32%; it is not listed as a direct rate play.",
          "score_text": "69 / 100"
        },
        "hike_group": "weather",
        "hike_score": 69,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 35%; cash/debt 0.3x; current ratio 1.4x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 35%, cash/debt 0.3x, equity/assets 32%; it is not listed as a direct rate play.",
        "score_text": "69 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000021344.json",
        "stress_score": 31,
        "symbol": "KO"
      },
      {
        "balance_score": 89,
        "company_name": "LENNAR CORP /NEW/",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 18%, cash/debt 0.4x, equity/assets 66%; it is listed as usually helped.",
          "score_text": "26 / 100"
        },
        "cut_group": "weather",
        "cut_score": 26,
        "filed_at": "2026-04-09",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 18%, cash/debt 0.4x, equity/assets 66%; it is listed as usually pressured.",
          "score_text": "79 / 100"
        },
        "hike_group": "weather",
        "hike_score": 79,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 18%; cash/debt 0.4x; current ratio N/A",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 18%, cash/debt 0.4x, equity/assets 66%; it is listed as usually pressured.",
        "score_text": "79 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000920760.json",
        "stress_score": 11,
        "symbol": "LEN"
      },
      {
        "balance_score": 60,
        "company_name": "LOWES COMPANIES INC",
        "cut": {
          "label": "Could get rate-cut relief",
          "reason": "Lower rates could give financing relief because stress is 40/100 and the stock is listed as usually helped.",
          "score_text": "55 / 100"
        },
        "cut_group": "relief",
        "cut_score": 55,
        "filed_at": "2026-03-23",
        "fiscal_period": "FY",
        "fiscal_year": 2025,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 1%, cash/debt 2.5x, current ratio 1.1x; it is listed as usually pressured.",
          "score_text": "50 / 100"
        },
        "hike_group": "stress",
        "hike_score": 50,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 1%; cash/debt 2.5x; current ratio 1.1x",
        "reason": "Higher rates could pressure this name: debt/assets 1%, cash/debt 2.5x, current ratio 1.1x; it is listed as usually pressured.",
        "score_text": "50 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000060667.json",
        "stress_score": 40,
        "symbol": "LOW"
      },
      {
        "balance_score": 80,
        "company_name": "Marsh\u00a0& McLennan Companies, Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Financial-company read: equity/assets 25%, cash/assets 23%, liabilities/assets N/A; it is not listed as a direct rate play.",
          "score_text": "20 / 100"
        },
        "cut_group": "weather",
        "cut_score": 20,
        "filed_at": "2026-04-16",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Financial-company read: equity/assets 25%, cash/assets 23%, liabilities/assets N/A; it is listed as usually helped.",
          "score_text": "90 / 100"
        },
        "hike_group": "weather",
        "hike_score": 90,
        "label": "Can weather higher rates",
        "metrics_text": "equity/assets 25%; cash/assets 23%; liabilities/assets N/A",
        "reason": "Financial-company read: equity/assets 25%, cash/assets 23%, liabilities/assets N/A; it is listed as usually helped.",
        "score_text": "90 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000062709.json",
        "stress_score": 20,
        "symbol": "MMC"
      },
      {
        "balance_score": 61,
        "company_name": "MORGAN STANLEY",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 7%, cash/assets 8%, liabilities/assets 93%; it is not listed as a direct rate play.",
          "score_text": "39 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 39,
        "filed_at": "2026-05-05",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 7%, cash/assets 8%, liabilities/assets 93%; it is listed as usually helped.",
          "score_text": "71 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 71,
        "label": "Mixed balance-sheet read",
        "metrics_text": "equity/assets 7%; cash/assets 8%; liabilities/assets 93%",
        "reason": "Financial-company read: equity/assets 7%, cash/assets 8%, liabilities/assets 93%; it is listed as usually helped.",
        "score_text": "71 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000895421.json",
        "stress_score": 39,
        "symbol": "MS"
      },
      {
        "balance_score": 100,
        "company_name": "MICROSOFT CORPORATION",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 6%, cash/debt 0.8x, equity/assets 60%; it is listed as usually helped.",
          "score_text": "15 / 100"
        },
        "cut_group": "weather",
        "cut_score": 15,
        "filed_at": "2026-04-29",
        "fiscal_period": "Q3",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.8x, equity/assets 60%; it is listed as usually helped.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 6%; cash/debt 0.8x; current ratio 1.3x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.8x, equity/assets 60%; it is listed as usually helped.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000789019.json",
        "stress_score": 0,
        "symbol": "MSFT"
      },
      {
        "balance_score": 32,
        "company_name": "NEXTERA ENERGY, INC.",
        "cut": {
          "label": "Still fragile even after a cut",
          "reason": "Lower rates may not be enough by themselves: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x.",
          "score_text": "83 / 100"
        },
        "cut_group": "fragile",
        "cut_score": 83,
        "filed_at": "2026-04-23",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
          "score_text": "22 / 100"
        },
        "hike_group": "stress",
        "hike_score": 22,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 44%; cash/debt 0.0x; current ratio 0.5x",
        "reason": "Higher rates could pressure this name: debt/assets 44%, cash/debt 0.0x, current ratio 0.5x; it is listed as usually pressured.",
        "score_text": "22 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000753308.json",
        "stress_score": 68,
        "symbol": "NEE"
      },
      {
        "balance_score": 100,
        "company_name": "NUCOR CORP",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 1%, cash/debt 8.8x, equity/assets 60%; it is listed as usually pressured.",
          "score_text": "0 / 100"
        },
        "cut_group": "weather",
        "cut_score": 0,
        "filed_at": "2026-02-25",
        "fiscal_period": "FY",
        "fiscal_year": 2025,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 8.8x, equity/assets 60%; it is listed as usually helped.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 1%; cash/debt 8.8x; current ratio 2.9x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt 8.8x, equity/assets 60%; it is listed as usually helped.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000073309.json",
        "stress_score": 0,
        "symbol": "NUE"
      },
      {
        "balance_score": 100,
        "company_name": "NVIDIA CORPORATION",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 4%, cash/debt 1.3x, equity/assets 76%; it is listed as usually helped.",
          "score_text": "15 / 100"
        },
        "cut_group": "weather",
        "cut_score": 15,
        "filed_at": "2026-02-25",
        "fiscal_period": "FY",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 4%, cash/debt 1.3x, equity/assets 76%; it is listed as usually pressured.",
          "score_text": "90 / 100"
        },
        "hike_group": "weather",
        "hike_score": 90,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 4%; cash/debt 1.3x; current ratio 3.9x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 4%, cash/debt 1.3x, equity/assets 76%; it is listed as usually pressured.",
        "score_text": "90 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001045810.json",
        "stress_score": 0,
        "symbol": "NVDA"
      },
      {
        "balance_score": 84,
        "company_name": "REALTY INCOME CORP",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 6%, cash/debt 0.1x, equity/assets 53%; it is listed as usually helped.",
          "score_text": "31 / 100"
        },
        "cut_group": "weather",
        "cut_score": 31,
        "filed_at": "2026-05-07",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.1x, equity/assets 53%; it is listed as usually pressured.",
          "score_text": "74 / 100"
        },
        "hike_group": "weather",
        "hike_score": 74,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 6%; cash/debt 0.1x; current ratio N/A",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 6%, cash/debt 0.1x, equity/assets 53%; it is listed as usually pressured.",
        "score_text": "74 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000726728.json",
        "stress_score": 16,
        "symbol": "O"
      },
      {
        "balance_score": 59,
        "company_name": "PepsiCo, Inc.",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Balance sheet is not the main driver here: debt/assets 40%, cash/debt 0.2x, equity/assets 19%; it is listed as usually pressured.",
          "score_text": "36 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 36,
        "filed_at": "2026-04-16",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Higher rates could pressure this name: debt/assets 40%, cash/debt 0.2x, current ratio 0.9x; it is not listed as a direct rate play.",
          "score_text": "59 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 59,
        "label": "Mixed balance-sheet read",
        "metrics_text": "debt/assets 40%; cash/debt 0.2x; current ratio 0.9x",
        "reason": "Higher rates could pressure this name: debt/assets 40%, cash/debt 0.2x, current ratio 0.9x; it is not listed as a direct rate play.",
        "score_text": "59 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000077476.json",
        "stress_score": 41,
        "symbol": "PEP"
      },
      {
        "balance_score": 69,
        "company_name": "PROCTER & GAMBLE CO",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 29%, cash/debt 0.3x, equity/assets 43%; it is listed as usually pressured.",
          "score_text": "26 / 100"
        },
        "cut_group": "weather",
        "cut_score": 26,
        "filed_at": "2026-04-24",
        "fiscal_period": "Q3",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 29%, cash/debt 0.3x, equity/assets 43%; it is not listed as a direct rate play.",
          "score_text": "69 / 100"
        },
        "hike_group": "weather",
        "hike_score": 69,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 29%; cash/debt 0.3x; current ratio 0.7x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 29%, cash/debt 0.3x, equity/assets 43%; it is not listed as a direct rate play.",
        "score_text": "69 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000080424.json",
        "stress_score": 31,
        "symbol": "PG"
      },
      {
        "balance_score": 100,
        "company_name": "PULTEGROUP, INC.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 0%, cash/debt net cash, equity/assets 71%; it is listed as usually helped.",
          "score_text": "15 / 100"
        },
        "cut_group": "weather",
        "cut_score": 15,
        "filed_at": "2026-04-23",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 0%, cash/debt net cash, equity/assets 71%; it is listed as usually pressured.",
          "score_text": "90 / 100"
        },
        "hike_group": "weather",
        "hike_score": 90,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 0%; cash/debt net cash; current ratio N/A",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 0%, cash/debt net cash, equity/assets 71%; it is listed as usually pressured.",
        "score_text": "90 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000822416.json",
        "stress_score": 0,
        "symbol": "PHM"
      },
      {
        "balance_score": 51,
        "company_name": "Prologis, Inc.",
        "cut": {
          "label": "Could get rate-cut relief",
          "reason": "Lower rates could give financing relief because stress is 49/100 and the stock is listed as usually helped.",
          "score_text": "64 / 100"
        },
        "cut_group": "relief",
        "cut_score": 64,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 35%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
          "score_text": "41 / 100"
        },
        "hike_group": "stress",
        "hike_score": 41,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 35%; cash/debt 0.0x; current ratio N/A",
        "reason": "Higher rates could pressure this name: debt/assets 35%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
        "score_text": "41 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001045609.json",
        "stress_score": 49,
        "symbol": "PLD"
      },
      {
        "balance_score": 70,
        "company_name": "ROYAL CARIBBEAN CRUISES LTD",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 4%, cash/debt 0.3x, equity/assets 23%; it is listed as usually helped.",
          "score_text": "45 / 100"
        },
        "cut_group": "weather",
        "cut_score": 45,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 4%, cash/debt 0.3x, equity/assets 23%; it is not listed as a direct rate play.",
          "score_text": "70 / 100"
        },
        "hike_group": "weather",
        "hike_score": 70,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 4%; cash/debt 0.3x; current ratio 0.2x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 4%, cash/debt 0.3x, equity/assets 23%; it is not listed as a direct rate play.",
        "score_text": "70 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000884887.json",
        "stress_score": 30,
        "symbol": "RCL"
      },
      {
        "balance_score": 75,
        "company_name": "SCHWAB CHARLES CORP",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Financial-company read: equity/assets 10%, cash/assets 15%, liabilities/assets 90%; it is listed as usually pressured.",
          "score_text": "20 / 100"
        },
        "cut_group": "weather",
        "cut_score": 20,
        "filed_at": "2026-05-08",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Financial-company read: equity/assets 10%, cash/assets 15%, liabilities/assets 90%; it is not listed as a direct rate play.",
          "score_text": "75 / 100"
        },
        "hike_group": "weather",
        "hike_score": 75,
        "label": "Can weather higher rates",
        "metrics_text": "equity/assets 10%; cash/assets 15%; liabilities/assets 90%",
        "reason": "Financial-company read: equity/assets 10%, cash/assets 15%, liabilities/assets 90%; it is not listed as a direct rate play.",
        "score_text": "75 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000316709.json",
        "stress_score": 25,
        "symbol": "SCHW"
      },
      {
        "balance_score": 74,
        "company_name": "Shopify Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets N/A, cash/debt N/A, equity/assets 89%; it is listed as usually helped.",
          "score_text": "41 / 100"
        },
        "cut_group": "weather",
        "cut_score": 41,
        "filed_at": "2026-05-05",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets N/A, cash/debt N/A, equity/assets 89%; it is listed as usually pressured.",
          "score_text": "64 / 100"
        },
        "hike_group": "weather",
        "hike_score": 64,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets N/A; cash/debt N/A; current ratio 6.2x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets N/A, cash/debt N/A, equity/assets 89%; it is listed as usually pressured.",
        "score_text": "64 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001594805.json",
        "stress_score": 26,
        "symbol": "SHOP"
      },
      {
        "balance_score": 86,
        "company_name": "SLB LIMITED/NV",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 21%, cash/debt 0.3x, equity/assets 48%; it is listed as usually pressured.",
          "score_text": "9 / 100"
        },
        "cut_group": "weather",
        "cut_score": 9,
        "filed_at": "2026-04-29",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 21%, cash/debt 0.3x, equity/assets 48%; it is listed as usually helped.",
          "score_text": "96 / 100"
        },
        "hike_group": "weather",
        "hike_score": 96,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 21%; cash/debt 0.3x; current ratio 1.3x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 21%, cash/debt 0.3x, equity/assets 48%; it is listed as usually helped.",
        "score_text": "96 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000087347.json",
        "stress_score": 14,
        "symbol": "SLB"
      },
      {
        "balance_score": 60,
        "company_name": "SNOWFLAKE INC.",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Balance sheet is not the main driver here: debt/assets N/A, cash/debt N/A, equity/assets 21%; it is not listed as a direct rate play.",
          "score_text": "40 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 40,
        "filed_at": "2026-03-20",
        "fiscal_period": "FY",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio 1.3x; it is listed as usually pressured.",
          "score_text": "50 / 100"
        },
        "hike_group": "stress",
        "hike_score": 50,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets N/A; cash/debt N/A; current ratio 1.3x",
        "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio 1.3x; it is listed as usually pressured.",
        "score_text": "50 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001640147.json",
        "stress_score": 40,
        "symbol": "SNOW"
      },
      {
        "balance_score": 70,
        "company_name": "The Southern Company",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 2%, cash/debt 0.4x, equity/assets 25%; it is listed as usually helped.",
          "score_text": "45 / 100"
        },
        "cut_group": "weather",
        "cut_score": 45,
        "filed_at": "2026-04-30",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 0.4x, equity/assets 25%; it is listed as usually pressured.",
          "score_text": "60 / 100"
        },
        "hike_group": "weather",
        "hike_score": 60,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 2%; cash/debt 0.4x; current ratio 0.7x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 0.4x, equity/assets 25%; it is listed as usually pressured.",
        "score_text": "60 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000092122.json",
        "stress_score": 30,
        "symbol": "SO"
      },
      {
        "balance_score": 17,
        "company_name": "SIMON PROPERTY GROUP,\u00a0INC.",
        "cut": {
          "label": "Still fragile even after a cut",
          "reason": "Lower rates may not be enough by themselves: debt/assets 71%, cash/debt 0.0x, current ratio N/A.",
          "score_text": "98 / 100"
        },
        "cut_group": "fragile",
        "cut_score": 98,
        "filed_at": "2026-05-11",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Higher-rate stress watch",
          "reason": "Higher rates could pressure this name: debt/assets 71%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
          "score_text": "7 / 100"
        },
        "hike_group": "stress",
        "hike_score": 7,
        "label": "Higher-rate stress watch",
        "metrics_text": "debt/assets 71%; cash/debt 0.0x; current ratio N/A",
        "reason": "Higher rates could pressure this name: debt/assets 71%, cash/debt 0.0x, current ratio N/A; it is listed as usually pressured.",
        "score_text": "7 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001063761.json",
        "stress_score": 83,
        "symbol": "SPG"
      },
      {
        "balance_score": 62,
        "company_name": "Toll Brothers, Inc.",
        "cut": {
          "label": "Could get rate-cut relief",
          "reason": "Lower rates could give financing relief because stress is 38/100 and the stock is listed as usually helped.",
          "score_text": "53 / 100"
        },
        "cut_group": "relief",
        "cut_score": 53,
        "filed_at": "2026-02-27",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
          "score_text": "52 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 52,
        "label": "Mixed balance-sheet read",
        "metrics_text": "debt/assets N/A; cash/debt N/A; current ratio N/A",
        "reason": "Higher rates could pressure this name: debt/assets N/A, cash/debt N/A, current ratio N/A; it is listed as usually pressured.",
        "score_text": "52 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000794170.json",
        "stress_score": 38,
        "symbol": "TOL"
      },
      {
        "balance_score": 62,
        "company_name": "Travelers Companies,\u00a0Inc.",
        "cut": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 22%, cash/assets 0%, liabilities/assets 78%; it is listed as usually pressured.",
          "score_text": "33 / 100"
        },
        "cut_group": "mixed",
        "cut_score": 33,
        "filed_at": "2026-04-16",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Mixed balance-sheet read",
          "reason": "Financial-company read: equity/assets 22%, cash/assets 0%, liabilities/assets 78%; it is listed as usually helped.",
          "score_text": "72 / 100"
        },
        "hike_group": "mixed",
        "hike_score": 72,
        "label": "Mixed balance-sheet read",
        "metrics_text": "equity/assets 22%; cash/assets 0%; liabilities/assets 78%",
        "reason": "Financial-company read: equity/assets 22%, cash/assets 0%, liabilities/assets 78%; it is listed as usually helped.",
        "score_text": "72 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000086312.json",
        "stress_score": 38,
        "symbol": "TRV"
      },
      {
        "balance_score": 100,
        "company_name": "Tesla,\u00a0Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 1%, cash/debt net cash, equity/assets 59%; it is listed as usually helped.",
          "score_text": "15 / 100"
        },
        "cut_group": "weather",
        "cut_score": 15,
        "filed_at": "2026-04-23",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt net cash, equity/assets 59%; it is listed as usually pressured.",
          "score_text": "90 / 100"
        },
        "hike_group": "weather",
        "hike_score": 90,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 1%; cash/debt net cash; current ratio 2.0x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt net cash, equity/assets 59%; it is listed as usually pressured.",
        "score_text": "90 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001318605.json",
        "stress_score": 0,
        "symbol": "TSLA"
      },
      {
        "balance_score": 78,
        "company_name": "United Airlines Holdings, Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 1%, cash/debt net cash, equity/assets 20%; it is listed as usually helped.",
          "score_text": "37 / 100"
        },
        "cut_group": "weather",
        "cut_score": 37,
        "filed_at": "2026-04-22",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt net cash, equity/assets 20%; it is not listed as a direct rate play.",
          "score_text": "78 / 100"
        },
        "hike_group": "weather",
        "hike_score": 78,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 1%; cash/debt net cash; current ratio 0.7x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 1%, cash/debt net cash, equity/assets 20%; it is not listed as a direct rate play.",
        "score_text": "78 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000100517.json",
        "stress_score": 22,
        "symbol": "UAL"
      },
      {
        "balance_score": 70,
        "company_name": "WELLS        FARGO & COMPANY/MN",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Financial-company read: equity/assets 8%, cash/assets 8%, liabilities/assets 92%; it is listed as usually pressured.",
          "score_text": "25 / 100"
        },
        "cut_group": "weather",
        "cut_score": 25,
        "filed_at": "2026-04-29",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Financial-company read: equity/assets 8%, cash/assets 8%, liabilities/assets 92%; it is listed as usually helped.",
          "score_text": "80 / 100"
        },
        "hike_group": "weather",
        "hike_score": 80,
        "label": "Can weather higher rates",
        "metrics_text": "equity/assets 8%; cash/assets 8%; liabilities/assets 92%",
        "reason": "Financial-company read: equity/assets 8%, cash/assets 8%, liabilities/assets 92%; it is listed as usually helped.",
        "score_text": "80 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000072971.json",
        "stress_score": 30,
        "symbol": "WFC"
      },
      {
        "balance_score": 83,
        "company_name": "Walmart Inc.",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 2%, cash/debt 1.7x, equity/assets 35%; it is listed as usually pressured.",
          "score_text": "12 / 100"
        },
        "cut_group": "weather",
        "cut_score": 12,
        "filed_at": "2026-03-13",
        "fiscal_period": "FY",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 1.7x, equity/assets 35%; it is not listed as a direct rate play.",
          "score_text": "83 / 100"
        },
        "hike_group": "weather",
        "hike_score": 83,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 2%; cash/debt 1.7x; current ratio 0.8x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 2%, cash/debt 1.7x, equity/assets 35%; it is not listed as a direct rate play.",
        "score_text": "83 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000104169.json",
        "stress_score": 17,
        "symbol": "WMT"
      },
      {
        "balance_score": 94,
        "company_name": "Exxon Mobil Corporation",
        "cut": {
          "label": "Strong enough to weather a cut",
          "reason": "Balance sheet is not the main driver here: debt/assets 8%, cash/debt 0.2x, equity/assets 55%; it is listed as usually pressured.",
          "score_text": "1 / 100"
        },
        "cut_group": "weather",
        "cut_score": 1,
        "filed_at": "2026-05-04",
        "fiscal_period": "Q1",
        "fiscal_year": 2026,
        "hike": {
          "label": "Can weather higher rates",
          "reason": "Balance sheet looks durable for higher rates: debt/assets 8%, cash/debt 0.2x, equity/assets 55%; it is listed as usually helped.",
          "score_text": "100 / 100"
        },
        "hike_group": "weather",
        "hike_score": 100,
        "label": "Can weather higher rates",
        "metrics_text": "debt/assets 8%; cash/debt 0.2x; current ratio 1.0x",
        "reason": "Balance sheet looks durable for higher rates: debt/assets 8%, cash/debt 0.2x, equity/assets 55%; it is listed as usually helped.",
        "score_text": "100 / 100",
        "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000034088.json",
        "stress_score": 6,
        "symbol": "XOM"
      }
    ],
    "unavailable_symbols": []
  },
  "counts": {
    "economic_observations": 57091,
    "fed_communications": 18,
    "fomc_decisions": 351,
    "fomc_meetings": 364,
    "predictions": 39,
    "training_snapshots": 351
  },
  "economic_commentary": {
    "commentary_id": "a8d1706528e047bebfb15e5f2b5907e0",
    "commentary_text": "The economy shows elevated inflation\u2014core CPI at 2.8% and headline CPI at 3.8%\u2014alongside moderate unemployment (4.3%) and steady wage growth (3.6%). With the Fed's target range at 3.5%-3.8%, the latest data suggests a hold-heavy approach, as inflation remains elevated but not extreme. The 10Y-2Y Treasury spread of 0.47 points indicates stable market expectations. The Fed's 45-day tone score of 0.0 signals cautious communication.",
    "created_at": "2026-05-13T13:43:29Z",
    "error": null,
    "input_hash": "1ebafe8be3872ffc890f67fa9f17276960b266c6861cd2f3fce1fbfb48b732a8",
    "local_date": "2026-05-13",
    "model_name": "qwen3:4b",
    "prompt_version": "economic_commentary_qwen_v1",
    "status": "GENERATED"
  },
  "features": {
    "average_hourly_earnings_yoy": 3.57,
    "core_cpi_yoy": 2.75,
    "cpi_yoy": 3.81,
    "current_target_lower": 3.5,
    "current_target_midpoint": 3.625,
    "current_target_upper": 3.75,
    "days_until_meeting": 35,
    "fed_communication_items_45d": 11,
    "fed_communication_net_score_45d": 0.0,
    "nonfarm_payrolls_1m_change_thousands": 115.0,
    "target_meeting_date": "2026-06-17",
    "ten_year_treasury_yield": 4.42,
    "two_year_treasury_yield": 3.95,
    "unemployment_3m_change": 0.0,
    "unemployment_rate": 4.3,
    "yield_curve_10y_2y": 0.47
  },
  "generated_at": "2026-05-13T19:48:27Z",
  "history": [
    {
      "created_at": "2026-05-13T13:43:24Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "e7fd4de57e9348568c869d1e9a12b2e5",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-13T13:31:28Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "806b9308a48d419c901eb3855a0bfa3a",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-13T12:51:08Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "93700291f8c04badaf436732ac815f98",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-13T12:17:38Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "2b936d6177124b739d48e888a18a51a7",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-13T12:15:52Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "d8f06f4e6901471590bbb2e6c2c2edd2",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T01:24:13Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "134a3edaa8f24f9e93881dac47d85464",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T01:14:52Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "b2166a5316fc49b5b7f2f0137e501b70",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T01:06:47Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "6be33bf67da84798b074355c07ac773b",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T00:51:09Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "e277375ccc4546f0ba6df23524b44dd0",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T00:38:55Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "ea3c7da879b84088b9a181f07a85dac8",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T00:31:12Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "ba29b8267dfc4afbbcad7afd11dc00a2",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T00:22:49Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "59804cd32eba4b47b3d66b15fdad6e3e",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T00:18:57Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "d9b33cb99f774171ac9ffa727956df5d",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-11T00:10:54Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "ce24bb23a46c40a4a2105a4c1c9ec982",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-10T23:54:20Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "5d1e71c117484c32acee3658d1acc5d1",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-10T23:51:41Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "b7f2e92eae64464098b32ae011ec7632",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-10T23:41:26Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "0ecb96821b864eb5b636f054242df8bd",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-10T23:38:25Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "48b8a9f4aff545ecb2229138c21a4cd8",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-10T23:13:58Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "8c590829d3624f8e97acf99bafd889d5",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    },
    {
      "created_at": "2026-05-10T22:55:50Z",
      "hold_probability_pct": 96.0,
      "leading_outcome": "Hold",
      "lower_probability_pct": 2.0,
      "model_mode": "RULES_ONLY",
      "prediction_id": "f572b9f3e943467c9f4edfe5936875b9",
      "raise_probability_pct": 2.0,
      "reasons": [
        "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
      ],
      "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
      "target_meeting_date": "2026-06-17",
      "target_meeting_label": "June 16-17*, 2026"
    }
  ],
  "latest_decision": {
    "action": "Hold",
    "action_bps": 0.0,
    "fetched_at": "2026-05-11T01:14:37Z",
    "meeting_date": "2026-04-29",
    "previous_midpoint": 3.625,
    "source_url": "https://www.federalreserve.gov/newsevents/pressreleases/monetary20260429a.htm",
    "statement_url": "https://www.federalreserve.gov/newsevents/pressreleases/monetary20260429a.htm",
    "target_lower": 3.625,
    "target_midpoint": 3.625,
    "target_upper": 3.625
  },
  "latest_model": {
    "created_at": "2026-05-13T13:43:24Z",
    "feature_columns_json": "[\"current_target_midpoint\",\"cpi_yoy\",\"core_cpi_yoy\",\"unemployment_rate\",\"unemployment_3m_change\",\"nonfarm_payrolls_1m_change_thousands\",\"average_hourly_earnings_yoy\",\"two_year_treasury_yield\",\"ten_year_treasury_yield\",\"yield_curve_10y_2y\",\"fed_communication_net_score_45d\",\"fed_communication_items_45d\",\"days_until_meeting\"]",
    "metrics_json": "{\"ml_accuracy\":0.551546,\"ml_brier\":0.483113,\"ml_log_loss\":0.773628,\"promotion_gate\":\"ml_accuracy_must_beat_rules_accuracy_and_brier_must_not_be_worse\",\"rules_accuracy\":0.701031,\"rules_brier\":0.539152,\"rules_log_loss\":1.010317,\"training_snapshots\":351,\"validation_end_date\":\"2026-04-29\",\"validation_start_date\":\"2003-10-28\",\"walk_forward_predictions\":194}",
    "model_id": "8824446b75e2472db86a1918",
    "model_mode": "RULES_ONLY",
    "model_type": "multinomial_logistic_regression",
    "promoted_at": null,
    "status": "REJECTED_BASELINE_NOT_BEATEN"
  },
  "latest_run": {
    "details_json": "{\"balance_sheet_scan\":{\"reason\":\"scan already ran in this window\",\"status\":\"SKIPPED\",\"symbols\":0,\"unavailable\":0,\"window\":\"2026-05-13 08:00 America/Chicago\"},\"cloudflare_deploy\":{\"deployed\":false,\"status\":\"DISABLED\"},\"communications\":16,\"decision_backfill\":{\"latest_decision_date\":\"2026-04-29\",\"latest_past_meeting_date\":\"2026-04-29\",\"reason\":\"stored FOMC decisions are current\",\"should_run\":false},\"economic_commentary\":{\"commentary\":{\"commentary_id\":\"a8d1706528e047bebfb15e5f2b5907e0\",\"commentary_text\":\"The economy shows elevated inflation\\u2014core CPI at 2.8% and headline CPI at 3.8%\\u2014alongside moderate unemployment (4.3%) and steady wage growth (3.6%). With the Fed's target range at 3.5%-3.8%, the latest data suggests a hold-heavy approach, as inflation remains elevated but not extreme. The 10Y-2Y Treasury spread of 0.47 points indicates stable market expectations. The Fed's 45-day tone score of 0.0 signals cautious communication.\",\"created_at\":\"2026-05-13T13:43:29Z\",\"error\":null,\"input_hash\":\"1ebafe8be3872ffc890f67fa9f17276960b266c6861cd2f3fce1fbfb48b732a8\",\"local_date\":\"2026-05-13\",\"model_name\":\"qwen3:4b\",\"prompt_version\":\"economic_commentary_qwen_v1\",\"status\":\"GENERATED\"},\"status\":\"GENERATED\"},\"economic_fetch\":{\"bls\":{\"last_fetched_at\":\"2026-05-13T12:15:45Z\",\"mode\":\"cached\",\"reason\":\"fetched less than 6 hours ago\",\"should_run\":false},\"fred\":{\"last_fetched_at\":\"2026-05-13T12:15:45Z\",\"mode\":\"cached\",\"reason\":\"fetched less than 6 hours ago\",\"should_run\":false}},\"github_publish\":{\"commit_message\":\"Update Fed rate site snapshot (2026-05-13 13:43:30Z)\",\"committed\":true,\"pushed\":true,\"status\":\"COMMITTED_AND_PUSHED\"},\"market_consensus\":[{\"consensus_id\":\"1a89ff7fb21ca90db5c57419\",\"current_target_range\":\"3.50 - 3.75\",\"fetched_at\":\"2026-05-13T13:43:25Z\",\"hold_probability_pct\":98.0,\"lower_probability_pct\":2.0,\"meeting_date\":\"2026-06-17\",\"raise_probability_pct\":0.0,\"raw\":{\"meeting_date\":\"2026-06-17\",\"meeting_label\":\"Jun 17, 2026\",\"raw_outcomes\":[],\"source_updated_at\":\"May 13, 2026 09:15AM EDT\",\"target_rows\":[{\"current_probability_pct\":2.0,\"previous_day_probability_pct\":0.8,\"previous_week_probability_pct\":7.4,\"target_range\":\"3.25 - 3.50\"},{\"current_probability_pct\":98.0,\"previous_day_probability_pct\":99.2,\"previous_week_probability_pct\":92.6,\"target_range\":\"3.50 - 3.75\"}]},\"source_name\":\"Investing.com Fed Rate Monitor\",\"source_url\":\"https://www.investing.com/central-banks/fed-rate-monitor\"},{\"consensus_id\":\"76ae1a9cce621da6f4b7ba01\",\"current_target_range\":null,\"fetched_at\":\"2026-05-13T13:43:26Z\",\"hold_probability_pct\":95.02,\"lower_probability_pct\":2.93,\"meeting_date\":\"2026-06-17\",\"raise_probability_pct\":2.05,\"raw\":{\"meeting_date\":\"2026-06-17\",\"meeting_label\":\"Fed Decision in June 2026\",\"raw_outcomes\":[{\"average_probability_pct\":97.3,\"kalshi_probability_pct\":97.0,\"label\":\"Fed maintains rate\",\"polymarket_probability_pct\":97.7},{\"average_probability_pct\":2.2,\"kalshi_probability_pct\":3.0,\"label\":\"Cut 25bps\",\"polymarket_probability_pct\":1.4},{\"average_probability_pct\":0.8,\"kalshi_probability_pct\":1.0,\"label\":\"Cut >25bps\",\"polymarket_probability_pct\":0.5},{\"average_probability_pct\":1.4,\"kalshi_probability_pct\":2.0,\"label\":\"Hike 25bps\",\"polymarket_probability_pct\":0.9},{\"average_probability_pct\":0.7,\"kalshi_probability_pct\":1.0,\"label\":\"Hike >25bps\",\"polymarket_probability_pct\":0.3}],\"source_updated_at\":null,\"target_rows\":[]},\"source_name\":\"Oddpool Fed Rate Monitor\",\"source_url\":\"https://www.oddpool.com/fed-market-watch\"}],\"meetings\":25,\"ml_backfill\":{\"latest_decision_date\":\"2026-04-29\",\"latest_past_meeting_date\":\"2026-04-29\",\"reason\":\"stored FOMC decisions are current\",\"should_run\":false,\"status\":\"SKIPPED\"},\"ml_snapshots\":{\"feature_columns\":[\"current_target_midpoint\",\"cpi_yoy\",\"core_cpi_yoy\",\"unemployment_rate\",\"unemployment_3m_change\",\"nonfarm_payrolls_1m_change_thousands\",\"average_hourly_earnings_yoy\",\"two_year_treasury_yield\",\"ten_year_treasury_yield\",\"yield_curve_10y_2y\",\"fed_communication_net_score_45d\",\"fed_communication_items_45d\",\"days_until_meeting\"],\"snapshots\":351},\"ml_training\":{\"metrics\":{\"ml_accuracy\":0.551546,\"ml_brier\":0.483113,\"ml_log_loss\":0.773628,\"promotion_gate\":\"ml_accuracy_must_beat_rules_accuracy_and_brier_must_not_be_worse\",\"rules_accuracy\":0.701031,\"rules_brier\":0.539152,\"rules_log_loss\":1.010317,\"training_snapshots\":351,\"validation_end_date\":\"2026-04-29\",\"validation_start_date\":\"2003-10-28\",\"walk_forward_predictions\":194},\"model_id\":\"8824446b75e2472db86a1918\",\"status\":\"REJECTED_BASELINE_NOT_BEATEN\"},\"news_signal_scan\":{\"reason\":\"scan already ran in this window\",\"status\":\"SKIPPED\",\"symbols\":0,\"unavailable\":0,\"window\":\"2026-05-13 08:00 America/Chicago\"},\"observations\":0,\"prediction\":{\"created_at\":\"2026-05-13T13:43:24Z\",\"data_freshness\":{\"freshness\":{\"core_cpi\":\"2026-04-01\",\"cpi_all\":\"2026-04-01\",\"earnings\":\"2026-04-01\",\"payrolls\":\"2026-04-01\",\"unemployment\":\"2026-04-01\"},\"warnings\":[]},\"features\":{\"average_hourly_earnings_yoy\":3.57,\"core_cpi_yoy\":2.75,\"cpi_yoy\":3.81,\"current_target_lower\":3.5,\"current_target_midpoint\":3.625,\"current_target_upper\":3.75,\"days_until_meeting\":35,\"fed_communication_items_45d\":11,\"fed_communication_net_score_45d\":0.0,\"nonfarm_payrolls_1m_change_thousands\":115.0,\"target_meeting_date\":\"2026-06-17\",\"ten_year_treasury_yield\":4.42,\"two_year_treasury_yield\":3.95,\"unemployment_3m_change\":0.0,\"unemployment_rate\":4.3,\"yield_curve_10y_2y\":0.47},\"hold_probability_pct\":96.0,\"leading_outcome\":\"Hold\",\"lower_probability_pct\":2.0,\"model_id\":null,\"model_mode\":\"RULES_ONLY\",\"model_version\":\"rules_v1\",\"prediction_id\":\"e7fd4de57e9348568c869d1e9a12b2e5\",\"raise_probability_pct\":2.0,\"reasons\":[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"],\"target_meeting_date\":\"2026-06-17\"},\"static_site\":{\"fingerprint\":\"d9aac8ea86878e15ee4340a5afe9f240f6cdf179147efe5fbc6f3253ba095536\"},\"warnings\":[]}",
    "finished_at": "2026-05-13T13:43:32Z",
    "message": "refresh completed",
    "run_id": "b251a06d11504e50bfa788e21628d031",
    "started_at": "2026-05-13T13:43:04Z",
    "status": "PASS"
  },
  "market_consensus": {
    "aggregate": {
      "hold_probability_pct": 96.51,
      "lower_probability_pct": 2.46,
      "raise_probability_pct": 1.02,
      "source_count": 2,
      "source_name": "Average of market consensus sources",
      "sources": [
        "Investing.com Fed Rate Monitor",
        "Oddpool Fed Rate Monitor"
      ]
    },
    "sources": [
      {
        "consensus_id": "1a89ff7fb21ca90db5c57419",
        "current_target_range": "3.50 - 3.75",
        "fetched_at": "2026-05-13T13:43:25Z",
        "hold_probability_pct": 98.0,
        "lower_probability_pct": 2.0,
        "meeting_date": "2026-06-17",
        "raise_probability_pct": 0.0,
        "raw": {
          "meeting_date": "2026-06-17",
          "meeting_label": "Jun 17, 2026",
          "raw_outcomes": [],
          "source_updated_at": "May 13, 2026 09:15AM EDT",
          "target_rows": [
            {
              "current_probability_pct": 2.0,
              "previous_day_probability_pct": 0.8,
              "previous_week_probability_pct": 7.4,
              "target_range": "3.25 - 3.50"
            },
            {
              "current_probability_pct": 98.0,
              "previous_day_probability_pct": 99.2,
              "previous_week_probability_pct": 92.6,
              "target_range": "3.50 - 3.75"
            }
          ]
        },
        "source_name": "Investing.com Fed Rate Monitor",
        "source_url": "https://www.investing.com/central-banks/fed-rate-monitor"
      },
      {
        "consensus_id": "76ae1a9cce621da6f4b7ba01",
        "current_target_range": null,
        "fetched_at": "2026-05-13T13:43:26Z",
        "hold_probability_pct": 95.02,
        "lower_probability_pct": 2.93,
        "meeting_date": "2026-06-17",
        "raise_probability_pct": 2.05,
        "raw": {
          "meeting_date": "2026-06-17",
          "meeting_label": "Fed Decision in June 2026",
          "raw_outcomes": [
            {
              "average_probability_pct": 97.3,
              "kalshi_probability_pct": 97.0,
              "label": "Fed maintains rate",
              "polymarket_probability_pct": 97.7
            },
            {
              "average_probability_pct": 2.2,
              "kalshi_probability_pct": 3.0,
              "label": "Cut 25bps",
              "polymarket_probability_pct": 1.4
            },
            {
              "average_probability_pct": 0.8,
              "kalshi_probability_pct": 1.0,
              "label": "Cut >25bps",
              "polymarket_probability_pct": 0.5
            },
            {
              "average_probability_pct": 1.4,
              "kalshi_probability_pct": 2.0,
              "label": "Hike 25bps",
              "polymarket_probability_pct": 0.9
            },
            {
              "average_probability_pct": 0.7,
              "kalshi_probability_pct": 1.0,
              "label": "Hike >25bps",
              "polymarket_probability_pct": 0.3
            }
          ],
          "source_updated_at": null,
          "target_rows": []
        },
        "source_name": "Oddpool Fed Rate Monitor",
        "source_url": "https://www.oddpool.com/fed-market-watch"
      }
    ]
  },
  "news_signal_scan": {
    "fetched_at": "2026-05-13 13:32 UTC",
    "recommendations": {
      "cut": {
        "caution": [
          {
            "cut": {
              "caution_score_text": "100 / 100",
              "group": "caution",
              "label": "Company pressure may outweigh rate relief",
              "reason": "PLD scores 100/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 100,
            "cut_group": "caution",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "PLD scores 58/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
              "score_text": "58 / 100"
            },
            "hike_group": "risk",
            "hike_score": 58,
            "matched_terms_text": "capital return risk: capital raise",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PLD&region=US&lang=en-US",
            "stress_score": 48,
            "symbol": "PLD"
          },
          {
            "cut": {
              "caution_score_text": "95 / 100",
              "group": "caution",
              "label": "Company pressure may outweigh rate relief",
              "reason": "TRV scores 95/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 95,
            "cut_group": "caution",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "TRV scores 55/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "55 / 100"
            },
            "hike_group": "risk",
            "hike_score": 55,
            "matched_terms_text": "capital return risk: capital raise; earnings pressure: earnings miss",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=TRV&region=US&lang=en-US",
            "stress_score": 60,
            "symbol": "TRV"
          },
          {
            "cut": {
              "caution_score_text": "66 / 100",
              "group": "caution",
              "label": "Company pressure may outweigh rate relief",
              "reason": "MS scores 66/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "66 / 100"
            },
            "cut_caution_score": 66,
            "cut_group": "caution",
            "cut_relief_score": 66,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "MS scores 100/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
              "score_text": "100 / 100"
            },
            "hike_group": "risk",
            "hike_score": 100,
            "matched_terms_text": "credit stress: debt, default",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MS&region=US&lang=en-US",
            "stress_score": 66,
            "symbol": "MS"
          },
          {
            "cut": {
              "caution_score_text": "48 / 100",
              "group": "caution",
              "label": "Could get headline relief from lower rates",
              "reason": "BRK.B scores 48/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "43 / 100"
            },
            "cut_caution_score": 48,
            "cut_group": "caution",
            "cut_relief_score": 43,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "BRK.B scores 75/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
              "score_text": "75 / 100"
            },
            "hike_group": "risk",
            "hike_score": 75,
            "matched_terms_text": "credit stress: bankruptcy",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=BRK-B&region=US&lang=en-US",
            "stress_score": 48,
            "symbol": "BRK.B"
          },
          {
            "cut": {
              "caution_score_text": "45 / 100",
              "group": "caution",
              "label": "Some company headline pressure",
              "reason": "CB scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 45,
            "cut_group": "caution",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "CB scores 13/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "13 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 13,
            "matched_terms_text": "earnings pressure: earnings miss",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=CB&region=US&lang=en-US",
            "stress_score": 18,
            "symbol": "CB"
          },
          {
            "cut": {
              "caution_score_text": "45 / 100",
              "group": "caution",
              "label": "Some company headline pressure",
              "reason": "DHI scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "22 / 100"
            },
            "cut_caution_score": 45,
            "cut_group": "caution",
            "cut_relief_score": 22,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "DHI scores 80/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
              "score_text": "80 / 100"
            },
            "hike_group": "risk",
            "hike_score": 80,
            "matched_terms_text": "earnings pressure: earnings miss; margin cost pressure: margin pressure",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DHI&region=US&lang=en-US",
            "stress_score": 60,
            "symbol": "DHI"
          },
          {
            "cut": {
              "caution_score_text": "45 / 100",
              "group": "caution",
              "label": "Some company headline pressure",
              "reason": "PG scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "5 / 100"
            },
            "cut_caution_score": 45,
            "cut_group": "caution",
            "cut_relief_score": 5,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "PG scores 70/100 because headlines show margin or cost pressure; it is in the not a direct hike bucket.",
              "score_text": "70 / 100"
            },
            "hike_group": "risk",
            "hike_score": 70,
            "matched_terms_text": "earnings pressure: weak guidance; margin cost pressure: margin pressure",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PG&region=US&lang=en-US",
            "stress_score": 60,
            "symbol": "PG"
          }
        ],
        "relief": [
          {
            "cut": {
              "caution_score_text": "24 / 100",
              "group": "relief",
              "label": "Could get headline relief from lower rates",
              "reason": "CCL scores 36/100 relief because lower rates could ease credit or refinancing pressure for a rate-cut-sensitive company.",
              "relief_score_text": "36 / 100"
            },
            "cut_caution_score": 24,
            "cut_group": "relief",
            "cut_relief_score": 36,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "CCL scores 40/100 because headlines show credit/debt language; it is in the not a direct hike bucket.",
              "score_text": "40 / 100"
            },
            "hike_group": "watch",
            "hike_score": 40,
            "matched_terms_text": "credit stress: downgrade",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=CCL&region=US&lang=en-US",
            "stress_score": 24,
            "symbol": "CCL"
          },
          {
            "cut": {
              "caution_score_text": "18 / 100",
              "group": "relief",
              "label": "Could get headline relief from lower rates",
              "reason": "MSFT scores 36/100 relief because lower rates could ease credit or refinancing pressure for a rate-cut-sensitive company.",
              "relief_score_text": "36 / 100"
            },
            "cut_caution_score": 18,
            "cut_group": "relief",
            "cut_relief_score": 36,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "MSFT scores 49/100 because headlines show credit/debt language, margin or cost pressure; it is in the hike-helped bucket.",
              "score_text": "49 / 100"
            },
            "hike_group": "risk",
            "hike_score": 49,
            "matched_terms_text": "credit stress: credit rating; margin cost pressure: inflation pressure",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MSFT&region=US&lang=en-US",
            "stress_score": 36,
            "symbol": "MSFT"
          }
        ]
      },
      "hike": {
        "quiet": [
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "AIG has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "AIG scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "No strong stress keywords found.",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AIG&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "AIG"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "AON has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "AON scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "Positive offset terms: beat estimates",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AON&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "AON"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "DAL has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "12 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 12,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "DAL scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "No strong stress keywords found.",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DAL&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "DAL"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "DE has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "DE scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "Positive offset terms: raised guidance",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DE&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "DE"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "ENPH has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "12 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 12,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "ENPH scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "Positive offset terms: beat estimates",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=ENPH&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "ENPH"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "JPM has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "JPM scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "No strong stress keywords found.",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=JPM&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "JPM"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "KO has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "KO scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "No strong stress keywords found.",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=KO&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "KO"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "MMC has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 0,
            "hike": {
              "label": "Quiet headline pressure into a hike",
              "reason": "MMC scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "0 / 100"
            },
            "hike_group": "quiet",
            "hike_score": 0,
            "matched_terms_text": "No strong stress keywords found.",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MMC&region=US&lang=en-US",
            "stress_score": 0,
            "symbol": "MMC"
          }
        ],
        "risk": [
          {
            "cut": {
              "caution_score_text": "66 / 100",
              "group": "caution",
              "label": "Company pressure may outweigh rate relief",
              "reason": "MS scores 66/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "66 / 100"
            },
            "cut_caution_score": 66,
            "cut_group": "caution",
            "cut_relief_score": 66,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "MS scores 100/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
              "score_text": "100 / 100"
            },
            "hike_group": "risk",
            "hike_score": 100,
            "matched_terms_text": "credit stress: debt, default",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MS&region=US&lang=en-US",
            "stress_score": 66,
            "symbol": "MS"
          },
          {
            "cut": {
              "caution_score_text": "45 / 100",
              "group": "caution",
              "label": "Some company headline pressure",
              "reason": "DHI scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "22 / 100"
            },
            "cut_caution_score": 45,
            "cut_group": "caution",
            "cut_relief_score": 22,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "DHI scores 80/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
              "score_text": "80 / 100"
            },
            "hike_group": "risk",
            "hike_score": 80,
            "matched_terms_text": "earnings pressure: earnings miss; margin cost pressure: margin pressure",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DHI&region=US&lang=en-US",
            "stress_score": 60,
            "symbol": "DHI"
          },
          {
            "cut": {
              "caution_score_text": "48 / 100",
              "group": "caution",
              "label": "Could get headline relief from lower rates",
              "reason": "BRK.B scores 48/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "43 / 100"
            },
            "cut_caution_score": 48,
            "cut_group": "caution",
            "cut_relief_score": 43,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "BRK.B scores 75/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
              "score_text": "75 / 100"
            },
            "hike_group": "risk",
            "hike_score": 75,
            "matched_terms_text": "credit stress: bankruptcy",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=BRK-B&region=US&lang=en-US",
            "stress_score": 48,
            "symbol": "BRK.B"
          },
          {
            "cut": {
              "caution_score_text": "24 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "WMT has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 24,
            "cut_group": "quiet",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "WMT scores 72/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
              "score_text": "72 / 100"
            },
            "hike_group": "risk",
            "hike_score": 72,
            "matched_terms_text": "restructuring: restructuring",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=WMT&region=US&lang=en-US",
            "stress_score": 72,
            "symbol": "WMT"
          },
          {
            "cut": {
              "caution_score_text": "45 / 100",
              "group": "caution",
              "label": "Some company headline pressure",
              "reason": "PG scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "5 / 100"
            },
            "cut_caution_score": 45,
            "cut_group": "caution",
            "cut_relief_score": 5,
            "headline_count": 12,
            "hike": {
              "label": "High headline pressure into a hike",
              "reason": "PG scores 70/100 because headlines show margin or cost pressure; it is in the not a direct hike bucket.",
              "score_text": "70 / 100"
            },
            "hike_group": "risk",
            "hike_score": 70,
            "matched_terms_text": "earnings pressure: weak guidance; margin cost pressure: margin pressure",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PG&region=US&lang=en-US",
            "stress_score": 60,
            "symbol": "PG"
          },
          {
            "cut": {
              "caution_score_text": "100 / 100",
              "group": "caution",
              "label": "Company pressure may outweigh rate relief",
              "reason": "PLD scores 100/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 100,
            "cut_group": "caution",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "PLD scores 58/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
              "score_text": "58 / 100"
            },
            "hike_group": "risk",
            "hike_score": 58,
            "matched_terms_text": "capital return risk: capital raise",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PLD&region=US&lang=en-US",
            "stress_score": 48,
            "symbol": "PLD"
          },
          {
            "cut": {
              "caution_score_text": "95 / 100",
              "group": "caution",
              "label": "Company pressure may outweigh rate relief",
              "reason": "TRV scores 95/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
              "relief_score_text": "0 / 100"
            },
            "cut_caution_score": 95,
            "cut_group": "caution",
            "cut_relief_score": 0,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "TRV scores 55/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
              "score_text": "55 / 100"
            },
            "hike_group": "risk",
            "hike_score": 55,
            "matched_terms_text": "capital return risk: capital raise; earnings pressure: earnings miss",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=TRV&region=US&lang=en-US",
            "stress_score": 60,
            "symbol": "TRV"
          },
          {
            "cut": {
              "caution_score_text": "0 / 100",
              "group": "quiet",
              "label": "Quiet headline read into a cut",
              "reason": "LOW has a quiet cut-read because headlines show no major stress keywords.",
              "relief_score_text": "22 / 100"
            },
            "cut_caution_score": 0,
            "cut_group": "quiet",
            "cut_relief_score": 22,
            "headline_count": 12,
            "hike": {
              "label": "Some headline pressure into a hike",
              "reason": "LOW scores 50/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
              "score_text": "50 / 100"
            },
            "hike_group": "risk",
            "hike_score": 50,
            "matched_terms_text": "margin cost pressure: margin pressure",
            "source_name": "Yahoo Finance headlines",
            "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=LOW&region=US&lang=en-US",
            "stress_score": 30,
            "symbol": "LOW"
          }
        ]
      }
    },
    "source": "Yahoo Finance headline RSS",
    "status": "ok",
    "symbols": [
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "AAPL has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "6 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 6,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "AAPL scores 19/100 because headlines show margin or cost pressure; it is in the hike-helped bucket.",
          "score_text": "19 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 19,
        "matched_terms_text": "margin cost pressure: inflation pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US",
        "stress_score": 18,
        "symbol": "AAPL"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "AEP has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "AEP scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AEP&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "AEP"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "AIG has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "AIG scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AIG&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "AIG"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "AMT has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "22 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 22,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "AMT scores 44/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
          "score_text": "44 / 100"
        },
        "hike_group": "watch",
        "hike_score": 44,
        "matched_terms_text": "margin cost pressure: margin pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AMT&region=US&lang=en-US",
        "stress_score": 24,
        "symbol": "AMT"
      },
      {
        "cut": {
          "caution_score_text": "12 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "AMZN has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "24 / 100"
        },
        "cut_caution_score": 12,
        "cut_group": "quiet",
        "cut_relief_score": 24,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "AMZN scores 20/100 because headlines show credit/debt language; it is in the not a direct hike bucket.",
          "score_text": "20 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 20,
        "matched_terms_text": "credit stress: debt",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AMZN&region=US&lang=en-US",
        "stress_score": 12,
        "symbol": "AMZN"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "AON has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "AON scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "Positive offset terms: beat estimates",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=AON&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "AON"
      },
      {
        "cut": {
          "caution_score_text": "18 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "BAC has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "13 / 100"
        },
        "cut_caution_score": 18,
        "cut_group": "quiet",
        "cut_relief_score": 13,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "BAC scores 25/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "25 / 100"
        },
        "hike_group": "watch",
        "hike_score": 25,
        "matched_terms_text": "credit stress: liquidity",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=BAC&region=US&lang=en-US",
        "stress_score": 18,
        "symbol": "BAC"
      },
      {
        "cut": {
          "caution_score_text": "48 / 100",
          "group": "caution",
          "label": "Could get headline relief from lower rates",
          "reason": "BRK.B scores 48/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "43 / 100"
        },
        "cut_caution_score": 48,
        "cut_group": "caution",
        "cut_relief_score": 43,
        "headline_count": 12,
        "hike": {
          "label": "High headline pressure into a hike",
          "reason": "BRK.B scores 75/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "75 / 100"
        },
        "hike_group": "risk",
        "hike_score": 75,
        "matched_terms_text": "credit stress: bankruptcy",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=BRK-B&region=US&lang=en-US",
        "stress_score": 48,
        "symbol": "BRK.B"
      },
      {
        "cut": {
          "caution_score_text": "24 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "CAT has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "24 / 100"
        },
        "cut_caution_score": 24,
        "cut_group": "quiet",
        "cut_relief_score": 24,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "CAT scores 23/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "23 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 23,
        "matched_terms_text": "credit stress: leverage",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=CAT&region=US&lang=en-US",
        "stress_score": 12,
        "symbol": "CAT"
      },
      {
        "cut": {
          "caution_score_text": "45 / 100",
          "group": "caution",
          "label": "Some company headline pressure",
          "reason": "CB scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 45,
        "cut_group": "caution",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "CB scores 13/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "13 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 13,
        "matched_terms_text": "earnings pressure: earnings miss",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=CB&region=US&lang=en-US",
        "stress_score": 18,
        "symbol": "CB"
      },
      {
        "cut": {
          "caution_score_text": "24 / 100",
          "group": "relief",
          "label": "Could get headline relief from lower rates",
          "reason": "CCL scores 36/100 relief because lower rates could ease credit or refinancing pressure for a rate-cut-sensitive company.",
          "relief_score_text": "36 / 100"
        },
        "cut_caution_score": 24,
        "cut_group": "relief",
        "cut_relief_score": 36,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "CCL scores 40/100 because headlines show credit/debt language; it is in the not a direct hike bucket.",
          "score_text": "40 / 100"
        },
        "hike_group": "watch",
        "hike_score": 40,
        "matched_terms_text": "credit stress: downgrade",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=CCL&region=US&lang=en-US",
        "stress_score": 24,
        "symbol": "CCL"
      },
      {
        "cut": {
          "caution_score_text": "24 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "COP has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "19 / 100"
        },
        "cut_caution_score": 24,
        "cut_group": "quiet",
        "cut_relief_score": 19,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "COP scores 35/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "35 / 100"
        },
        "hike_group": "watch",
        "hike_score": 35,
        "matched_terms_text": "credit stress: downgrade",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=COP&region=US&lang=en-US",
        "stress_score": 24,
        "symbol": "COP"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "COST has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "5 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 5,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "COST scores 40/100 because headlines show margin or cost pressure; it is in the not a direct hike bucket.",
          "score_text": "40 / 100"
        },
        "hike_group": "watch",
        "hike_score": 40,
        "matched_terms_text": "margin cost pressure: margin pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=COST&region=US&lang=en-US",
        "stress_score": 30,
        "symbol": "COST"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "CVX has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "3 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 3,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "CVX scores 3/100 because headlines show margin or cost pressure; it is in the hike-helped bucket.",
          "score_text": "3 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 3,
        "matched_terms_text": "margin cost pressure: cost pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=CVX&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "CVX"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "DAL has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "DAL scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DAL&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "DAL"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "DE has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "DE scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "Positive offset terms: raised guidance",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DE&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "DE"
      },
      {
        "cut": {
          "caution_score_text": "45 / 100",
          "group": "caution",
          "label": "Some company headline pressure",
          "reason": "DHI scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "22 / 100"
        },
        "cut_caution_score": 45,
        "cut_group": "caution",
        "cut_relief_score": 22,
        "headline_count": 12,
        "hike": {
          "label": "High headline pressure into a hike",
          "reason": "DHI scores 80/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
          "score_text": "80 / 100"
        },
        "hike_group": "risk",
        "hike_score": 80,
        "matched_terms_text": "earnings pressure: earnings miss; margin cost pressure: margin pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DHI&region=US&lang=en-US",
        "stress_score": 60,
        "symbol": "DHI"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "DUK has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "DUK scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "Positive offset terms: beat estimates",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=DUK&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "DUK"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "ENPH has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "ENPH scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "Positive offset terms: beat estimates",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=ENPH&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "ENPH"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "EQIX has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "EQIX scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "Positive offset terms: raised guidance",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=EQIX&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "EQIX"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "GOOGL has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "6 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 6,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "GOOGL scores 19/100 because headlines show margin or cost pressure; it is in the hike-helped bucket.",
          "score_text": "19 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 19,
        "matched_terms_text": "margin cost pressure: inflation pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=GOOGL&region=US&lang=en-US",
        "stress_score": 18,
        "symbol": "GOOGL"
      },
      {
        "cut": {
          "caution_score_text": "12 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "GS has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 12,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "GS scores 15/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "15 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 15,
        "matched_terms_text": "credit stress: debt",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=GS&region=US&lang=en-US",
        "stress_score": 12,
        "symbol": "GS"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "HD has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "HD scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=HD&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "HD"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "JPM has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "JPM scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=JPM&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "JPM"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "KO has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "KO scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=KO&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "KO"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "LEN has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "LEN scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=LEN&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "LEN"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "LOW has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "22 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 22,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "LOW scores 50/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
          "score_text": "50 / 100"
        },
        "hike_group": "risk",
        "hike_score": 50,
        "matched_terms_text": "margin cost pressure: margin pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=LOW&region=US&lang=en-US",
        "stress_score": 30,
        "symbol": "LOW"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "MMC has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 0,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "MMC scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MMC&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "MMC"
      },
      {
        "cut": {
          "caution_score_text": "66 / 100",
          "group": "caution",
          "label": "Company pressure may outweigh rate relief",
          "reason": "MS scores 66/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "66 / 100"
        },
        "cut_caution_score": 66,
        "cut_group": "caution",
        "cut_relief_score": 66,
        "headline_count": 12,
        "hike": {
          "label": "High headline pressure into a hike",
          "reason": "MS scores 100/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "100 / 100"
        },
        "hike_group": "risk",
        "hike_score": 100,
        "matched_terms_text": "credit stress: debt, default",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MS&region=US&lang=en-US",
        "stress_score": 66,
        "symbol": "MS"
      },
      {
        "cut": {
          "caution_score_text": "18 / 100",
          "group": "relief",
          "label": "Could get headline relief from lower rates",
          "reason": "MSFT scores 36/100 relief because lower rates could ease credit or refinancing pressure for a rate-cut-sensitive company.",
          "relief_score_text": "36 / 100"
        },
        "cut_caution_score": 18,
        "cut_group": "relief",
        "cut_relief_score": 36,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "MSFT scores 49/100 because headlines show credit/debt language, margin or cost pressure; it is in the hike-helped bucket.",
          "score_text": "49 / 100"
        },
        "hike_group": "risk",
        "hike_score": 49,
        "matched_terms_text": "credit stress: credit rating; margin cost pressure: inflation pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=MSFT&region=US&lang=en-US",
        "stress_score": 36,
        "symbol": "MSFT"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "NEE has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "NEE scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "Positive offset terms: beat estimates",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=NEE&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "NEE"
      },
      {
        "cut": {
          "caution_score_text": "24 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "NUE has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "19 / 100"
        },
        "cut_caution_score": 24,
        "cut_group": "quiet",
        "cut_relief_score": 19,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "NUE scores 35/100 because headlines show credit/debt language; it is in the hike-helped bucket.",
          "score_text": "35 / 100"
        },
        "hike_group": "watch",
        "hike_score": 35,
        "matched_terms_text": "credit stress: downgrade",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=NUE&region=US&lang=en-US",
        "stress_score": 24,
        "symbol": "NUE"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "NVDA has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "NVDA scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=NVDA&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "NVDA"
      },
      {
        "cut": {
          "caution_score_text": "20 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "O has a quiet cut-read because headlines show demand pressure.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 20,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "O scores 40/100 because headlines show demand weakness; it is in the rate-sensitive pressure bucket.",
          "score_text": "40 / 100"
        },
        "hike_group": "watch",
        "hike_score": 40,
        "matched_terms_text": "demand weakness: recession",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=O&region=US&lang=en-US",
        "stress_score": 30,
        "symbol": "O"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "PEP has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "PEP scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PEP&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "PEP"
      },
      {
        "cut": {
          "caution_score_text": "45 / 100",
          "group": "caution",
          "label": "Some company headline pressure",
          "reason": "PG scores 45/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "5 / 100"
        },
        "cut_caution_score": 45,
        "cut_group": "caution",
        "cut_relief_score": 5,
        "headline_count": 12,
        "hike": {
          "label": "High headline pressure into a hike",
          "reason": "PG scores 70/100 because headlines show margin or cost pressure; it is in the not a direct hike bucket.",
          "score_text": "70 / 100"
        },
        "hike_group": "risk",
        "hike_score": 70,
        "matched_terms_text": "earnings pressure: weak guidance; margin cost pressure: margin pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PG&region=US&lang=en-US",
        "stress_score": 60,
        "symbol": "PG"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "PHM has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "PHM scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PHM&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "PHM"
      },
      {
        "cut": {
          "caution_score_text": "100 / 100",
          "group": "caution",
          "label": "Company pressure may outweigh rate relief",
          "reason": "PLD scores 100/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 100,
        "cut_group": "caution",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "PLD scores 58/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "58 / 100"
        },
        "hike_group": "risk",
        "hike_score": 58,
        "matched_terms_text": "capital return risk: capital raise",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=PLD&region=US&lang=en-US",
        "stress_score": 48,
        "symbol": "PLD"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "RCL has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "RCL scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "Positive offset terms: beat estimates",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=RCL&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "RCL"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "SCHW has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "SCHW scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=SCHW&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "SCHW"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "SHOP has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "SHOP scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=SHOP&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "SHOP"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "SLB has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "5 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 5,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "SLB scores 35/100 because headlines show margin or cost pressure; it is in the hike-helped bucket.",
          "score_text": "35 / 100"
        },
        "hike_group": "watch",
        "hike_score": 35,
        "matched_terms_text": "margin cost pressure: margin pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=SLB&region=US&lang=en-US",
        "stress_score": 30,
        "symbol": "SLB"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "SNOW has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "SNOW scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=SNOW&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "SNOW"
      },
      {
        "cut": {
          "caution_score_text": "12 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "SO has a quiet cut-read because headlines show credit pressure.",
          "relief_score_text": "24 / 100"
        },
        "cut_caution_score": 12,
        "cut_group": "quiet",
        "cut_relief_score": 24,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "SO scores 18/100 because headlines show credit/debt language; it is in the rate-sensitive pressure bucket.",
          "score_text": "18 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 18,
        "matched_terms_text": "credit stress: debt",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=SO&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "SO"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "SPG has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "SPG scores 10/100 because headlines show no major stress keywords; it is in the rate-sensitive pressure bucket.",
          "score_text": "10 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 10,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=SPG&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "SPG"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "TOL has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "22 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 22,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "TOL scores 38/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
          "score_text": "38 / 100"
        },
        "hike_group": "watch",
        "hike_score": 38,
        "matched_terms_text": "margin cost pressure: margins shrink",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=TOL&region=US&lang=en-US",
        "stress_score": 18,
        "symbol": "TOL"
      },
      {
        "cut": {
          "caution_score_text": "95 / 100",
          "group": "caution",
          "label": "Company pressure may outweigh rate relief",
          "reason": "TRV scores 95/100 caution because headlines point to demand, earnings, or credit pressure that lower rates may not offset right away.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 95,
        "cut_group": "caution",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Some headline pressure into a hike",
          "reason": "TRV scores 55/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "55 / 100"
        },
        "hike_group": "risk",
        "hike_score": 55,
        "matched_terms_text": "capital return risk: capital raise; earnings pressure: earnings miss",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=TRV&region=US&lang=en-US",
        "stress_score": 60,
        "symbol": "TRV"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "TSLA has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "18 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 18,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "TSLA scores 34/100 because headlines show margin or cost pressure; it is in the rate-sensitive pressure bucket.",
          "score_text": "34 / 100"
        },
        "hike_group": "watch",
        "hike_score": 34,
        "matched_terms_text": "margin cost pressure: inflation pressure",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=TSLA&region=US&lang=en-US",
        "stress_score": 18,
        "symbol": "TSLA"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "UAL has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "12 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 12,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "UAL scores 0/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=UAL&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "UAL"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "WFC has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "WFC scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=WFC&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "WFC"
      },
      {
        "cut": {
          "caution_score_text": "24 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "WMT has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 24,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "High headline pressure into a hike",
          "reason": "WMT scores 72/100 because headlines show no major stress keywords; it is in the not a direct hike bucket.",
          "score_text": "72 / 100"
        },
        "hike_group": "risk",
        "hike_score": 72,
        "matched_terms_text": "restructuring: restructuring",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=WMT&region=US&lang=en-US",
        "stress_score": 72,
        "symbol": "WMT"
      },
      {
        "cut": {
          "caution_score_text": "0 / 100",
          "group": "quiet",
          "label": "Quiet headline read into a cut",
          "reason": "XOM has a quiet cut-read because headlines show no major stress keywords.",
          "relief_score_text": "0 / 100"
        },
        "cut_caution_score": 0,
        "cut_group": "quiet",
        "cut_relief_score": 0,
        "headline_count": 12,
        "hike": {
          "label": "Quiet headline pressure into a hike",
          "reason": "XOM scores 0/100 because headlines show no major stress keywords; it is in the hike-helped bucket.",
          "score_text": "0 / 100"
        },
        "hike_group": "quiet",
        "hike_score": 0,
        "matched_terms_text": "No strong stress keywords found.",
        "source_name": "Yahoo Finance headlines",
        "source_url": "https://feeds.finance.yahoo.com/rss/2.0/headline?s=XOM&region=US&lang=en-US",
        "stress_score": 0,
        "symbol": "XOM"
      }
    ],
    "unavailable_symbols": []
  },
  "prediction": {
    "created_at": "2026-05-13T13:43:24Z",
    "data_freshness": {
      "freshness": {
        "core_cpi": "2026-04-01",
        "cpi_all": "2026-04-01",
        "earnings": "2026-04-01",
        "payrolls": "2026-04-01",
        "unemployment": "2026-04-01"
      },
      "warnings": []
    },
    "data_freshness_json": "{\"freshness\":{\"core_cpi\":\"2026-04-01\",\"cpi_all\":\"2026-04-01\",\"earnings\":\"2026-04-01\",\"payrolls\":\"2026-04-01\",\"unemployment\":\"2026-04-01\"},\"warnings\":[]}",
    "feature_snapshot_id": "df29a5988cf9eb35993a753e",
    "hold_probability_pct": 96.0,
    "leading_outcome": "Hold",
    "lower_probability_pct": 2.0,
    "model_id": null,
    "model_mode": "RULES_ONLY",
    "model_version": "rules_v1",
    "prediction_id": "e7fd4de57e9348568c869d1e9a12b2e5",
    "raise_probability_pct": 2.0,
    "reasons": [
      "Inflation is elevated but not extreme, which supports a hold-heavy outcome."
    ],
    "reasons_json": "[\"Inflation is elevated but not extreme, which supports a hold-heavy outcome.\"]",
    "target_meeting_date": "2026-06-17",
    "target_meeting_label": "June 16-17*, 2026"
  },
  "quality": [],
  "static_fingerprint": "6931df2c85b29490d1ef2db73e009c867ce34c75745af42e038db47c14c40d67",
  "static_schema_version": 1,
  "status": "ok"
}
