All portfoliosEURREAD-ONLY

Methodology

Every number in this app is derived, and every derivation is inspectable. The pages here are the whole pipeline, the exact math, the cash and currency rules, the assumptions behind it, and what the terms mean.

These pages reflect the demo account's settings — risk-free rate 2.0%, VaR confidence 95%, rebalancing band ±20%, reporting currency EUR, region —. In your own account they are yours to set, and every formula below re-substitutes to match.

Cash & currency

Where cash lives

Per-sub-portfolio cash ledger — built automatically from the broker CSV: dividends, interest, deposits, withdrawals, fees, tax, plus the cash impact of every trade (buy = −(shares×price + fee), sell = +(shares×price − fee)). Shown on each portfolio's own Bookings tab.

Uninvested cash, at account level — not a ledger of its own, but every sub-portfolio's own cash balance, converted to the account's base currency and summed. It is already inside account NAV (each portfolio's own value already includes it); the account-level figure states it separately because it answers a different question — how much is sitting uninvested rather than at market risk — not a second pot on top of portfolio value.

What counts as performance vs. a flow

For time-weighted return, the engine has to separate your capital movements from genuine market performance:

EventEffect on valueTreated as
Deposit / withdrawal / transferchanges balanceexternal flow (neutralised)
Dividend / interestincreases balancereturn (kept)
Fee / taxdecreases balancereturn — a real cost (kept)

This is why depositing 1,000 EUR of savings never shows up as a gain — the deposit is removed from the return numerator before TWR is computed.

Currency & FX

Each instrument is priced in its own quote currency, then converted to the portfolio's base currency at that day's historical FX rate (not today's), so a position's value reflects the exchange rate on the actual day. FX series come from Yahoo — direct pair, inverse, or triangulated through USD. Sub-unit quotes are rescaled: London ETFs quoted in pence (GBp) are divided by 100 to avoid a 100× overstatement.

Each cash event converts to the portfolio's base currency at the rate on its own date and stays booked there — the running balance is a sum of already-converted amounts, never revalued afterward. A sub-portfolio's cash IS revalued day to day once it rolls into an account with a different base currency; see the assumption on the Assumptions page for what that means for a multi-currency account, and the currency term of the Cash effect on the Metrics page for where the revaluation itself is reported.