Portfolio
Holdings, average cost basis, and unrealized P&L are derived automatically from your transaction history. There is no separate holdings table to maintain.
Ask Claude
"How's my portfolio?"Positions, P&L, concentration, and the one thing to watch in a single answer
"Is TSLA too big a chunk?"Concentration risk + scenario impact stitched together automatically
"I just bought 10 NVDA at $875"Log a trade through plain conversation. Claude calls
add_txn for youClaude composes
show_portfolio, show_concentration,
and show_macro automatically. The CLI section below is for
when you want the same data in the terminal directly.firma show portfoliopower user
Displays every current position with quantity, average cost per share,
current market price, and unrealized P&L. Run
firma sync first
if you want fresh prices.$firma show portfolio
| TICKER | QTY | AVG | PRICE | YIELD | P&L |
|---|---|---|---|---|---|
| MSFT | 18 | $421.32 | $424.62 | 0.88% | +$59.40 (+0.78%) |
| TSLA | 400 | $249.91 | $376.30 | ─ | +$50,556.43 (+50.57%) |
| AAPL | 43 | $196.29 | $271.06 | 0.38% | +$3,215.11 (+38.09%) |
| NVDA | 156 | $128.05 | $208.27 | 0.02% | +$12,514.80 (+62.65%) |
| Value | $202,308.86 | ||||
| Cost | $135,963.12 | ||||
| P&L | +$66,345.74 +48.80% | ||||
| Synced | 0m ago | ||||
AVG is the weighted average cost across all buy and deposit transactions.
YIELD is the annual dividend yield from Finnhub. Blank for non-dividend tickers.
Allocation & Net Worth Breakdown
Below the holdings table,
firma show portfolio also shows sector
and country allocation bars, plus a net worth snapshot based on your latest balance entry.Sector Allocation Automobiles ━━━━━━━━━━━━━━━───── 74.4% Semiconductors ━━━───────────────── 16.1% Technology ━━────────────────── 9.5% Country Allocation US ━━━━━━━━━━━━━━━━━━━━ 100.0% Net Worth Breakdown Investments ━━━━━━━━━━━━━─────── $273,641 64.0% Other Assets ━━━━━─────────────── $109,935 25.7% Cash ━━────────────────── $44,188 10.3% Net Worth $426,691 2026-03 Portfolio MV $202,308.86
Net Worth Breakdown uses the most recent balance entry. Run
firma add balance monthly to keep it current.firma sync
Fetches current market prices for every ticker in your portfolio from Finnhub
and caches them locally. This requires a Finnhub API key, which you can set once with
firma config set finnhub-key <key>.$firma sync
✓TSLA $376.30
✓NVDA $208.27
✓MSFT $412.50
✓AAPL $209.80
Prices are cached locally. Firma never calls Finnhub unless you run
firma sync or ask Claude to sync_prices.
Free Finnhub keys support up to 60 API calls/minute.