TWIN
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
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.
5 more panels on TWIN 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 |
|---|---|---|---|---|---|
| Aug 5, 26 | BATTEN JOHN H Chief Executive Officer |
STOCK | 97.45K | $2.34M | Direct |
| Aug 5, 26 | KNUTSON JEFFREY SCOTT CPA Chief Financial Officer |
STOCK | 47.37K | $1.14M | Direct |
| Aug 3, 26 | DOAR MICHAEL Director |
STOCK | 357 | $8.12K | Direct |
| Aug 3, 26 | JOHNSON DAVID WILLIAM Director |
STOCK | 179 | $4.07K | Direct |
| May 1, 26 | DOAR MICHAEL Director |
STOCK | 475 | $8.13K | Direct |
| May 1, 26 | JOHNSON DAVID WILLIAM Director |
STOCK | 237 | $4.06K | Direct |
| Feb 27, 26 | BATTEN JOHN H Chief Executive Officer |
STOCK | 6.00K | $108.03K | Indirect |
| Feb 26, 26 | BATTEN JOHN H Chief Executive Officer |
STOCK | 535 | $9.66K | Indirect |
| Feb 25, 26 | BATTEN JOHN H Chief Executive Officer |
STOCK | 2.90K | $52.28K | Indirect |
| Feb 17, 26 | BATTEN JOHN H Chief Executive Officer |
STOCK | 15.00K | $270.30K | |
| Feb 12, 26 | BATTEN JOHN H Chief Executive Officer |
STOCK | 4.50K | $81.95K | |
| Feb 10, 26 | GIESSELMAN JANET PLAUT Director |
STOCK | 10.88K | $196.79K | Direct |
| Feb 2, 26 | DOAR MICHAEL Director |
STOCK | 935 | $16.25K | Direct |
| Feb 2, 26 | JOHNSON DAVID WILLIAM Director |
STOCK | 234 | $4.07K | 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 |
|---|---|---|---|
BATTEN JOHN H |
Chief Executive Officer | 1.22M | Stock Award(Grant) |
DOAR MICHAEL |
Director | 130.36K | Stock Award(Grant) |
GIESSELMAN JANET PLAUT |
Director | 51.73K | Stock Award(Grant) |
JOHNSON DAVID WILLIAM |
Director | 75.28K | Stock Award(Grant) |
KNUTSON JEFFREY SCOTT CPA |
Chief Financial Officer | 182.58K | Stock Award(Grant) |
LARIMER JULIANN |
Director | 28.61K | Stock Award(Grant) |
OLSEN KEVIN M. |
Director | 26.07K | Stock Award(Grant) |
SMILEY MICHAEL C |
Director | 74.75K | 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 | $340.74M | $295.13M | $276.96M | $242.91M | +15.5% |
| Operating revenue | $322.80M | $275.95M | $276.96M | $242.91M | +17.0% |
| Cost of revenue | $248.01M | $211.81M | $202.63M | $174.10M | +17.1% |
| Gross profit | $92.73M | $83.32M | $74.33M | $68.81M | +11.3% |
| Selling, general & admin | $82.43M | $71.62M | $62.24M | $60.09M | +15.1% |
| Total operating expense | $82.43M | $71.62M | $58.09M | $56.80M | +15.1% |
| Operating income | $10.29M | $11.70M | $16.24M | $12.01M | -12.0% |
| Net interest income | -$2.65M | -$1.44M | -$2.25M | -$2.13M | -83.4% |
| Pre-tax income | $1.77M | $15.37M | $14.46M | $12.60M | -88.5% |
| Tax provision | $3.37M | $4.12M | $3.79M | $1.82M | -18.3% |
| Net income | -$1.89M | $10.99M | $10.38M | $10.47M | -117.2% |
| Net income to common | -$1.89M | $10.99M | $10.38M | $10.47M | -117.2% |
| Basic EPS | -0.14 | 0.80 | 0.77 | 0.61 | -117.5% |
| Diluted EPS | -0.14 | 0.79 | 0.75 | 0.60 | -117.7% |
| EBIT | $4.42M | $16.81M | $16.72M | $14.73M | -73.7% |
| EBITDA | $19.31M | $26.79M | $26.08M | $24.28M | -27.9% |
| Basic shares | 13.86M | 13.68M | 13.47M | 13.35M | +1.3% |
| Diluted shares | 13.86M | 13.88M | 13.81M | 13.38M | -0.2% |
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Cash & equivalents | $16.11M | $20.07M | $13.26M | $12.52M | -19.7% |
| Cash & short-term investments | $16.11M | $20.07M | $13.26M | $12.52M | -19.7% |
| Accounts receivable | $58.94M | $52.21M | $54.76M | $45.45M | +12.9% |
| Inventory | $151.95M | $130.48M | $131.93M | $127.11M | +16.5% |
| Total current assets | $246.91M | $219.63M | $219.71M | $204.45M | +12.4% |
| Property, plant & equipment | $86.83M | $74.70M | $51.78M | $54.30M | +16.2% |
| Goodwill & intangibles | $16.25M | $12.69M | $12.64M | $13.01M | +28.1% |
| Total assets | $355.56M | $312.06M | $289.18M | $276.52M | +13.9% |
| Total current liabilities | $125.79M | $99.52M | $100.09M | $81.08M | +26.4% |
| Current debt | $3.00M | $2.00M | $2.01M | $2.00M | +50.0% |
| Long-term debt | $28.45M | $23.81M | $16.62M | $34.54M | +19.5% |
| Total debt | $49.20M | $42.71M | $29.44M | $47.12M | +15.2% |
| Total liabilities | $191.17M | $157.00M | $143.66M | $145.34M | +21.8% |
| Retained earnings | $125.41M | $129.59M | $120.30M | $109.92M | -3.2% |
| Shareholder equity | $164.01M | $154.70M | $145.09M | $130.78M | +6.0% |
| Working capital | $121.12M | $120.11M | $119.61M | $123.37M | +0.8% |
| Net tangible assets | $147.76M | $142.02M | $132.46M | $117.77M | +4.0% |
| Shares issued | 14.63M | 14.63M | 14.63M | 14.63M | 0.0% |
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Net income | -$1.60M | $11.25M | $10.68M | $10.78M | -114.2% |
| Depreciation & amortisation | $14.90M | $9.98M | $9.36M | $9.55M | +49.3% |
| Stock-based compensation | $4.11M | $3.45M | $3.00M | $2.43M | +19.1% |
| Change in working capital | $5.41M | $10.01M | $4.43M | -$25.96M | -46.0% |
| Operating cash flow | $23.98M | $33.72M | $22.90M | -$8.31M | -28.9% |
| Capital expenditure | -$15.16M | -$8.71M | -$7.92M | -$4.73M | -74.1% |
| Investing cash flow | -$32.90M | -$32.07M | -$408.00K | $5.90M | -2.6% |
| Dividends paid | -$2.28M | -$1.70M | $0 | — | -34.7% |
| Financing cash flow | -$965.00K | $2.75M | -$19.51M | $4.05M | -135.0% |
| Free cash flow | $8.82M | $25.01M | $14.98M | -$13.04M | -64.7% |
| End cash position | $16.11M | $20.07M | $13.26M | $12.52M | -19.7% |
| Line item | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|
| Total revenue | $96.69M | $90.18M | $80.00M | $96.68M | $81.24M | +7.2% |
| Operating revenue | $96.69M | $90.18M | $80.00M | $78.73M | $81.24M | +7.2% |
| Cost of revenue | $69.56M | $67.81M | $57.06M | $66.66M | $59.54M | +2.6% |
| Gross profit | $27.13M | $22.37M | $22.93M | $30.02M | $21.71M | +21.3% |
| Selling, general & admin | $21.25M | $20.65M | $20.70M | $24.62M | $19.76M | +2.9% |
| Total operating expense | $21.31M | $20.28M | $20.70M | $24.62M | $19.76M | +5.1% |
| Operating income | $5.82M | $2.09M | $2.23M | $5.40M | $1.95M | +179.0% |
| Net interest income | -$790.00K | -$772.00K | -$800.00K | -$855.00K | -$660.00K | -2.3% |
| Pre-tax income | $5.39M | $698.00K | $571.00K | $1.54M | -$280.00K | +672.9% |
| Tax provision | $1.84M | -$21.78M | $983.00K | $48.00K | $1.14M | +108.4% |
| Net income | $3.33M | $22.37M | -$518.00K | $1.42M | -$1.47M | -85.1% |
| Net income to common | $3.33M | $22.37M | -$518.00K | $1.42M | -$1.47M | -85.1% |
| Basic EPS | 0.23 | 1.58 | -0.04 | 0.10 | -0.11 | -85.4% |
| Diluted EPS | 0.23 | 1.55 | -0.04 | 0.10 | -0.11 | -85.2% |
| EBIT | $6.18M | $1.47M | $1.37M | $2.40M | $380.00K | +320.7% |
| EBITDA | $9.61M | $4.81M | $4.83M | $7.10M | $4.04M | +99.9% |
| Basic shares | 14.20M | 14.16M | 13.96M | 13.90M | 13.89M | +0.2% |
| Diluted shares | 14.42M | 14.39M | 13.96M | 13.97M | 13.89M | +0.2% |
| Line item | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|
| Cash & equivalents | $16.11M | $14.89M | $14.24M | $16.11M | $16.25M | +8.2% |
| Cash & short-term investments | $16.11M | $14.89M | $14.24M | $16.11M | $16.25M | +8.2% |
| Accounts receivable | $64.08M | $53.62M | $63.95M | $58.94M | $57.31M | +19.5% |
| Inventory | $160.33M | $163.18M | $158.27M | $151.95M | $137.96M | -1.7% |
| Total current assets | $260.42M | $251.88M | $254.55M | $246.91M | $231.97M | +3.4% |
| Property, plant & equipment | $85.63M | $87.28M | $86.46M | $86.83M | $80.67M | -1.9% |
| Goodwill & intangibles | $15.49M | $15.07M | $15.39M | $16.25M | $15.04M | +2.8% |
| Total assets | $391.02M | $384.01M | $363.54M | $355.56M | $332.88M | +1.8% |
| Total current liabilities | $124.33M | $118.53M | $122.20M | $125.79M | $109.86M | +4.9% |
| Current debt | $3.00M | $3.00M | $3.00M | $3.00M | $3.00M | 0.0% |
| Long-term debt | $42.07M | $41.52M | $40.72M | $28.45M | $37.77M | +1.3% |
| Total debt | $61.17M | $60.88M | $60.53M | $49.20M | $58.28M | +0.5% |
| Total liabilities | $204.49M | $198.84M | $202.65M | $191.17M | $182.69M | +2.8% |
| Retained earnings | $148.88M | $146.13M | $124.33M | $125.41M | $124.57M | +1.9% |
| Shareholder equity | $185.66M | $184.53M | $160.32M | $164.01M | $149.50M | +0.6% |
| Working capital | $136.10M | $133.34M | $132.35M | $121.12M | $122.11M | +2.1% |
| Net tangible assets | $170.17M | $169.46M | $144.92M | $147.76M | $134.46M | +0.4% |
| Shares issued | 14.63M | 14.63M | 14.63M | 14.63M | 14.63M | 0.0% |
| Line item | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|
| Net income | $3.56M | $22.48M | -$412.00K | $1.50M | -$1.42M | -84.2% |
| Depreciation & amortisation | $3.42M | $3.34M | $3.46M | $4.71M | $3.66M | +2.6% |
| Stock-based compensation | $895.00K | $916.00K | $862.00K | $983.00K | $1.50M | -2.3% |
| Change in working capital | $38.00K | -$1.88M | -$11.04M | $9.05M | -$62.00K | +102.0% |
| Operating cash flow | $5.31M | $4.55M | -$7.52M | $16.45M | $3.22M | +16.5% |
| Capital expenditure | -$3.56M | -$3.32M | -$3.43M | -$7.71M | -$2.31M | -7.1% |
| Investing cash flow | -$3.34M | -$3.38M | -$3.44M | -$8.93M | -$18.79M | +1.0% |
| Dividends paid | -$580.00K | -$571.00K | -$566.00K | -$582.00K | -$566.00K | -1.6% |
| Financing cash flow | -$54.00K | -$175.00K | $9.87M | -$11.15M | $14.10M | +69.1% |
| Free cash flow | $1.75M | $1.24M | -$10.95M | $8.74M | $906.00K | +41.7% |
| End cash position | $16.11M | $14.89M | $14.24M | $16.11M | $16.25M | +8.2% |
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.23 | 0.64 | +178.3% |
| Mar 2026 | — | 0.23 | — |
| Dec 2025 | 0.10 | 1.55 | +1,450.0% |
| Sep 2025 | 0.02 | -0.04 | -300.0% |
Forward consensus
| Period | EPS | Analysts | Revenue | Growth |
|---|---|---|---|---|
| Current quarter | 0.01 | 1 | $89.60M | +12.0% |
| Next quarter | 0.17 | 1 | $101.00M | +12.0% |
| Current year | 0.74 | 1 | $410.08M | +7.6% |
| Next year | 1.02 | 1 | $442.89M | +8.0% |
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 |
|---|---|---|---|---|
| Jul 9, 26 | Lake Street | INITIATED | — | Buy |
| Apr 17, 25 | Longbow Research | INITIATED | — | Buy |
| Apr 17, 20 | Oppenheimer | MAINTAINED | — | Outperform |
| Dec 17, 18 | Oppenheimer | INITIATED | — | Outperform |
| Jun 21, 17 | Seaport Global | DOWNGRADE | Buy | Neutral |
| Feb 13, 17 | Seaport Global | UPGRADE | Neutral | Buy |
| Apr 27, 16 | Seaport Global | DOWNGRADE | Speculative Buy | Neutral |
| Apr 30, 14 | Seaport Global | UPGRADE | Neutral | Accumulate |
| Oct 23, 13 | Baird | DOWNGRADE | Outperform | Neutral |
| Apr 4, 12 | Global Hunter Securities | INITIATED | — | Neutral |
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.