Portfolio

Holdings, average cost basis, and unrealized P&L — derived automatically from your transaction history. No separate holdings table to maintain.

Displays all current positions with quantity, average cost per share, current market price, and unrealized P&L. Run firma sync first to refresh prices.

$firma show portfolio
TICKERQTYAVGPRICEP&L
TSLA392$245.68$376.30+$55,870.94 (+60.97%)
NVDA156$128.05$208.27+$12,514.80 (+62.65%)
MSFT18$380.00$412.50+$585.00 (+8.6%)
AAPL43
Value$179,999.72
P&L+$68,385.75 +61.27%
Synced4/25/2026, 8:35 AM

Tickers without a price haven't been synced yet — run firma sync. AVG is the weighted average cost across all buy and deposit transactions.

Fetches current market prices for every ticker in your portfolio from Finnhub and caches them locally. Requires a Finnhub API key — set it once withfirma config set finnhub-key <key>.

$firma sync
TSLA $376.30
NVDA $208.27
MSFT $412.50
AAPL $209.80
Synced 4 tickers at 8:35 AM

Prices are cached locally — firma never calls Finnhub unless you runfirma sync or ask Claude to sync_prices. Free Finnhub keys support up to 60 API calls/minute.

MIT License