BSFO
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.
3 more panels on BSFO open with an account.
Options chains and analytics, valuation ratios, insider filings, analyst targets and ownership. No card, no trial, nothing to cancel.
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 | $29.42M | $25.10M | $22.66M | $23.55M | +17.2% |
| Operating revenue | $29.42M | $25.10M | $22.66M | $23.55M | +17.2% |
| Selling, general & admin | $11.90M | $10.54M | $8.19M | $7.80M | +12.8% |
| Pre-tax income | $9.49M | $9.31M | $9.85M | $8.30M | +2.0% |
| Tax provision | $2.71M | $2.77M | $2.92M | $2.43M | -2.1% |
| Net income | $6.78M | $6.54M | $6.93M | $5.86M | +3.7% |
| Net income to common | $6.78M | $6.54M | $6.93M | $5.86M | +3.7% |
| Basic EPS | 3.22 | 3.14 | 3.35 | 2.87 | +2.5% |
| Diluted EPS | 3.17 | 3.10 | 3.33 | 2.85 | +2.3% |
| Basic shares | 2.10M | 2.08M | 2.07M | 2.04M | +0.9% |
| Diluted shares | 2.14M | 2.11M | 2.08M | 2.05M | +1.5% |
| Line item | 2025 | 2024 | 2023 | 2022 | 2021 | YoY |
|---|---|---|---|---|---|---|
| Cash & equivalents | $71.73M | $75.22M | $101.55M | $60.04M | — | -4.6% |
| Accounts receivable | — | — | — | $11.32M | $5.71M | — |
| Property, plant & equipment | $2.59M | $1.41M | $1.60M | $1.41M | — | +83.6% |
| Total assets | $733.05M | $615.44M | $611.98M | $591.35M | — | +19.1% |
| Total liabilities | $650.00M | $540.12M | $543.60M | $529.81M | — | +20.3% |
| Retained earnings | $53.52M | $46.74M | $40.21M | $33.84M | — | +14.5% |
| Shareholder equity | $83.06M | $75.32M | $68.37M | $61.54M | — | +10.3% |
| Net tangible assets | $83.06M | $75.32M | $68.37M | $61.54M | — | +10.3% |
| Shares issued | 2.19M | 2.14M | 2.11M | 2.09M | — | +2.4% |
| Line item | 2025 | 2024 | 2023 | 2022 | YoY |
|---|---|---|---|---|---|
| Net income | $6.78M | $6.54M | $6.93M | $5.86M | +3.7% |
| Depreciation & amortisation | $248.91K | $245.51K | $253.96K | $141.63K | +1.4% |
| Stock-based compensation | $732.85K | $589.00K | $463.27K | $470.06K | +24.4% |
| Change in working capital | $251.31K | $1.28M | $2.18M | -$829.20K | -80.4% |
| Operating cash flow | $8.46M | $7.69M | $9.41M | $7.98M | +9.9% |
| Capital expenditure | -$1.43M | -$52.48K | -$446.14K | -$1.35M | -2,621.7% |
| Investing cash flow | -$118.78M | -$29.34M | $18.97M | -$19.58M | -304.9% |
| Financing cash flow | $106.83M | -$4.69M | $13.14M | -$19.50M | +2,378.0% |
| Free cash flow | $7.03M | $7.64M | $8.96M | $6.63M | -8.0% |
| End cash position | $71.73M | $75.22M | $101.55M | $60.04M | -4.6% |
| Line item | 2026-06-30 | 2026-03-31 | 2025-12-31 | 2025-06-30 | 2025-03-31 | 2024-12-31 | YoY |
|---|---|---|---|---|---|---|---|
| Total revenue | $8.40M | $8.35M | $8.35M | $7.04M | $6.49M | — | +0.6% |
| Operating revenue | $8.40M | $8.35M | $8.35M | $7.04M | $6.49M | — | +0.6% |
| Selling, general & admin | $3.44M | $3.35M | $3.26M | $2.88M | $3.03M | — | +2.8% |
| Pre-tax income | $2.27M | $2.87M | $2.99M | $2.33M | $1.56M | — | -21.0% |
| Tax provision | $609.00K | $854.00K | $783.00K | $692.00K | $466.00K | — | -28.7% |
| Net income | $1.66M | $2.01M | $2.21M | $1.63M | $1.10M | — | -17.7% |
| Net income to common | $1.66M | $2.01M | $2.21M | $1.63M | $1.10M | — | -17.7% |
| Basic EPS | 0.78 | 0.95 | — | 0.78 | 0.53 | 0.78 | -17.9% |
| Diluted EPS | 0.76 | 0.94 | — | 0.77 | 0.52 | 0.77 | -19.1% |
| Basic shares | 2.13M | 2.12M | — | 2.10M | 2.09M | 2.09M | +0.7% |
| Diluted shares | 2.17M | 2.13M | — | 2.12M | 2.13M | 2.11M | +1.8% |
| Line item | 2026-06-30 | 2026-03-31 | 2025-12-31 | 2025-06-30 | 2025-03-31 | YoY |
|---|---|---|---|---|---|---|
| Cash & equivalents | $123.99M | $92.13M | $71.73M | $87.30M | $78.19M | +34.6% |
| Property, plant & equipment | $2.94M | $3.04M | $2.59M | $1.50M | $1.35M | -3.3% |
| Total assets | $863.55M | $767.51M | $733.05M | $671.91M | $638.91M | +12.5% |
| Long-term debt | $24.00M | — | — | — | — | — |
| Total debt | $24.00M | — | — | — | — | — |
| Total liabilities | $776.69M | $682.39M | $650.00M | $593.39M | $562.16M | +13.8% |
| Retained earnings | $57.19M | $55.53M | $53.52M | $49.48M | $47.84M | +3.0% |
| Shareholder equity | $86.86M | $85.12M | $83.06M | $78.52M | $76.74M | +2.1% |
| Net tangible assets | $86.86M | $85.12M | $83.06M | $78.52M | $76.74M | +2.1% |
| Shares issued | 2.19M | 2.19M | 2.19M | 2.16M | 2.17M | 0.0% |
Newly listed companies often have nothing on file until their first annual report.
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
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.