Investments calculations explained
Contents
Your investment figures come from two different calculations, and knowing which is which explains why the Positions chart can read slightly differently from the Net Asset Value chart.
- The transaction engine replays every transaction you logged, day by day, to build your net asset value, cash flow and performance. It is the full-fidelity record of your account over time.
- The position snapshot takes your current holdings and works out the profit and allocation metrics shown on the Positions chart. It is a lighter, end-of-period view of where you stand today.
The difference is that the transaction engine works over time—your full history of transactions—so its figures are exact across that whole history. The position snapshot works only from what you hold now: your current holdings and their average cost, with no timeline attached. Because it does not know how long you have held each asset, it has to approximate anything that depends on that—most of all the exchange rates used to value a foreign-currency holding, which it anchors to a recent date rather than replaying over your actual holding period. Its figures are therefore exact for your most recent period and become rougher the longer a position has been held. The sections below cover each figure in turn.
Your net asset value (NAV) is the total value of everything you hold, in your base currency, on a given day. pfolio places each transaction on a daily timeline and, for each day, values every asset position at its closing price times the quantity you hold times the exchange rate, then adds every cash balance. The NAV is the sum of all of these.
For a leveraged or margined asset, only the margin requirement ties up cash: pfolio commits that fraction of the position's value and books the remainder as a separate cash leg, so your NAV and profit reflect the margined exposure rather than the full notional.
Each transaction type moves your NAV in its own way:
- Trade: moves value between cash and an asset. Buying does not change your NAV at the moment of the trade—cash becomes an equal value of the asset—after which your NAV moves with the asset's price.
- Transfer: a deposit or withdrawal of cash, which raises or lowers your NAV directly.
- Fee: reduces your cash, and so your NAV.
- NAV: a manual reconciliation. pfolio measures the gap between your calculated NAV and the figure you enter, and carries that adjustment forward, snapping the calculated value to your actual one.
Each trade settles in the asset's own currency, and pfolio does not convert currencies for you. Buying a US-dollar asset from a Swiss-franc account, for example, leaves a negative US-dollar balance—an amount you owe—alongside your francs, until you fund it with a Transfer or convert it with an exchange-rate trade. Every balance, positive or negative, and every holding is then valued in your base currency at each day's exchange rate, so the only currency effect on your NAV is the movement of those rates. No interest is automatically earned on cash or charged on a negative balance; to reflect interest, record it yourself as a Fee.
Your cash flow is the money moving into and out of your investments—and it is built from your Transfer transactions only. Deposits count as positive, withdrawals as negative. Trades, fees and manual NAV adjustments are not cash flow, because they move value within your account rather than in or out of it. The Cash Flow chart aggregates these transfers by day, month or year.
To measure performance fairly, pfolio first removes the effect of money you add or withdraw: it nets your cash flow out of your NAV, then chains the day-to-day changes into a rebased price series. This is a time-weighted return, so paying money in or taking it out neither flatters nor depresses the figure—only the performance of your holdings does.
There are two versions: a total return that includes dividends, and a price return that excludes them. This rebased series is exactly what lets your whole account be treated as the single my_investments asset, on which the Insights metrics—such as Sharpe ratio, volatility and drawdown—are then calculated. For what those metrics mean, see The metrics we use.
The Positions chart in the Investments Overview offers five metrics, each worked out from a snapshot of your current holdings:
- Profit (%): a holding's gain or loss measured against what you paid for it—its return on cost.
- Profit (% of Portfolio): the holding's share of your portfolio's total profit.
- Profit (Absolute): that gain or loss, in your base currency.
- Allocation (% of Portfolio): the holding's current value as a share of your whole portfolio.
- Allocation (Absolute): the holding's current value, in your base currency.
Cost is tracked as the buy-weighted average price you paid. The snapshot has no purchase dates to work from—above all when you provide positions only—so it anchors exchange rates to the start of the current period, the most recent month-end, rather than to when you actually bought each holding. For a foreign-currency holding this matters: the FX gain or loss reflects only the rate movement since that anchor, not over the whole time you have held the asset. So the base-currency profit is exact for your latest period and an approximation the longer a position has been held; the snapshot also leaves out dividends and interest. For figures that account for your full history, rely on the net asset value and performance above.
Every figure is expressed in the base currency you set in the Trade Log. The transaction engine converts each holding at that day's exchange rate, so currency moves are reflected throughout your history; the position snapshot converts using the rate at the start of the period—the most recent month-end—and the latest rate, since it has no purchase date to anchor to. Cash you hold in another currency is treated as a foreign-exchange position, so its value moves with the exchange rate too.
A few rules are worth knowing:
- Blank trade price: leave the price empty on a Trade and pfolio uses the asset's closing price on that date.
- Trading days: transactions dated on a weekend are rolled to the next trading day, and all figures are calculated on trading days.
- Stock splits: historical trades are adjusted for splits automatically.
- Interest on cash: pfolio does not accrue interest on cash balances automatically. To include interest you earn or pay, record it yourself as a Fee—a positive amount for interest received, a negative amount for interest paid.
- Dividends: they are included in your total-return performance, but not in the position-snapshot profit.