FIX

Comfort Systems Usa Inc Industrials Electrical Work S&P 500Russell 3000
$1,232.66Close $43.4BMarket cap $874.94 – $2,065.4452-week range Jan 21, 2027Next report · estimated

Highlights

Strengths

  • Earnings growing EPS +69% year on year

Cautions

  • Not in an uptrend 3 of 8 trend conditions
  • Lagging the market RS 23 · weaker than 77% of stocks over 12 months
  • Far from its high 40% below its 52-week high

Price

Filing Results Screen pick 52-week high and low Adjusted prices

Key figures

FY to Dec 31, 2025 · filed Oct 22, 2026
Off 12-month high 40%
1wk up 6.2% price change
1mo down 25.5% price change
12-month return up 28% market up 11% · its own up 11%
F-score 7 / 9 Strong
Altman Z″ 2.90 Low risk
P/E 42.4× price / earnings
PEG 0.43 P/E / EPS growth
P/B 17.7× price / book
Earnings yield up 0.5% EBIT / enterprise value
Cheaper than 25% of the market · expensive
Revenue growth down 74% year on year
EPS growth up 69% latest quarter · -23 pts
Sales growth up 54% latest quarter · +3 pts
ROE up 49% return on equity
Free cash margin up 56% $1.0B FCF
D/E 0.06 long-term debt / equity
Net debt / EBITDA -3.1× net cash
Interest cover 23.2×EBIT / interest
Piotroski tests
  • took on more long-term debt
  • assets working less efficiently
  • profitable on its assets
  • generating cash from operations
  • profitability improving
  • profits backed by cash
  • short-term liquidity improved
  • no new shares issued
  • gross margin widened

Repair signals

  • Gross margin 21.0% → 22.0%

Trade setup

ATR% 7.0% $86.77 a day · 2×ATR $1,059.11
RS 23 / 99 vs the universe
Trend 3 / 8 trend template
Relative volume 1.8× vs 50-day average
Up/down volume 0.73 50 sessions
Implied move — no scheduled report
Trend template · 3 of 8
  • Price above the 150 and 200-day averages: fails
  • 150-day average above the 200-day: passes
  • 200-day average rising for a month: passes
  • 50-day average above the 150 and 200-day: fails
  • Price above the 50-day average: fails
  • At least 30% above the 52-week low: passes
  • Within 25% of the 52-week high: fails
  • RS rank 70 or higher: fails

Screen verdict

Did not qualify for any screen.

Warning signs

1 flagged
  • Revenue shrinking Revenue fell 73.9% over the year, from $7.0B to $1.8B.
Last reported Oct 22, 2026
Results reaction Oct 22, 2026-15% vs market2 sessions after results
Options $13.2M61.0% IV · activity

Financials

6 fiscal years · from filings
Revenue What customers paid the company over its fiscal year, before any cost, as filed in its annual report. The change is against the year before. Methodology $1.8B -74% on FY2024
$0 $10B FY20 FY21 FY22 FY23 FY24 FY25 FY2020 · $2.9B FY2021 · $3.1B FY2022 · $4.1B FY2023 · $5.2B FY2024 · $7.0B FY2025 · $1.8B
Net income Profit left after every cost, interest and tax for the year. A column below the line is a loss. Methodology $1.0B +96% on FY2024
$0 $2B FY20 FY21 FY22 FY23 FY24 FY25 FY2020 · $150.1M FY2021 · $143.3M FY2022 · $245.9M FY2023 · $323.4M FY2024 · $522.4M FY2025 · $1.0B
Free cash flow Cash from running the business less what it spent on equipment and buildings: the cash a year actually left behind, which profit alone does not show. Not shown for banks and insurers, whose cash moves with their loans. Methodology $1.0B +40% on FY2024
$0 $2B FY20 FY21 FY22 FY23 FY24 FY25 FY2020 · $262.4M FY2021 · $157.8M FY2022 · $253.2M FY2023 · $544.7M FY2024 · $738.0M FY2025 · $1.0B
Margins Each as a share of revenue. Gross: left after the direct cost of what was sold. Net: left after every cost. Free cash: free cash flow over revenue. A margin rising over years means the business keeps more of each dollar it sells. Methodology
  • Gross 22%
  • Net 56%
  • Free cash 56%
0% 100% FY20 FY21 FY22 FY23 FY24 FY25 FY2020 · Gross 19% · Net 5% · Free cash 9% FY2021 · Gross 18% · Net 5% · Free cash 5% FY2022 · Gross 18% · Net 6% · Free cash 6% FY2023 · Gross 19% · Net 6% · Free cash 10% FY2024 · Gross 21% · Net 7% · Free cash 11% FY2025 · Gross 22% · Net 56% · Free cash 56%
Cash and long-term debt Cash on the balance sheet at the year's end beside debt due after a year. Net cash is cash less that debt; net debt is the shortfall. Debt some filers do not tag shows as a gap, not as zero. Methodology $842.8M net cash
  • Cash
  • Long-term debt
$0 $1B FY20 FY21 FY22 FY23 FY24 FY25 FY2020 · Cash $54.9M · Long-term debt $235.7M FY2021 · Cash $58.8M · Long-term debt $385.2M FY2022 · Cash $57.2M · Long-term debt $247.2M FY2023 · Cash $205.2M · Long-term debt $39.3M FY2024 · Cash $549.9M · Long-term debt $62.3M FY2025 · Cash $981.9M · Long-term debt $139.1M
Shares outstanding Shares in issue at the year's end. A rising count means each share owns a smaller slice of the company (stock pay, share sales); a falling one, buybacks. The chart's scale is fitted to the count, so a small change looks large: read the percentage. Methodology 35.18m -2.8% since FY2020
36.19m 35.18m FY20 FY21 FY22 FY23 FY24 FY25 FY2020 · 36.19m FY2021 · 36.09m FY2022 · 35.76m FY2023 · 35.69m FY2024 · 35.56m FY2025 · 35.18m
  FY2020Dec 31, 2020 FY2021Dec 31, 2021 FY2022Dec 31, 2022 FY2023Dec 31, 2023 FY2024Dec 31, 2024 FY2025Dec 31, 2025
Revenue $2.9B $3.1B $4.1B $5.2B $7.0B $1.8B
Gross margin 19% 18% 18% 19% 21% 22%
Operating income $190.7M $188.4M $253.8M $418.4M $749.4M $209.1M
Net income $150.1M $143.3M $245.9M $323.4M $522.4M $1.0B
Net margin 5% 5% 6% 6% 7% 56%
Earnings per share $4.09 $3.93 $6.82 $9.01 $14.60 $28.88
Free cash flow $262.4M $157.8M $253.2M $544.7M $738.0M $1.0B
Free cash margin 9% 5% 6% 10% 11% 56%
Cash $54.9M $58.8M $57.2M $205.2M $549.9M $981.9M
Long-term debt $235.7M $385.2M $247.2M $39.3M $62.3M $139.1M
Shareholders' equity $696.4M $805.7M $999.9M $1.3B $1.7B $2.4B
Shares outstanding 36.19m 36.09m 35.76m 35.69m 35.56m 35.18m

What options price now

Expected 1-month range The at-the-money straddle for the expiry nearest a month out, as a share of the price: the move, either way, the option market is pricing by then. The range is the price plus and minus that move; the stock ends inside it a little more often than not. Methodology
$1,085 – $1,381 ±12.0% by Nov 20, 2026
Swings expected vs recent The daily swings the options are priced for (implied volatility) against the swings the stock actually had over the last 20 sessions (realised volatility). Bigger means options charge for more movement than the stock has been delivering; smaller, less. On a contract row, that contract's own implied volatility over the stock's realised. Methodology
Smaller 61.0% priced · 74.1% recent
Next month vs later At-the-money implied volatility for 8-45 day expiries over 46-90 day ones: whether options price the coming month as choppier or calmer than the two after it. Ahead of a report it usually reads choppier, and the extra comes out once the report is out. Methodology
Choppier
Crash protection What options that pay off in a fall cost against options that pay off in a rise (the 25-delta skew), compared with this company's own normal - the median of its stored nightly readings, once there are 20 - and with five sessions ago. Protection costs a little more than upside on most shares. More than usual means readers of the chain are paying up to insure against a drop; it does not say which way the stock will go. Methodology
past week: no change
Positioning
Premium traded
$13.2M calls $4.0M · puts $9.3M · latest session
Puts against calls, by premium Money spent on puts divided by money spent on calls. Measured in dollars rather than contracts on purpose: counting contracts treats a hundred cheap lottery tickets as more meaningful than one large position, which is backwards. Methodology
2.35× +0.83 over the week
Open interest added The change over five sessions in option positions left open overnight, calls and puts. A rise means positions were added. It cannot say whether they were bought or sold, so more calls is not a vote for a rise: a call is as often sold against shares already held. Methodology
calls +1.14k · puts +1.17k past week

For options traders: ATM IV 61.0% (-10.1% 1w) · 1m ÷ 3m IV 1.06 · 25Δ skew 6.3 pts · Net GEX -$4.6M

Most traded contracts

No contract passed the liquidity filters this week.

Filings

SEC EDGAR
FiledReportPeriod to Lag
Oct 22, 2026 Quarterly ↗ Sep 30, 2026 22d
Jul 23, 2026 Quarterly ↗ Jun 30, 2026 23d
Apr 23, 2026 Quarterly ↗ Mar 31, 2026 23d
Feb 19, 2026 Annual ↗ Dec 31, 2025 50d
Oct 23, 2025 Quarterly ↗ Sep 30, 2025 23d
Jul 24, 2025 Quarterly ↗ Jun 30, 2025 24d
Apr 24, 2025 Quarterly ↗ Mar 31, 2025 24d
Feb 20, 2025 Annual ↗ Dec 31, 2024 51d
Oct 24, 2024 Quarterly ↗ Sep 30, 2024 24d
Jul 25, 2024 Quarterly ↗ Jun 30, 2024 25d
Apr 25, 2024 Quarterly ↗ Mar 31, 2024 25d
Feb 22, 2024 Annual ↗ Dec 31, 2023 53d

Current reports