Are Power Stocks Becoming an AI Infrastructure Trade? Momentum Screening in Python
June 17, 2026
What's the question?
Artificial intelligence is changing the demand story for power. Data centers require electricity, grid interconnection, backup generation, cooling, transformers, and large-scale engineering work. The investment question is whether the market is treating this as one broad power trade or separating the winners from the rest of the utility and infrastructure universe.
Momentum is the tendency for recent winners to keep outperforming over a short to medium horizon. It is useful here because AI-related infrastructure demand is partly an expectations trade. If investors are repricing companies exposed to grid expansion and data-center power demand, the effect should appear in relative returns before it appears fully in reported financial statements.
The question is practical: which power and electrification stocks are actually carrying the AI infrastructure narrative, and which are not?
The approach
The universe is CEG, VST, NRG, ETN, PWR, GEV, NEE, SO, DUK, and AEP. It includes power producers, regulated utilities, electrical equipment, and engineering firms. Built from SEC EDGAR public filings and market data, the screen combines one year of daily returns with latest trailing-twelve-month fundamentals.
- Pull one year of daily adjusted prices
- Calculate one-year return, annualized volatility, and maximum drawdown
- Pull latest revenue growth, P/E ratio, and market capitalization
- Rank companies by one-year return
- Compare price momentum with revenue growth and valuation
Maximum drawdown is the largest peak-to-trough loss over the sample. It matters because several power-linked stocks have high narrative exposure and high volatility at the same time.
Code
import xfinlink as xfl
import pandas as pd
import numpy as np
xfl.set_api_key("YOUR_API_KEY") # free at https://xfinlink.com/signup
tickers = ["CEG", "VST", "NRG", "ETN", "PWR", "GEV", "NEE", "SO", "DUK", "AEP"]
prices = xfl.prices(tickers, period="1y", fields=["adj_close", "return_daily"])
pivot = prices.pivot_table(index="date", columns="ticker", values="adj_close").dropna()
returns = pivot.pct_change().dropna()
metrics = xfl.metrics(tickers, period_type="ttm", fields=["market_cap", "revenue_growth", "pe_ratio"])
latest = metrics.sort_values("period_end").groupby("ticker").tail(1).set_index("ticker")
rows = []
for ticker in tickers:
price = pivot[ticker]
rows.append({
"ticker": ticker,
"return_1y": price.iloc[-1] / price.iloc[0] - 1,
"volatility": returns[ticker].std() * np.sqrt(252),
"max_drawdown": (price / price.cummax() - 1).min(),
"revenue_growth": latest.loc[ticker, "revenue_growth"],
"pe_ratio": latest.loc[ticker, "pe_ratio"],
})
print(pd.DataFrame(rows).sort_values("return_1y", ascending=False))
Full script with formatting and visualisation: ai-power-infrastructure-momentum-python.py
Output
=== AI Power Infrastructure Momentum Screen ===
Universe: 10 power, grid, and electrification stocks
Sample: 2025-06-17 to 2026-06-16 (251 trading days)
Top 1-year return: GEV +101.0%
Median 1-year return: +14.9%
Median revenue growth: +10.6%
Ticker ranking:
GEV return=+101.0% vol=49.4% max_drawdown=-24.6% rev_growth=10.3% PE= 28.7 market_cap=$264.0B
PWR return=+100.6% vol=37.3% max_drawdown=-17.1% rev_growth=21.1% PE= 98.7 market_cap=$107.9B
AEP return=+27.7% vol=18.3% max_drawdown= -9.7% rev_growth= 7.2% PE= 19.2 market_cap=$70.6B
ETN return=+23.4% vol=33.4% max_drawdown=-19.6% rev_growth=12.7% PE= 39.9 market_cap=$158.3B
NEE return=+20.0% vol=23.6% max_drawdown=-14.5% rev_growth= 7.5% PE= 21.9 market_cap=$179.8B
DUK return= +9.8% vol=14.8% max_drawdown=-11.6% rev_growth= 5.8% PE= 19.3 market_cap=$98.1B
SO return= +6.7% vol=16.2% max_drawdown=-15.7% rev_growth= 8.3% PE= 24.1 market_cap=$106.3B
VST return=-10.8% vol=49.0% max_drawdown=-38.2% rev_growth=15.7% PE= 26.5 market_cap=$53.6B
CEG return=-12.3% vol=46.8% max_drawdown=-40.0% rev_growth=21.6% PE= 23.3 market_cap=$97.0B
NRG return=-13.1% vol=45.2% max_drawdown=-34.4% rev_growth=10.9% PE= 143.6 market_cap=$28.1B
What this tells us
The AI power trade is not moving as a single block. GEV and PWR both doubled over the last year, while VST, CEG, and NRG fell despite double-digit revenue growth. The strongest returns are in electrification equipment and infrastructure services, not in every company associated with power generation.
The risk profile is also uneven. GEV returned 101.0% but had 49.4% annualized volatility and a 24.6% drawdown. PWR returned 100.6% with lower volatility and a smaller drawdown. The regulated utilities are steadier: AEP, DUK, SO, and NEE show lower volatility and smaller drawdowns, but their returns are also lower.
Revenue growth alone does not explain the ranking. CEG has the highest revenue growth in the group at 21.6%, yet it has a negative one-year return. PWR has similar revenue growth and a strongly positive return. The market is assigning different value to different links in the AI infrastructure chain.
So what?
AI power exposure should be decomposed before it is added to a portfolio. Equipment manufacturers, engineering firms, regulated utilities, and merchant power producers carry different growth, valuation, and drawdown profiles. Treating them as one theme hides the actual risk.
The practical screen is simple: combine momentum with revenue growth and valuation. A stock with strong momentum and improving fundamentals deserves further research. A stock with strong fundamentals but weak momentum may still be early, but it requires a different entry discipline. The AI infrastructure trade is real, but the market is already separating the supply chain.
Built with xfinlink — free financial data API for Python. pip install xfinlink
pip install xfinlink