{
  "report_id": "theme_power_scarcity_node_utilities_grid_recovery",
  "report_type": "theme_value_chain_node",
  "site_path": "themes/power-scarcity-and-grid-load/nodes/utilities-and-grid-recovery/index.html",
  "title": "Utilities And Grid Recovery",
  "as_of": "2026-07-02",
  "generated_at": "2026-07-04T00:00:00-07:00",
  "freshness": {
    "price_data_as_of": "2026-07-02",
    "daily_ohlc_latest": "2026-07-02",
    "chart_interval": "weekly",
    "knowledge_reviewed_as_of": "2026-07-04",
    "active_common_stocks": 5274,
    "filtered_coverage_count": 5008
  },
  "revision": {
    "version": 8,
    "updated_label": "Paper-led rerank from 1GT and SemiAnalysis grid constraints research",
    "metadata_path": "themes/power-scarcity-and-grid-load/nodes/utilities-and-grid-recovery/report.json",
    "curation_source": "themes/power-scarcity-and-grid-load/nodes/node-data.json"
  },
  "node": {
    "slug": "utilities-and-grid-recovery",
    "order": 4,
    "level": "L3 regulated recovery node",
    "role": "Turns large-load growth into regulated generation, transmission, distribution, resiliency, and customer-funded infrastructure.",
    "description": "Here, electric utilities are regulated local power companies that own the wires, substations, power plants, and customer connections needed to serve homes, businesses, factories, and data centers in a service territory. This page covers the utilities that could benefit from new data-center and industrial load, but only if grid cost recovery works: state regulators must approve who pays for the new generation, transmission, distribution, resiliency, and connection spending; the utility then collects those costs through customer bills, large-customer payments, or special tariffs and earns a regulated profit rate on approved investment. The current basket read is that AEP has the clearest contracted-load evidence; ETR, SO, EXC, and DUK still need regulatory approvals, tariff detail, funding evidence, and technical confirmation before the setup is as clear."
  },
  "ticker_baskets": {
    "core": [
      "AEP",
      "CNP",
      "ETR",
      "SO",
      "WEC"
    ],
    "option": [
      "LNT",
      "D",
      "PCG"
    ],
    "watch": [
      "EXC",
      "DUK",
      "NEE",
      "PEG"
    ]
  },
  "demand_origin_refs": [
    "MSFT",
    "AMZN",
    "GOOGL",
    "META",
    "ORCL"
  ],
  "chart_artifacts": [
    {
      "chart_id": "chart-aep",
      "ticker": "AEP",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/AEP/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-cnp",
      "ticker": "CNP",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/CNP/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-etr",
      "ticker": "ETR",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/ETR/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-so",
      "ticker": "SO",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/SO/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-wec",
      "ticker": "WEC",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/WEC/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-lnt",
      "ticker": "LNT",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/LNT/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-d",
      "ticker": "D",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/D/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-pcg",
      "ticker": "PCG",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/PCG/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-exc",
      "ticker": "EXC",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/EXC/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-duk",
      "ticker": "DUK",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/DUK/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-nee",
      "ticker": "NEE",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/NEE/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    },
    {
      "chart_id": "chart-peg",
      "ticker": "PEG",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "100w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-07-02",
      "visible_years": 3,
      "visible_start_date": "2023-07-02",
      "visible_end_date": "2026-07-02",
      "rendering": "report_api_right_rail",
      "fallback_table": false,
      "api_route": "/api/securities/PEG/chart?frequency=weekly&window=3y&as_of=latest",
      "static_setup_source_as_of": "no refreshed static setup row; added in paper-led rerank"
    }
  ],
  "links_out": [
    "theme_power_scarcity_and_grid_load",
    "theme_power_scarcity_node_new_power_demand",
    "theme_power_scarcity_node_merchant_power_capacity_markets",
    "theme_power_scarcity_node_electrical_equipment_bottlenecks",
    "theme_power_scarcity_node_grid_delivery_services",
    "theme_power_scarcity_node_power_ready_campuses",
    "theme_power_scarcity_node_fuel_inputs",
    "theme_power_scarcity_node_cooling_backup_power_quality"
  ],
  "knowledge_sources": [
    "../../../../../knowledge/wiki/concepts/themes/power-scarcity-and-grid-load.md",
    "../../../../../knowledge/wiki/lanes/sector/utilities.md",
    "../../../../../knowledge/wiki/concepts/themes/ai-capex-cycle.md",
    "../../../../../knowledge/wiki/concepts/themes/funding-dependency-and-duration-tolerance.md",
    "../../../../../knowledge/wiki/concepts/themes/energy-input-cost-pass-through.md",
    "../../../../../knowledge/wiki/lanes/security/aep.md",
    "../../../../../knowledge/wiki/lanes/security/etr.md",
    "../../../../../knowledge/wiki/lanes/security/so.md",
    "../../../../../knowledge/wiki/lanes/security/exc.md",
    "../../../../../knowledge/wiki/lanes/security/duk.md",
    "../../../../../knowledge/wiki/lanes/security/cnp.md",
    "../../../../../knowledge/wiki/lanes/security/wec.md",
    "../../../../../knowledge/wiki/lanes/security/lnt.md",
    "../../../../../knowledge/wiki/lanes/security/d.md",
    "../../../../../knowledge/wiki/lanes/security/pcg.md",
    "../../../../../knowledge/wiki/lanes/security/nee.md",
    "../../../../../knowledge/wiki/lanes/security/peg.md"
  ],
  "external_sources": [
    {
      "label": "Nasdaq AEP earnings-date API",
      "url": "https://api.nasdaq.com/api/analyst/AEP/earnings-date",
      "checked_on": "2026-06-13",
      "use": "algorithmic next-earnings estimate"
    },
    {
      "label": "Nasdaq ETR earnings-date API",
      "url": "https://api.nasdaq.com/api/analyst/ETR/earnings-date",
      "checked_on": "2026-06-13",
      "use": "algorithmic next-earnings estimate"
    },
    {
      "label": "Nasdaq SO earnings-date API",
      "url": "https://api.nasdaq.com/api/analyst/SO/earnings-date",
      "checked_on": "2026-06-13",
      "use": "algorithmic next-earnings estimate"
    },
    {
      "label": "Nasdaq EXC earnings-date API",
      "url": "https://api.nasdaq.com/api/analyst/EXC/earnings-date",
      "checked_on": "2026-06-13",
      "use": "algorithmic next-earnings estimate"
    },
    {
      "label": "Nasdaq DUK earnings-date API",
      "url": "https://api.nasdaq.com/api/analyst/DUK/earnings-date",
      "checked_on": "2026-06-13",
      "use": "algorithmic next-earnings estimate"
    },
    "../../../../papers/power-grid/article_power-grid-upgrades.md",
    "../../../../papers/power-grid/US Grid Constraints_ Towards 40GW+ of Behind-The-Meter Datacenter by 2028_.md"
  ],
  "discovery_sources": [
    {
      "kind": "duckdb_readonly_query",
      "label": "Utilities And Grid Recovery weekly OHLC and EMA chart inputs",
      "query_ref": "discovery:duckdb:daily_ohlc_weekly_aggregation_20w_100w_ema:utilities-and-grid-recovery:2026-05-22"
    }
  ]
}
