XEL
Daily closes · 1Y (252 sessions) · +8.6% · range 71.75–83.91
The Businesswhat the company reports
Business & cash flow
| FCF / assets | -8.4% |
|---|---|
| OCF / assets | 5.0% |
| FCF / revenue | 27.8% |
| Gross margin | 46.8% |
| ROIC | 4.2% |
| Forward P/E | 17.3 |
FCF/assets and OCF/assets are the cash-flow measures Brown Bear's own testing found to survive; FCF/revenue is shown alongside for context. Assets are from the latest annual filing (FY2025).
Price vs Earnings growth
Forward EPS growth has outpaced trailing price return by +14.4pp
Confidence 95.0/100
Drivers
| Forward EPS growth | +23.0% |
|---|---|
| Trailing price return (1y) | +8.6% |
| Forward P/E compression | +18.7% |
Figures
| Trailing EPS | 3.69 |
|---|---|
| Forward EPS | 4.54 |
| Trailing P/E | 21.30 |
| Forward P/E | 17.32 |
Revisions
Stable (+0.1%, 10 dates)
Takeaway Earnings growth is outpacing price — consistent with the stock not yet fully reflecting its improving forward estimates.
Reported earnings
Revenue Net incomeEPS (GAAP) (0.37–1.01, own scale) Derived Q4
12 quarters to Q3 19. Revenue and net income share one scale, so the gap between them is the margin. The line is GAAP EPS — it spans every quarter shown, where the reported figure only goes back as far as the consensus feed does.
| Quarter ending | Revenue | YoY | Net income | EPS (GAAP) | Filed |
|---|---|---|---|---|---|
| 2019-09-30 | 3.01bn | -1.1% | 527.00m | 1.01 | 2019-10-25 |
| 2019-06-30 | 2.58bn | +1.3% | 238.00m | 0.46 | 2019-08-01 |
| 2019-03-31 | 3.14bn | +11.2% | 315.00m | 0.61 | 2019-04-26 |
| 2018-12-31 (derived) | 3.12bn | +11.6% | 214.00m | 0.42 | 2019-02-22 |
| 2018-09-30 | 3.05bn | +1.0% | 491.00m | 0.96 | 2018-10-26 |
| 2018-06-30 | 2.54bn | -3.8% | 265.00m | 0.52 | 2018-07-27 |
| 2018-03-31 | 2.82bn | -4.2% | 291.00m | 0.57 | 2018-04-27 |
| 2017-12-31 (derived) | 2.80bn | +0.0% | 189.33m | 0.37 | 2018-02-23 |
| 2017-09-30 | 3.02bn | — | 492.14m | 0.97 | 2017-10-27 |
| 2017-06-30 | 2.64bn | — | 227.26m | 0.45 | 2017-07-28 |
| 2017-03-31 | 2.95bn | — | 239.28m | 0.47 | 2017-04-28 |
| 2016-12-31 (derived) | 2.79bn | — | 227.48m | 0.45 | 2017-02-24 |
Share count
Diluted shares Return since the previous filing
| Direction | Growing — shares issued |
|---|---|
| Diluted shares | 626.0M as at 2026-03-31 |
| Change over 1 year | +12.6% |
| Change over 3 years | +18.8% |
| Public float | $40.26bn as at 2025-06-30 (10-K) |
The Pricewhat the chart is doingTop ↑
Price Levels
| Strategy | At Support Zone |
|---|---|
| Reference band | 75.94 — 78.24 |
| Protective stop | 72.81 (Atr, 5.5% risk) |
| Support | 76.71 (8 touches, 2.5% away) |
| Resistance | 80.06 (1.9% away) |
Takeaway The shares are nearer the ceiling than the floor: about 1.9% below 80.06, where sellers have turned up before, and 2.5% above 76.71, where buyers have stepped in before. That floor has held 8 times, which is how it was spotted. If someone bought at today's price and sold if it dropped through the level below, they would be about 5.5% out of pocket. That is all this figure means — an illustration of the risk, not a price to sell at.
Levels are computed from price structure. They describe where the engine locates support and extension — they are not targets, and not advice.
Ichimoku Cloud (Adaptive)
| Daily cloud | Price INSIDE the cloud | periods 5/16/31 (60% of classic 9/26/52) |
|---|---|
| Lines | Tenkan/Kijun BEAR | cloud twist BEAR |
| Cloud thickness | 54% percentile |
| Chikou span | Not clear of price from 26 periods ago |
| Weekly cloud | Price INSIDE the weekly cloud (context only, not scored) |
Takeaway The stock is trading inside its cloud — a shaded band drawn from several of its own moving averages, currently 78.43 to 79.39. Inside the band those averages disagree with each other, so the indicator is not saying much either way. Its shorter-term averages agree with that.
Trailing returns
| 21 days | -2.0% |
|---|---|
| 63 days | -1.6% |
| 126 days | +1.4% |
| 252 days | +8.1% |
| Below 252d high | 6.3% |
Trend context
| Position | At trend |
|---|---|
| Extension | Normal |
| Trend slope | Flat |
| Direction of travel | Holding its deviation |
Takeaway The share price is close to the level its own longer-run trend suggests is fair, and that fair level is going sideways. The gap between the two has been fairly steady. Neither is stretched far enough to stand out.
Volatility
| State | In a squeeze |
|---|---|
| Current band width | 7.0% of price |
| Recent tightest | 4.9% (8 sessions ago, narrower than 98.0% of its history) |
| Expansion since | 1.43× |
| Band | 76.04 — 81.54 |
Takeaway Lately this share price has been swinging around inside a range roughly 7% wide, and it recently went unusually quiet — calmer than it has been 98% of the time. When a stock goes quiet like this, its next move tends to look big by comparison. But quiet says nothing about which way it will go: Brown Bear tested calm-before-a-move as a reason to buy, and it did not work.
Historical trends
History begins when the site started recording, not when the company listed, so a short line means a short record and nothing more.
Repair Pathway
- Nearest Trigger MACD histogram above zero 0.09 gap is improving · Broadly stable
- Trigger 2 MACD bullish crossover line/signal spread gap is improving · Broadly stable
- Trigger 3 EMA50 reclaim +0.7% gap is improving · Broadly stable
- Trigger 4 Volume confirmation above 1.2x +0.20x volume confirmation would improve confidence in the pathway · Broadly stable
- Trigger 5 RSI recovery above 45 +6.1 pts gap is improving · Deteriorating
Who's Tradingthe flow behind the priceTop ↑
Insider activity
| Activity | No filings in the window |
|---|---|
| Buy filings | 0 |
| Sell filings | 0 |
Open-market Form 4 purchases and sales over the last 75 days, read from SEC EDGAR Form 4. Grants, option exercises, gifts and shares withheld for tax are excluded — they are compensation mechanics, not a decision to buy or sell. Reported Form 4 activity. Brown Bear tested insider cluster-buying as a return signal and rejected it as era-unstable; shown as fact, not signal.
Volume confirmation
| Volume-price trend | Below its signal line |
|---|---|
| Confirmation | Strong |
No absorption or distribution event in the recent window.
Takeaway The heaviest trading has been happening on days when the price falls: when large numbers of shares change hands, the price has tended to go down rather than up. That tells you where the weight of trading has been. It does not tell you what happens next, and it is not a signal to sell.
Options Positioning
no listed options chain
Context & Methodthe record, and how it was builtTop ↑
Relative Rotation
Mixed Rotation Phase
Rotation health 51.5/100; Mixed Rotation.
| Rotation health | 51.5 |
|---|---|
| Rotation strength | 79.0 |
| Leg | Quadrant | RS-Ratio | RS-Mom |
|---|---|---|---|
| Stock vs sector | Leading | 124.9 | 114.1 |
| Stock vs SPY | Lagging | 81.7 | 95.2 |
| Sector vs SPY | Lagging | 79.5 | 94.2 |
Direction of travel: North-East / strengthening leadership
Position only. Brown Bear's RRG redesign programme is closed — five constructions, none beat an appropriate null — so this section describes where the name sits, and is not a signal.
News Headlines
- Loading headlines\u2026
Headlines are supplied by third-party feeds and are not written, ranked or interpreted by Brown Bear. They feed no score on this page.
Detailed Scoring
Positive signals
- Piotroski F-score 5/9 (+10.0)
- Gross margin quality: 46.8% (+9.8)
- FCF margin quality: 27.8% (+18.6)
- FCF margin improving by -6.7 pts (+-3.0)
- High earnings quality (accrual ratio -0.025) (+2.0)
- Track 1: MACD histogram state (-0.09) (+3.0)
- Track 1: relative strength trend improving (+5.0)
- Track 1: EMA20 reclaim distance 0.1% (+7.9)
- Track 1: MACD histogram acceleration 0.23 (+4.0)
- Track 1: RSI recovery 38.9, 5-day change +4.5 (+3.6)
- Track 1: EMA50 support proximity 0.7% (+4.5)
- Track 1: EMA200 support proximity 0.6% (+6.6)
- Track 1: Bollinger position 0.47 (+4.3)
- Regime convergence: SUPPORT_RESISTANCE_BOUNCE confidence 73.7/100 (EMERGING) (+14.7)
Negative signals
- Track 1: weak volume confirmation (0.65x average)
- Track 1: bearish DI spread (-10.2)
- Track 1: weak/falling ADX (14.8, flat)
- Track 1: EMA20 slope deteriorating -0.7%
- Track 1: weak MACD line/signal structure (-5.0)
- Track 1: MACD slope deteriorating (-3.0)
- Track 1: weak VPT confirmation (-0.58)
- Track 1: price below EMA50 by 0.7%
- Track 1: EMA50 slope deteriorating -0.9%
- Below-average Altman Z-score (1.99)
- ROIC improving by -0.1 pts (+-5.0)
Chase risk is not elevated for this name, so extension penalties are omitted from the negative signals above.