CTOS

Custom Truck One Source, Inc.
NYSEUSDEQUITY Industrials DELAYED
Last price
9.96
▲ 0.08 (0.81%)
MARKET · —

Price

1D — H — L — Range — Vol —
Drag pan · Pinch zoom · Hold crosshair · pick a tool then drag to draw
Open
9.97
Prev close
9.88
Day high
10.27
Day low
9.91
Volume
703.59K
Market cap
$2.27B
P/E (TTM)
110.67
52W range
5.18 – 12.23

Day trading desk

Current session · delayed
Gap from prior close
+0.91%
Prior close 9.88
VWAP
10.02
-0.65% from price
Relative volume
1.79×
Unusually busy
Session range
3.63%
9.91 – 10.27
Position in range
14%
Near session low
ATR (14D)
0.33
3.32% of price
Prior day high
9.96
PDH
Prior day low
9.56
PDL
Bid / ask spread
—
Quote not published
Session volume
1.74M
Avg 975.55K

VWAP and the session figures are computed from the delayed intraday series on this page, so they lag the live tape and will not match a broker's real-time VWAP exactly. Turn on Prior day H/L/C, Opening range and Volume profile in the chart's Studies menu to see these levels drawn on price.

Trailing performance

Price return · vs SPY
Returnvs SPY
1W
+8.03% +6.1%
1M
+8.38% +7.2%
3M
+2.26% -2.3%
6M
+50.00% +31.8%
YTD
+72.92% +58.7%
1Y
+52.76% +36.3%
3Y
+60.65% -21.6%
5Y
— —

Price return only. Dividends are not reinvested, so total return on a dividend payer will be higher than shown.

Unusual options activity

Account required
Nothing crossed the thresholds in the expiries we scanned.
That is the normal state — most contracts trade well inside their existing open interest.
Free account required

Contracts trading at or above their open interest, ranked by notional and where the print landed.

Free account

5 more panels on CTOS open with an account.

Options chains and analytics, valuation ratios, insider filings, analyst targets and ownership. No card, no trial, nothing to cancel.

Insider net activity

6m · Form 4 rollup
Net shares
0
Net selling
Buy transactions
0
0 shares
Sell transactions
0
—
Net transactions
0
Buys less sells
Sell : buy shares
—
Not enough filings
Insider-held shares
10.69M
Total on file

Fundamentals

TTM · reported
Market cap$2.27B
Enterprise value$4.80B
Revenue (TTM)$2.04B
Gross profit$450.85M
EBITDA$228.41M
Net income$21.42M
EPS (TTM)$0.09
Free cash flow$79.62M
Total cash$10.29M
Total debt$2.55B
Book value / share$3.59
Shares outstanding227.51M
Float60.07M
Short % of float7.77%
Dividend yield0.00%
Beta (5Y)1.43

Valuation & profitability ratios

Account required
Trailing P/E110.67
Forward P/E32.13
PEG ratio—
Price / sales—
Price / book2.78
EV / revenue2.36
EV / EBITDA21.03
Gross margin22.15%
Operating margin9.34%
Profit margin1.05%
Return on equity2.67%
Return on assets3.14%
Debt / equity312.29
Current ratio1.34
Free account required

Fourteen ratios including P/E, PEG, EV/EBITDA, margins and return on equity.

Financial statements

As reported · 4 years · 5 quarters
Blank means not reported, not zero
Line item2025202420232022YoY
Total revenue $1.94B$1.80B$1.87B$1.57B +7.9%
Operating revenue $1.94B$1.80B$1.87B$1.57B +7.9%
Cost of revenue $1.53B$1.41B$1.41B$1.19B +8.5%
Gross profit $411.89M$390.27M$454.26M$383.75M +5.5%
Selling, general & admin $230.08M$229.54M$231.40M$210.87M +0.2%
Total operating expense $270.31M$269.49M$269.17M$254.22M +0.3%
Operating income $141.58M$120.78M$185.09M$129.53M +17.2%
Net interest income -$153.07M-$155.55M-$112.87M-$56.58M +1.6%
Pre-tax income -$28.13M-$29.19M$58.08M$46.73M +3.6%
Tax provision $2.92M-$532.00K$7.36M$7.83M +649.2%
Net income -$31.05M-$28.66M$50.71M$38.91M -8.4%
Net income to common -$31.05M-$28.66M$50.71M$38.91M -8.4%
Basic EPS -0.14-0.120.210.16 -16.7%
Diluted EPS -0.14-0.120.210.16 -16.7%
EBIT $129.49M$137.92M$189.39M$135.64M -6.1%
EBITDA $393.37M$373.76M$408.38M$359.12M +5.2%
Basic shares 221.80M236.97M245.09M243.16M -6.4%
Diluted shares 221.80M236.97M245.73M243.16M -6.4%

Options analytics

Account required
Put / call volume
0.25
Call-heavy session
Put / call open interest
—
Positioning, not flow
Max pain
5.00
-49.8% from spot
ATM implied vol
1.6%
Nearest strike to spot
Skew (10% OTM)
-1.6%
Calls bid over puts
Call volume
16
Contracts, this expiry
Put volume
4
Contracts, this expiry
Heaviest call OI
7.50
0 contracts
Heaviest put OI
5.00
1 contracts

Max pain is the strike at which the largest dollar value of open contracts expires worthless. It describes current positioning; it is not a forecast and it moves as open interest changes.

Free account required

Put/call ratios, max pain, implied volatility skew and where open interest is concentrated.

Earnings

History & consensus estimates
Reported vs expected · EPS
QuarterEst.ActualSurprise
Jun 2026 0.020.09 +500.0%
Mar 2026 -0.050.02 +136.2%
Dec 2025 0.060.13 +108.5%
Sep 2025 -0.020.01 +142.6%
Forward consensus
PeriodEPSAnalystsRevenueGrowth
Current quarter 0.00 3 $516.56M +7.2%
Next quarter 0.08 3 $581.90M +10.2%
Current year 0.13 3 $2.12B +9.3%
Next year 0.31 3 $2.24B +5.3%

Analyst targets & ownership

Account required
Mean target$13.33
High target$15.00
Low target$12.00
Implied upside33.87%
Analyst count6
ConsensusNONE
Strong buy / Buy0 / 5
Hold1
Sell / Strong sell0 / 0
Held by insiders4.70%
Held by institutions98.55%
Institutions holding254
Free account required

Price targets, consensus spread, insider and institutional ownership.

Moving averages & technicals

Computed from 2Y daily closes
SMA 10
9.49
+4.92% from price
SMA 20
9.33
+6.71% from price
SMA 50
9.72
+2.43% from price
SMA 100
10.05
-0.87% from price
SMA 200
8.56
+16.41% from price
EMA 12
9.53
+4.47% from price
EMA 26
9.50
+4.87% from price
EMA 50
9.63
+3.46% from price
RSI (14)
60.0
Neutral
MACD (12,26,9)
0.04
Hist 0.11
ATR (14)
0.33
3.32% of price
Realised vol 30D
34.9%
Annualised
Bollinger upper
9.93
20, 2σ
Bollinger lower
8.74
20, 2σ
50 / 200 cross
Golden
9.72 vs 8.56
Trend bias
Above 200
+16.41%

Options chain

Account required
Expiry
Spot 9.96
Calls
StrikeLastBidAskVolOIIV
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
Puts
StrikeLastBidAskVolOIIV
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
000.000.000.000.00000.0%
Free account required

Every listed expiry, both sides of the book, with volume, open interest and implied volatility.

Risk profile

Daily returns · 1Y window
Beta vs SPY
1.58
More volatile than market
Correlation to SPY
0.44
Loosely linked
Realised vol 30D
34.9%
Annualised
Market vol 1Y
13.0%
SPY, annualised
Max drawdown 1Y
-26.4%
Peak to trough
Max drawdown 5Y
-72.4%
Peak to trough
ATR 14
0.33
3.32% of price
Beta (reported)
1.43
5Y monthly, from filing

Short interest

Semi-monthly exchange report · lags by ~2 weeks
Shares short
4.67M
Prior 3.58M
Change vs prior
+30.6%
Shorts adding
% of float
7.77%
Normal
% of shares out
2.05%
Against total outstanding
Days to cover
5.1
Crowded exit
Float
60.07M
Freely tradeable shares

Exchanges publish short interest twice a month with a settlement lag, so this is roughly two weeks behind. Days to cover divides shares short by average daily volume — it estimates how long covering would take, not whether it will happen.

Rating changes

46 on file
DateFirm ActionFromTo
Sep 15, 26 DA Davidson MAINTAINED Buy Buy
Aug 17, 26 Cantor Fitzgerald MAINTAINED Overweight Overweight
Aug 5, 26 Oppenheimer MAINTAINED Outperform Outperform
Aug 4, 26 Baird MAINTAINED Neutral Neutral
May 26, 26 Cantor Fitzgerald MAINTAINED Overweight Overweight
May 1, 26 DA Davidson MAINTAINED Buy Buy
Apr 29, 26 JP Morgan MAINTAINED Underweight Underweight
Apr 29, 26 Stifel MAINTAINED Buy Buy
Apr 28, 26 DA Davidson MAINTAINED Buy Buy
Apr 21, 26 Cantor Fitzgerald INITIATED — Overweight
Mar 11, 26 JP Morgan MAINTAINED Underweight Underweight
Mar 11, 26 DA Davidson MAINTAINED Buy Buy

Dividends & splits

Declared · from the issuer
Forward rate—
Forward yield0.00%
5-year avg yield—
Payout ratio0.00%
Ex-dividend date—
Next pay date—
Last split—
Split date—

PRIVATE STRATEGY · BY QUALIFICATION

The same data. A different seat.

The research you are reading is the input layer for a discretionary options program we run for a small number of qualified investors. Minimum $1,000,000.