CTO
Price
Trailing performance
Price return only. Dividends are not reinvested, so total return on a dividend payer will be higher than shown.
Unusual options activity
That is the normal state — most contracts trade well inside their existing open interest.
Contracts trading at or above their open interest, ranked by notional and where the print landed.
11 more panels on CTO 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
Insider transactions
| Date | Insider | Action | Shares | Value | Held |
|---|---|---|---|---|---|
| Jul 1, 26 | FRANKLIN LAURA M Director |
STOCK | 599 | $12.48K | Direct |
| Jul 1, 26 | DREW CHRISTOPHER J Director |
STOCK | 779 | $16.23K | Direct |
| Jul 1, 26 | HAGA CHRISTOPHER W Director |
STOCK | 1.00K | $20.92K | Direct |
| Jul 1, 26 | GABLE ROBERT BLAKESLEE Director |
STOCK | 914 | $19.04K | Direct |
| Apr 1, 26 | FRANKLIN LAURA M Director |
STOCK | 661 | $12.48K | Direct |
| Apr 1, 26 | DREW CHRISTOPHER J Director |
STOCK | 860 | $16.24K | Direct |
| Apr 1, 26 | HAGA CHRISTOPHER W Director |
STOCK | 1.11K | $20.92K | Direct |
| Apr 1, 26 | GABLE ROBERT BLAKESLEE Director |
STOCK | 1.01K | $19.05K | Direct |
| Feb 11, 26 | FRANKLIN LAURA M Director |
STOCK | 3.46K | $62.49K | Direct |
| Feb 11, 26 | DREW CHRISTOPHER J Director |
STOCK | 3.46K | $62.49K | Direct |
| Feb 11, 26 | VORAKOUN LISA Officer |
STOCK | 10.09K | $0 | Direct |
| Feb 11, 26 | ALBRIGHT JOHN P Chief Executive Officer |
STOCK | 37.11K | $0 | Direct |
| Feb 11, 26 | MAYS PHILIP R Chief Financial Officer |
STOCK | 14.96K | $0 | Direct |
| Feb 11, 26 | BROKAW GEORGE R Director |
STOCK | 3.46K | $62.49K | Direct |
What this is, and what it is not
These are SEC Form 4 filings — officers, directors and 10% owners reporting their own trades in the company's stock. Filing is due within two business days of the transaction, so this lags reality by days, and the provider adds its own lag on top.
A sale is not automatically bearish. Executives sell on scheduled 10b5-1 plans, to cover tax on vesting equity, and to diversify. Purchases with cash are generally the more informative signal, and they are far rarer.
This does not include congressional or senate trading. That comes from STOCK Act disclosures filed with the Senate eFD system and the House Clerk, which this data source does not carry.
Officer and director trades in their own stock, straight from Form 4 filings.
Insider holders
| Name | Relation | Shares held | Latest |
|---|---|---|---|
ALBRIGHT JOHN P |
Chief Executive Officer | 695.75K | Stock Award(Grant) |
BROKAW GEORGE R |
Director | 100.12K | Stock Award(Grant) |
DREW CHRISTOPHER J |
Director | 28.18K | Stock Award(Grant) |
FRANKLIN LAURA M |
Director | 63.20K | Stock Award(Grant) |
GABLE ROBERT BLAKESLEE |
Director | 52.80K | Stock Award(Grant) |
GREATHOUSE STEVEN ROBERT |
Chief Investment Officer | 215.54K | Stock Award(Grant) |
HAGA CHRISTOPHER W |
Director | 60.57K | Stock Award(Grant) |
MAYS PHILIP R |
Chief Financial Officer | 28.54K | Stock Award(Grant) |
SMITH DANIEL EARL |
General Counsel | 214.84K | Stock Award(Grant) |
VORAKOUN LISA |
Officer | 58.85K | Stock Award(Grant) |
Fundamentals
Valuation & profitability ratios
Fourteen ratios including P/E, PEG, EV/EBITDA, margins and return on equity.
Financial statements
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Total revenue | $149.54M | $124.52M | $109.12M | $82.32M | +20.1% |
| Operating revenue | $149.54M | $124.52M | $109.12M | $82.32M | +20.1% |
| Cost of revenue | $37.92M | $33.22M | $30.18M | $22.86M | +14.2% |
| Gross profit | $111.62M | $91.30M | $78.94M | $59.46M | +22.3% |
| Selling, general & admin | $18.53M | $16.27M | $14.25M | $12.90M | +13.9% |
| Total operating expense | $78.54M | $81.32M | $58.42M | $41.75M | -3.4% |
| Operating income | $33.08M | $9.98M | $20.52M | $17.71M | +231.5% |
| Net interest income | -$26.93M | -$22.52M | -$22.36M | -$11.12M | -19.6% |
| Pre-tax income | $10.54M | -$2.30M | $6.13M | $328.00K | +557.4% |
| Tax provision | $446.00K | -$339.00K | $604.00K | -$2.83M | +231.6% |
| Net income | $10.09M | -$1.97M | $5.53M | $3.16M | +613.6% |
| Net income to common | $2.58M | -$8.78M | $758.00K | -$1.62M | +129.4% |
| Basic EPS | 0.08 | -0.35 | 0.03 | -0.09 | +122.9% |
| Diluted EPS | 0.08 | -0.35 | 0.03 | -0.09 | +122.9% |
| EBIT | $36.19M | $19.17M | $27.52M | $10.69M | +88.8% |
| EBITDA | $96.20M | $84.22M | $71.70M | $39.54M | +14.2% |
| Basic shares | 32.27M | 25.36M | 22.53M | 18.51M | +27.2% |
| Diluted shares | 32.29M | 25.40M | 22.53M | 18.51M | +27.1% |
| Line item | 2025 | 2024 | 2023 | 2022 | 2021 | YoY |
|---|---|---|---|---|---|---|
| Cash & equivalents | $6.47M | $9.02M | $10.21M | $19.33M | — | -28.3% |
| Cash & short-term investments | $47.79M | $48.68M | $49.66M | $61.37M | — | -1.8% |
| Accounts receivable | $22.13M | $18.78M | $15.54M | $8.42M | — | +17.9% |
| Total current assets | $211.91M | $182.70M | $136.87M | $106.14M | — | +16.0% |
| Property, plant & equipment | $241.00K | $305.00K | $422.00K | $63.00K | — | -21.0% |
| Goodwill & intangibles | $84.71M | $79.20M | $97.11M | $116.71M | — | +7.0% |
| Total assets | $1.26B | $1.18B | $989.67M | $986.54M | — | +7.0% |
| Total current liabilities | $32.63M | $75.02M | $65.12M | $64.16M | — | -56.5% |
| Current debt | — | $50.99M | $50.83M | $50.67M | $47.47M | — |
| Long-term debt | $616.35M | $468.00M | $444.54M | $394.91M | — | +31.7% |
| Total debt | $616.57M | $519.29M | $495.79M | $445.65M | — | +18.7% |
| Total liabilities | $696.56M | $568.85M | $532.14M | $481.77M | — | +22.5% |
| Retained earnings | $184.89M | $232.09M | $281.94M | $316.28M | — | -20.3% |
| Shareholder equity | $567.35M | $612.80M | $457.53M | $504.77M | — | -7.4% |
| Working capital | $179.28M | $107.67M | $71.74M | $41.98M | — | +66.5% |
| Net tangible assets | $482.64M | $533.60M | $360.42M | $388.06M | — | -9.6% |
| Shares issued | 32.37M | 31.67M | 22.64M | 22.85M | — | +2.2% |
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Net income | $10.09M | -$1.97M | $5.53M | $3.16M | +613.6% |
| Depreciation & amortisation | $60.02M | $65.05M | $44.17M | $28.86M | -7.7% |
| Stock-based compensation | $4.16M | $3.64M | $3.67M | $3.23M | +14.3% |
| Change in working capital | -$8.42M | -$492.00K | -$5.95M | $12.32M | -1,610.6% |
| Operating cash flow | $64.60M | $59.87M | $46.31M | $56.10M | +7.9% |
| Investing cash flow | -$71.50M | -$232.67M | -$52.45M | -$267.63M | +69.3% |
| Share buybacks | -$9.48M | -$664.00K | -$6.61M | -$2.79M | -1,327.6% |
| Dividends paid | -$56.56M | -$47.09M | -$39.04M | -$33.68M | -20.1% |
| Financing cash flow | $30.66M | $172.35M | $2.77M | $201.38M | -82.2% |
| Free cash flow | $64.60M | $59.87M | $46.31M | $56.10M | +7.9% |
| End cash position | $41.12M | $17.36M | $17.82M | $21.19M | +136.8% |
| Line item | 2026-06-30 | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|---|
| Total revenue | — | $41.17M | $38.34M | $37.76M | $37.64M | $35.81M | — |
| Operating revenue | — | $41.17M | $38.34M | $37.76M | $37.64M | $35.81M | — |
| Cost of revenue | — | $10.17M | $9.58M | $9.27M | $10.18M | $8.89M | — |
| Gross profit | — | $31.00M | $28.76M | $28.48M | $27.46M | $26.92M | — |
| Selling, general & admin | — | $5.08M | $4.62M | $4.78M | $4.45M | $4.68M | — |
| Total operating expense | — | $21.03M | $20.04M | $19.71M | $19.74M | $19.05M | — |
| Operating income | — | $9.97M | $8.71M | $8.77M | $7.72M | $7.87M | — |
| Net interest income | — | -$7.27M | -$7.10M | -$6.83M | -$6.86M | -$6.14M | — |
| Pre-tax income | — | $6.26M | $28.48M | $2.97M | -$23.22M | $2.31M | — |
| Tax provision | — | $60.00K | $143.00K | $58.00K | $194.00K | $51.00K | — |
| Net income | — | $6.21M | $28.34M | $2.91M | -$23.42M | $2.26M | — |
| Net income to common | — | $4.33M | $26.46M | $1.04M | -$25.30M | $383.00K | — |
| Basic EPS | 0.38 | 0.13 | 0.82 | 0.03 | -0.77 | — | +192.3% |
| Diluted EPS | 0.38 | 0.13 | 0.82 | 0.03 | -0.77 | — | +192.3% |
| EBIT | — | $13.20M | $35.24M | $9.51M | -$16.68M | $8.12M | — |
| EBITDA | — | $29.15M | $50.67M | $24.43M | -$1.38M | $22.48M | — |
| Basic shares | 34.99M | 32.52M | 32.18M | 32.65M | 32.68M | — | +7.6% |
| Diluted shares | 35.02M | 32.52M | 32.24M | 32.68M | 32.73M | — | +7.7% |
| Line item | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|
| Cash & equivalents | $8.28M | $6.47M | $9.28M | $8.55M | $8.43M | +28.1% |
| Cash & short-term investments | $52.77M | $47.79M | $44.30M | $43.30M | $47.93M | +10.4% |
| Accounts receivable | $21.90M | $22.13M | $20.90M | $19.95M | $19.27M | -1.0% |
| Total current assets | $239.81M | $211.91M | $187.25M | $181.42M | $180.97M | +13.2% |
| Property, plant & equipment | $212.00K | $241.00K | $267.00K | $296.00K | $278.00K | -12.0% |
| Goodwill & intangibles | $86.48M | $84.71M | $74.55M | $81.55M | $88.93M | +2.1% |
| Total assets | $1.30B | $1.26B | $1.22B | $1.23B | $1.24B | +2.8% |
| Total current liabilities | $33.18M | $32.63M | $37.71M | $25.56M | $71.59M | +1.7% |
| Current debt | — | — | — | — | $51.03M | — |
| Long-term debt | $649.53M | $616.35M | $604.16M | $605.35M | $551.19M | +5.4% |
| Total debt | $649.73M | $616.57M | $604.42M | $605.63M | $602.48M | +5.4% |
| Total liabilities | $724.30M | $696.56M | $665.10M | $659.16M | $650.02M | +4.0% |
| Retained earnings | $176.44M | $184.89M | $170.83M | $182.36M | $220.27M | -4.6% |
| Shareholder equity | $575.36M | $567.35M | $557.25M | $574.06M | $593.88M | +1.4% |
| Working capital | $206.63M | $179.28M | $149.54M | $155.86M | $109.38M | +15.3% |
| Net tangible assets | $488.88M | $482.64M | $482.70M | $492.51M | $504.95M | +1.3% |
| Shares issued | 33.29M | 32.37M | 32.68M | 32.93M | 31.84M | +2.8% |
| Line item | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|
| Net income | $6.21M | $28.34M | $2.91M | -$23.42M | $2.26M | -78.1% |
| Depreciation & amortisation | $15.96M | $15.43M | $14.93M | $15.29M | $14.36M | +3.4% |
| Stock-based compensation | $1.41M | $936.00K | $936.00K | $1.00M | $1.28M | +50.2% |
| Change in working capital | -$5.63M | -$11.96M | $11.71M | -$681.00K | -$7.48M | +52.9% |
| Operating cash flow | $14.60M | $6.86M | $30.29M | $17.14M | $10.31M | +112.8% |
| Investing cash flow | -$68.67M | $23.80M | -$11.64M | -$2.99M | -$80.67M | -388.5% |
| Share buybacks | — | -$5.06M | -$4.31M | -$37.00K | -$75.00K | — |
| Dividends paid | -$14.44M | -$14.10M | -$14.27M | -$14.30M | -$13.89M | -2.4% |
| Financing cash flow | $31.82M | -$7.12M | -$19.92M | -$10.67M | $68.36M | +547.2% |
| Free cash flow | $14.60M | $6.86M | $30.29M | $17.14M | $10.31M | +112.8% |
| End cash position | $18.87M | $41.12M | $17.57M | $18.84M | $15.36M | -54.1% |
Options analytics
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.
Put/call ratios, max pain, implied volatility skew and where open interest is concentrated.
Earnings
Reported vs expected · EPS
| Quarter | Est. | Actual | Surprise |
|---|---|---|---|
| Jun 2026 | 0.10 | 0.38 | +267.8% |
| Mar 2026 | 0.03 | 0.13 | +420.0% |
| Dec 2025 | 0.02 | 0.82 | +4,819.0% |
| Sep 2025 | 0.00 | 0.03 | 0.0% |
Forward consensus
| Period | EPS | Analysts | Revenue | Growth |
|---|---|---|---|---|
| Current quarter | 0.10 | 1 | $45.21M | +19.7% |
| Next quarter | 0.12 | 1 | $46.58M | +21.5% |
| Current year | 0.71 | 2 | $176.79M | +18.2% |
| Next year | 0.62 | 1 | $194.13M | +9.8% |
Analyst targets & ownership
Price targets, consensus spread, insider and institutional ownership.
Moving averages & technicals
Options chain
Calls
| Strike | Last | Bid | Ask | Vol | OI | IV |
|---|---|---|---|---|---|---|
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
Puts
| Strike | Last | Bid | Ask | Vol | OI | IV |
|---|---|---|---|---|---|---|
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
| 000.00 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0.0% |
Every listed expiry, both sides of the book, with volume, open interest and implied volatility.
Risk profile
Short interest
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
| Date | Firm | Action | From | To |
|---|---|---|---|---|
| Oct 1, 26 | Jones Trading | MAINTAINED | Buy | Buy |
| Aug 3, 26 | Cantor Fitzgerald | MAINTAINED | Overweight | Overweight |
| Jul 29, 26 | Jones Trading | MAINTAINED | Buy | Buy |
| Apr 30, 26 | Cantor Fitzgerald | MAINTAINED | Overweight | Overweight |
| Apr 29, 26 | Jones Trading | MAINTAINED | Buy | Buy |
| Feb 24, 26 | Jones Trading | MAINTAINED | Buy | Buy |
| Oct 29, 25 | Jones Trading | MAINTAINED | Buy | Buy |
| Jul 30, 25 | Jones Trading | MAINTAINED | Buy | Buy |
| May 23, 25 | Raymond James | MAINTAINED | Strong Buy | Strong Buy |
| Mar 5, 25 | B. Riley Securities | MAINTAINED | Buy | Buy |
| Feb 25, 25 | Jones Trading | MAINTAINED | Buy | Buy |
| Oct 30, 24 | Raymond James | UPGRADE | Outperform | Strong Buy |
Dividends & splits
SEC filings
Headlines
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.