Benchmark
Compare your portfolio return against SPY, QQQ, or any custom index over the same period. It's a simple question: are you beating the market, or just riding along with it?
firma show benchmark
Pulls daily candles for each benchmark from Finnhub and compares total
return over the same window your portfolio covered. When daily snapshots
exist, the start date is your earliest snapshot. Otherwise it falls back
to your earliest transaction date with a cost-basis comparison.
$firma show benchmark
Benchmark Comparison 2024-01-02 → 2026-04-27 (846d)| Portfolio | +61.23% | $100,000 → $161,230 | (snapshot) |
| SPY | +28.41% | $450.00 → $578.00 | |
| QQQ | +35.10% | $380.00 → $513.80 | |
| Alpha vs SPY | +32.82% | ||
| Alpha vs QQQ | +26.13% | ||
Requires a Finnhub API key. Free plan provides up to 1 year of daily
candle data. For longer comparisons, the response includes a warning
and the benchmark window is clipped.
Options
--from YYYY-MM-DDStart date (default: earliest snapshot or transaction)
--to YYYY-MM-DDEnd date (default: today)
-b, --benchmarksComma-separated tickers (default: SPY,QQQ; try IWM, DIA, or VOO)
--jsonOutput as JSON for scripting
Snapshot vs Cost-basis Mode
With daily snapshots (preferred)
Uses your day-by-day portfolio total for a true like-for-like comparison against the benchmark's daily close. The more snapshots you have, the more reliable the result.
Without snapshots (fallback)
Compares total cost basis to current market value, with a note in the output. It does not account for capital being added on different dates, so treat it as directional only. Run
firma add snapshot regularly to upgrade.