ODFL

Old Dominion Freight Line, Inc. ·Nasdaq Global Select·Industrials
212.54 live · 2026-08-12 15:59

Some scores are at the bottom of their range

This score sits at the bottom of the 0–100 range. The underlying calculation was negative, so the displayed value is a floor, not a measurement of zero.

  • Tactical Score: displayed 0, underlying value -3.0
31.7%
Brown Bear Score
56.9%
Business Conviction Score
23.4%
Position Health Score
20.8%
Chase Risk
Daily closes

Daily closes · 1Y (252 sessions) · +42.4% · range 126.29–248.73

The Businesswhat the company reports

Business & cash flow

FCF / assets 17.5%
OCF / assets 25.0%
FCF / revenue 24.9%
Gross margin 39.6%
ROIC 27.3%
Forward P/E 32.1

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

Price has run ahead of forward EPS growth by 14.9pp

Confidence 95.0/100

Takeaway Price has moved further than forward earnings growth currently justifies — worth weighing against the rest of the entry case.

Share count

Diluted shares over time

Diluted shares Return since the previous filing

Direction Shrinking — shares retired
Diluted shares 209.3M as at 2026-03-31
Change over 1 year -4.3%
Change over 3 years -12.6%
Public float $30.42bn as at 2025-06-30 (10-K)

History before 2012-12-31 is not shown. The share count jumps at that date by a ratio no ordinary issuance produces — a split whose factor is not in Brown Bear's split store — so earlier figures are on a different basis and cannot be compared with today's.

Counts are restated for the 2:1 split of 2020-03-25, 2:1 split of 2024-03-28, which would otherwise read as a share issuance.

The Pricewhat the chart is doingTop ↑

Price Levels

StrategyFair Value Anchor
Reference band 188.76 — 213.61
Protective stop 181.36 (Atr, 9.8% risk)
Support 204.33 (2 touches, 4.0% away)
Resistance 220.80 (3.9% away)

Takeaway The shares are nearer the ceiling than the floor: about 3.9% below 220.80, where sellers have turned up before, and 4.0% above 204.33, where buyers have stepped in before. That floor has held 2 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 9.8% 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 cloudPrice BELOW the cloud | periods 7/19/38 (73% of classic 9/26/52)
LinesTenkan/Kijun BEAR | cloud twist BEAR (fresh down, 0d ago)
Cloud thickness3% percentile (thin — little structure to fight through)
Chikou spanNot clear of price from 26 periods ago
Weekly cloudPrice INSIDE the weekly cloud (context only, not scored)

Takeaway The stock is trading below its cloud — a shaded band drawn from several of its own moving averages, currently 221.33 to 221.84. Being below it means the medium-term picture is pointing downwards, and that band is the first hurdle it would have to climb back through. Its shorter-term averages agree with that.

Trailing returns

21 days -7.0%
63 days +11.2%
126 days +9.3%
252 days +48.6%
Below 252d high14.5%

Trend context

PositionFar above trend
ExtensionExtended
Trend slopeFlat
Direction of travelConverging back to trend

Takeaway The share price is well above the level its own longer-run trend suggests is fair, and that fair level is going sideways. The gap between the two has been closing. Being stretched this far above trend measures how much room there is to fall back — it does not say the stock will stop rising.

Volatility

State In a squeeze
Current band width17.6% of price
Recent tightest12.8% (9 sessions ago, narrower than 93.0% of its history)
Expansion since1.38×
Band 202.63 — 241.68

Takeaway Lately this share price has been swinging around inside a range roughly 18% wide, and it recently went unusually quiet — calmer than it has been 93% 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

0255075100Share price 209.44–237.152026-07-032026-08-12
Position Health Business Conviction Share price

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

  1. Nearest Trigger Volume confirmation above 1.2x +0.20x volume confirmation would improve confidence in the pathway · Broadly stable
  2. Trigger 2 MACD bullish crossover repair trigger repair engine identifies this as the nearest technical repair catalyst · Broadly stable
  3. Trigger 3 MACD histogram above zero 1.23 gap is improving · Broadly stable
  4. Trigger 4 +DI back above -DI secondary repair secondary repair catalyst could add confirmation if the primary trigger develops · Broadly stable
  5. Trigger 5 EMA20 reclaim +2.8% gap is improving · Broadly stable

Who's Tradingthe flow behind the priceTop ↑

Insider activity

ActivityNo filings in the window
Buy filings0
Sell filings0

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 binary-event flag

ODFL: no binary-event flag. Near IV 62%, far IV 58% (ratio 1.07), implied move 7.8%.

Implied volatility 62% near (9d) · 58% far (65d)
Term structure 1.07× near/far
Historical volatility 36%
Implied vs historical 1.72× — Options are priced well above what the stock has actually done
Implied move ±7.8% by 2026-08-21 — Large relative to this stock's normal daily range
Implied move vs ATR 0.69×
Skew Put Skew (1.74×)
Call wall 300.00 (+41.1% away)
Put wall 150.00 (-29.4% away)
Gamma pin 150.00
  • Implied move 7.8% is 0.69x the ATR-expected 11.2% over 9d

Takeaway Insuring against a move in this stock costs less for the next few weeks than for the next few months, which is the normal state of affairs and suggests no particular date is worrying anyone. Options traders are positioned for a move of around 7.8% in either direction by 2026-08-21.

Chain as at 2026-08-12. This is a risk read on whether a specific event is being priced — not a directional view.

Context & Methodthe record, and how it was builtTop ↑

Relative Rotation

ImprovingLeadingLaggingWeakeningvs sectorvs SPYsector vs SPYRS-Ratio →RS-Momentum →

Stock Rotation Headwind

Rotation health 18.3/100; Severe Rotation Headwind.

Rotation health 18.3
Rotation strength 57.0
LegQuadrantRS-RatioRS-Mom
Stock vs sector Lagging 84.7 87.6
Stock vs SPY Lagging 82.2 89.5
Sector vs SPY Improving 87.2 105.9

Direction of travel: South-West / deteriorating rotation

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

  1. 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 6/9 (+15.0)
  • Altman Z-score 35.87 (+10.0)
  • Gross margin quality: 39.6% (+7.2)
  • ROIC quality: 27.3% (+19.1)
  • FCF margin quality: 24.9% (+16.6)
  • Gross margin improving by 4.8 pts (+2.0)
  • FCF margin improving by -3.6 pts (+-3.0)
  • High earnings quality (accrual ratio -0.063) (+5.0)
  • Track 1: volume confirmation 1.08x average (+0.5)
  • Track 1: ADX 42.8 and rising (+10.0)
  • Track 1: relative momentum rank 0.82 (+4.1)
  • Track 1: Bullish MACD divergence (+12.0)
  • Track 1: MACD histogram acceleration 0.64 (+7.0)
  • Track 1: RSI recovery 33.3, 5-day change +6.0 (+4.8)
  • Track 1: EMA50 support proximity 3.4% (+2.2)
  • Track 1: EMA200 support proximity 6.4% (+2.5)
  • Track 1: Bollinger position 0.25 (+6.0)

Negative signals

  • Underperforming sector over 20 days
  • Track 1: weak MACD histogram (-1.23)
  • Relative strength versus sector deteriorating
  • Track 1: bearish DI spread (-17.8)
  • Track 1: price below EMA20 by 2.7%
  • Track 1: EMA20 slope deteriorating -1.8%
  • Track 1: weak MACD line/signal structure (-5.0)
  • Track 1: MACD slope deteriorating (-5.0)
  • Track 1: weak VPT confirmation (-0.41)
  • Track 1: price below EMA50 by 3.4%
  • Track 1: EMA50 slope deteriorating -1.5%
  • ROIC improving by -4.2 pts (+-5.0)

Chase risk is not elevated for this name, so extension penalties are omitted from the negative signals above.