TPB
Price
Day trading desk
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 only. Dividends are not reinvested, so total return on a dividend payer will be higher than shown.
Unusual options activity
| Side | Strike | Expiry | Volume | Open int. | Vol / OI | Notional | IV | Score | |
|---|---|---|---|---|---|---|---|---|---|
| PUT | 85.00 | Dec 18, 26 116d |
540 | 0 | 3.0× | $577.80K | 0% | unknown | 75 |
| CALL | 190.00 | Dec 18, 26 116d |
270 | 270 | 1.0× | $196.02K | 90% | at ask | 53 |
How this is calculated, and what it cannot see
A contract is flagged when today's volume approaches or exceeds its open interest, the position is worth at least $40,000, and at least 150 contracts changed hands. Open interest is what was outstanding at yesterday's close, so volume above it means the flow cannot all be closing — something is being opened.
The score weights four things: volume against open interest, dollar notional, volume against the rest of that chain, and where the last print sat inside the bid/ask spread.
What it cannot see. Volume here is a daily total, so ten small orders and one large one are indistinguishable — this is not block or sweep detection, which needs exchange-level time and sales. The print column compares the last trade to the current quote, which is a proxy for who was the aggressor, not a tagged flag. Quotes are delayed. A single large trade can be a hedge, a roll, or one leg of a spread, and none of those mean what a naked directional bet would mean.
Contracts trading at or above their open interest, ranked by notional and where the print landed.
5 more panels on TPB 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 |
|---|---|---|---|---|---|
| May 12, 26 | WIGGINTON BRIAN Officer |
SELL | 4.00K | $366.68K | Direct |
| May 11, 26 | SHANAHAN KATHLEEN M Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | CATSIMATIDIS JOHN A. JR Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | DIAO H C CHARLES Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | BAXTER GREGORY H A Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | WEXLER LAWRENCE S. Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | FRUSHONE ASHLEY DAVIS Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | USHER STEPHEN Director |
STOCK | 1.29K | $120.06K | Direct |
| May 11, 26 | REDDY ROHITH Director |
STOCK | 1.29K | $120.06K | Direct |
| Mar 24, 26 | PURDY GRAHAM A. Chief Executive Officer |
STOCK | 8.64K | $750.04K | Direct |
| Mar 4, 26 | FLYNN ANDREW Chief Financial Officer |
SELL | 2.00K | $195.14K | Direct |
| Mar 3, 26 | GLAZEK DAVID EDWARD Officer and Director |
STOCK | 39.53K | $4.29M | Direct |
| Mar 3, 26 | WIGGINTON BRIAN Officer |
STOCK | 6.96K | $753.85K | Direct |
| Mar 3, 26 | PURDY GRAHAM A. Chief Executive Officer |
STOCK | 64.22K | $6.96M | 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 |
|---|---|---|---|
BAXTER GREGORY H A |
Director | 40.21K | Stock Award(Grant) |
CATSIMATIDIS JOHN A. JR |
Director | 414.77K | Stock Award(Grant) |
CUSHMAN BRITTANI |
General Counsel | 47.82K | Stock Award(Grant) |
DE PLANO LORENZO |
Officer | 39.17K | Stock Award(Grant) |
DIAO H C CHARLES |
Director | 11.10K | Stock Award(Grant) |
FLYNN ANDREW |
Chief Financial Officer | 9.44K | Sale |
FREIN SUMMER |
Officer | 20.60K | Stock Award(Grant) |
GLAZEK DAVID EDWARD |
Officer and Director | 164.54K | Stock Award(Grant) |
PURDY GRAHAM A. |
Chief Executive Officer | 265.98K | Stock Award(Grant) |
WEXLER LAWRENCE S. |
Director | 287.69K | 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 | $463.06M | $360.66M | $325.06M | $321.23M | +28.4% |
| Operating revenue | $463.06M | $360.66M | $325.06M | $321.23M | +28.4% |
| Cost of revenue | $198.75M | $159.09M | $142.12M | $143.40M | +24.9% |
| Gross profit | $264.31M | $201.56M | $182.94M | $177.83M | +31.1% |
| Selling, general & admin | $168.99M | $122.41M | $104.33M | $103.82M | +38.1% |
| Total operating expense | $168.99M | $120.73M | $99.98M | $103.82M | +40.0% |
| Operating income | $95.33M | $80.83M | $82.96M | $74.01M | +17.9% |
| Net interest income | -$17.47M | -$13.98M | -$14.64M | -$19.52M | -24.9% |
| Pre-tax income | $83.14M | $64.96M | $62.06M | $42.07M | +28.0% |
| Tax provision | $14.99M | $16.93M | $24.00M | $10.98M | -11.4% |
| Net income | $58.16M | $39.81M | $38.46M | $11.64M | +46.1% |
| Net income to common | $58.16M | $39.81M | $38.46M | $11.64M | +46.1% |
| Basic EPS | 3.18 | 2.24 | 2.19 | 0.65 | +42.0% |
| Diluted EPS | 3.11 | 2.14 | 2.01 | 0.64 | +45.3% |
| EBIT | $108.53M | $83.48M | $83.09M | $61.59M | +30.0% |
| EBITDA | $115.94M | $89.14M | $87.21M | $64.97M | +30.1% |
| Basic shares | 18.31M | 17.73M | 17.58M | 17.90M | +3.3% |
| Diluted shares | 18.73M | 19.36M | 20.47M | 18.06M | -3.3% |
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Cash & equivalents | $222.76M | $46.16M | $116.72M | $106.40M | +382.6% |
| Cash & short-term investments | $222.76M | $46.16M | $116.72M | $106.40M | +382.6% |
| Accounts receivable | $25.73M | $9.62M | $10.00M | $8.38M | +167.3% |
| Inventory | $107.99M | $96.25M | $91.70M | $119.92M | +12.2% |
| Total current assets | $417.15M | $198.21M | $267.63M | $257.65M | +110.5% |
| Property, plant & equipment | $50.73M | $37.95M | $36.50M | $35.25M | +33.7% |
| Goodwill & intangibles | $210.27M | $208.59M | $208.66M | $220.77M | +0.8% |
| Total assets | $763.75M | $493.35M | $569.37M | $572.11M | +54.8% |
| Total current liabilities | $75.01M | $44.82M | $100.35M | $41.38M | +67.4% |
| Current debt | — | — | $58.29M | — | — |
| Long-term debt | $293.63M | $248.60M | $307.06M | $406.76M | +18.1% |
| Total debt | $308.97M | $261.27M | $377.86M | $420.45M | +18.3% |
| Total liabilities | $391.77M | $302.97M | $417.36M | $458.73M | +29.3% |
| Retained earnings | $199.66M | $147.16M | $112.44M | $78.69M | +35.7% |
| Shareholder equity | $354.30M | $187.98M | $150.98M | $111.64M | +88.5% |
| Working capital | $342.14M | $153.38M | $167.28M | $216.28M | +123.1% |
| Net tangible assets | $144.03M | -$20.61M | -$57.69M | -$109.13M | +798.7% |
| Shares issued | 20.59M | 20.20M | 19.92M | 19.80M | +1.9% |
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Net income | $68.15M | $48.03M | $38.07M | $31.09M | +41.9% |
| Depreciation & amortisation | $7.42M | $5.66M | $4.12M | $3.38M | +31.0% |
| Stock-based compensation | $6.97M | $7.24M | $6.56M | $5.27M | -3.7% |
| Change in working capital | -$36.03M | -$5.08M | $2.70M | -$27.20M | -608.7% |
| Operating cash flow | $57.37M | $67.06M | $66.88M | $30.27M | -14.4% |
| Capital expenditure | -$13.53M | -$4.62M | -$5.71M | -$7.83M | -192.6% |
| Investing cash flow | -$31.67M | -$10.51M | -$5.91M | -$18.79M | -201.4% |
| Share buybacks | -$2.63M | -$6.26M | $0 | -$29.22M | +58.1% |
| Dividends paid | -$5.52M | -$4.91M | -$4.50M | -$4.25M | -12.5% |
| Financing cash flow | $148.27M | -$128.28M | -$49.51M | -$43.30M | +215.6% |
| Free cash flow | $43.84M | $62.44M | $61.17M | $22.44M | -29.8% |
| End cash position | $224.67M | $50.90M | $122.81M | $111.33M | +341.4% |
| Line item | 2026-06-30 | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | YoY |
|---|---|---|---|---|---|---|
| Total revenue | $142.96M | $124.28M | $121.01M | $118.98M | $116.63M | +15.0% |
| Operating revenue | $142.96M | $124.28M | $121.01M | $118.98M | $116.63M | +15.0% |
| Cost of revenue | $49.26M | $55.98M | $53.36M | $48.55M | $50.01M | -12.0% |
| Gross profit | $93.70M | $68.30M | $67.65M | $70.43M | $66.62M | +37.2% |
| Selling, general & admin | $76.99M | $55.81M | $47.73M | $44.54M | $40.30M | +37.9% |
| Total operating expense | $76.99M | $55.81M | $47.73M | $44.54M | $40.30M | +37.9% |
| Operating income | $16.71M | $12.48M | $19.93M | $25.89M | $26.33M | +33.9% |
| Net interest income | -$4.25M | -$4.42M | -$4.38M | -$3.53M | -$5.14M | +3.9% |
| Pre-tax income | $13.98M | $11.13M | $13.88M | $30.23M | $21.20M | +25.6% |
| Tax provision | $3.68M | -$2.81M | $2.23M | $6.47M | $4.24M | +231.1% |
| Net income | $3.60M | $11.67M | $8.21M | $21.08M | $14.48M | -69.2% |
| Net income to common | $3.60M | $11.67M | $8.21M | $21.08M | $14.48M | -69.2% |
| Basic EPS | 0.18 | 0.61 | 0.43 | 1.16 | 0.81 | -70.5% |
| Diluted EPS | 0.18 | 0.60 | 0.42 | 1.13 | 0.79 | -70.0% |
| EBIT | $18.23M | $18.29M | $20.01M | $37.22M | $26.34M | -0.3% |
| EBITDA | $20.61M | $20.35M | $22.02M | $39.12M | $28.23M | +1.3% |
| Basic shares | 19.89M | 19.21M | 19.09M | 18.25M | 17.92M | +3.5% |
| Diluted shares | 20.16M | 19.47M | 19.54M | 18.71M | 18.32M | +3.5% |
| Line item | 2026-06-30 | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | YoY |
|---|---|---|---|---|---|---|
| Cash & equivalents | $268.31M | $192.44M | $222.76M | $201.19M | $109.92M | +39.4% |
| Cash & short-term investments | $268.31M | $192.44M | $222.76M | $201.19M | $109.92M | +39.4% |
| Accounts receivable | $22.70M | $27.47M | $25.73M | $27.79M | $30.06M | -17.4% |
| Inventory | $133.43M | $129.58M | $107.99M | $112.79M | $105.01M | +3.0% |
| Total current assets | $500.13M | $418.20M | $417.15M | $396.44M | $285.22M | +19.6% |
| Property, plant & equipment | $55.39M | $55.99M | $50.73M | $46.80M | $41.56M | -1.1% |
| Goodwill & intangibles | $209.19M | $209.57M | $210.27M | $210.71M | $211.23M | -0.2% |
| Total assets | $855.20M | $772.10M | $763.75M | $742.85M | $595.79M | +10.8% |
| Total current liabilities | $88.22M | $71.28M | $75.01M | $71.34M | $67.51M | +23.8% |
| Long-term debt | $294.14M | $293.88M | $293.63M | $293.36M | $293.14M | +0.1% |
| Total debt | $310.67M | $310.11M | $308.97M | $307.17M | $304.69M | +0.2% |
| Total liabilities | $401.17M | $386.61M | $391.77M | $384.69M | $370.96M | +3.8% |
| Retained earnings | $211.70M | $209.73M | $199.66M | $192.90M | $173.28M | +0.9% |
| Shareholder equity | $430.10M | $365.76M | $354.30M | $343.95M | $218.58M | +17.6% |
| Working capital | $411.92M | $346.92M | $342.14M | $325.10M | $217.71M | +18.7% |
| Net tangible assets | $220.91M | $156.20M | $144.03M | $133.24M | $7.35M | +41.4% |
| Shares issued | 20.05M | 20.82M | 20.59M | 20.53M | 20.49M | -3.7% |
| Line item | 2026-06-30 | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|---|
| Net income | $10.30M | $13.94M | $11.64M | $23.76M | $16.96M | — | -26.1% |
| Depreciation & amortisation | $2.38M | $2.06M | $2.01M | $1.90M | $1.89M | — | +15.4% |
| Stock-based compensation | $2.70M | $2.94M | $1.80M | $1.88M | $1.63M | — | -8.1% |
| Change in working capital | $13.27M | -$37.91M | $1.79M | -$23.17M | -$10.08M | — | +135.0% |
| Operating cash flow | $26.33M | -$22.26M | $24.86M | $3.29M | $11.82M | — | +218.3% |
| Capital expenditure | -$88.00K | -$5.14M | -$3.35M | -$4.01M | -$3.99M | — | +98.3% |
| Investing cash flow | -$6.53M | -$5.07M | -$3.29M | -$19.76M | -$3.40M | — | -28.9% |
| Share buybacks | — | — | -$1.00K | -$2.63M | $0 | $0 | — |
| Dividends paid | -$1.60M | -$1.67M | -$1.43M | -$1.36M | -$1.35M | — | +4.3% |
| Financing cash flow | $55.45M | -$2.69M | $24.00K | $107.94M | $1.79M | — | +2,159.8% |
| Free cash flow | $26.24M | -$27.40M | $21.51M | -$721.00K | $7.83M | — | +195.8% |
| End cash position | $270.20M | $194.35M | $224.67M | $203.10M | $111.84M | — | +39.0% |
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.24 | 0.23 | -3.4% |
| Mar 2026 | 0.73 | 0.76 | +4.6% |
| Dec 2025 | 0.88 | 0.95 | +8.4% |
| Sep 2025 | 0.81 | 1.05 | +29.1% |
Forward consensus
| Period | EPS | Analysts | Revenue | Growth |
|---|---|---|---|---|
| Current quarter | 0.34 | 4 | $146.29M | +23.0% |
| Next quarter | 0.47 | 4 | $150.65M | +24.5% |
| Current year | 1.88 | 4 | $564.30M | +21.9% |
| Next year | 2.42 | 4 | $638.98M | +13.2% |
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 |
|---|---|---|---|---|
| May 8, 26 | Needham | UPGRADE | Hold | Buy |
| Nov 19, 25 | Oppenheimer | MAINTAINED | Outperform | Outperform |
| Nov 6, 25 | Alliance Global Partners | MAINTAINED | Buy | Buy |
| Aug 7, 25 | Oppenheimer | MAINTAINED | Outperform | Outperform |
| Aug 1, 25 | Needham | INITIATED | — | Hold |
| May 8, 25 | Oppenheimer | MAINTAINED | Outperform | Outperform |
| Jan 10, 25 | Roth MKM | MAINTAINED | Buy | Buy |
| Dec 17, 24 | Roth MKM | MAINTAINED | Buy | Buy |
| Dec 5, 24 | Craig-Hallum | MAINTAINED | Buy | Buy |
| Nov 14, 24 | Oppenheimer | INITIATED | — | Outperform |
| Nov 12, 24 | Benchmark | MAINTAINED | Buy | Buy |
| Sep 19, 24 | Roth MKM | INITIATED | — | 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.