Positions & purchase lots
The Positions page lists every holding in the active environment with quantity, market value, and profit-or-loss (color-blind-safe teal/rose, always paired with ▲/▼ markers). Expand a row for the lot detail. A Cashrow is pinned to the foot of the table: it’s your uninvested cash balance (what’s left after your holdings), shown with its share of the account. Cash isn’t a stock or coin you bought, so it has no cost or profit-or-loss, just a balance and a weight. Quantities show every decimal your broker reports, so a part-share (a fraction of one share or coin) reads exactly, such as 0.004 rather than a rounded 0.00.
Purchase lots
Each buy creates a lot: its own quantity, cost basis (what you paid for those shares), and purchase date. A position you’ve added to over time is really a stack of lots, and the expanded row shows each one with its own cost basis, so you can see exactly what you paid for each tranche rather than a single blended average. You can also download every open lot as a spreadsheet-ready file from the Export lots CSV button in the page header — see Export your data.
Lot flags
The expanded view surfaces two factual flags. A position sitting at an unrealized loss is marked TLH (tax-loss-harvesting eligible): selling it would lock in a loss you can use against taxable gains; this is a whole-position marker, not something attached to individual lots. And each lot’s wash-sale window reads review when that lot was acquired within 30 days (before or after) a loss-realizing sale of the same symbol, otherwise clear. Both are informational signals, not tax advice, and neither triggers a trade on its own.
Closing a holding
Each holding’s row (on a phone, its card) has a Close button for closing out that one holding in full. The confirm window shows the symbol, the exact quantity, the account (PAPER or LIVE), whether it will sell or, for a short position (shares sold without owning them), buy to close it, and an estimated value. If that estimate is under about $1, it warns that your broker may refuse an order that small. Nothing is sent until you confirm. A close covers the whole position (every lot of that symbol); it doesn’t pick individual lots. To sell only part of a holding, use the order ticket. The Cash row has no Close button. For the checks a close goes through, see Closing a whole holding.
Where the numbers come from
Positions read live from your broker, including each holding’s market value and unrealized profit-or-loss. The expandable purchase lots are reconstructed first-in, first-out (FIFO — a sell is matched against your oldest shares first) from your synced fill history, so each lot shows its own cost basis rather than a blended average. FIFO is how SleeveFolio displays lots; your broker’s 1099 may match sold shares to lots a different way, so the lots here can differ from what your tax forms show. If the live position and the reconstructed lots ever disagree, that’s exactly what reconciliation exists to catch.
Stock splits
When a stock you hold splits, the number of shares in your account changes without a trade: a 10-for-1 split turns 5 shares into 50, a 1-for-5 reverse split turns 50 into 10. SleeveFolio picks each split up from Alpaca’s corporate-actions record on its next sync with your broker and applies it to the reconstructed lots from the day it took effect. A lot of 5 shares bought at $1,000 becomes 50 shares with a $100 cost basis; its total cost and purchase date don’t change. Later sells are then matched against the right basis instead of reading as a huge gain or loss, the lot flags stay honest, and the share count agrees with what your broker shows. A plain stock split is the one corporate action handled this way — a symbol change, a spin-off, or a dividend paid in shares still shows up as a difference for reconciliation to catch.