How the numbers work
Last updated: 13 July 2026
Most portfolio tools show you a number and ask you to trust it. AlphaFlow is built the other way round: every figure on screen traces to one source you can check against your own broker app, every signal names the data that produced it, and anything we can’t verify is labelled unknown rather than dressed up as a confident zero. This page explains how — in enough detail to hold us to it.
One calculation path per number
A value shown in two places must come from one function. Your net worth, per-position P&L, allocation, and period returns are all computed by a single valuation routine — the same one, whether the data loads from a fresh import or from the database. There is no second, view-local copy of the math that can quietly disagree.
That isn’t just a convention. A reconciliation check re-derives every aggregate from your raw transaction log, on both load paths, and compares them against the stored figures — hundreds of assertions that must all pass before a change ships. When a broker export uses pence, an ADR ratio, or a currency we handle specially, the conversion happens in exactly one place, so it can’t be applied twice or missed.
What “return” means here
Three different figures could all be called “return”, so we don’t. The period figure on the Overview (1W–5Y) is flow-adjusted ROI: the period’s P&L net of your deposits and withdrawals, divided by the value you started the period with. It deliberately ignores wheninside the period money arrived — it answers “what did this period earn on what I started with”, not the fund-manager question. The all-time figure is P&L on net invested capital. The Portfolio X-ray’s monthly grid and risk ratios use a third family — daily compounded returns, which do care about timing. Where a figure has no honest denominator (a period that started at zero), we show a dash, never a made-up percentage. The precise formula for every number lives in the project’s metric dictionary, and changing any of them is treated as a displayed-number change.
Signals cite their evidence
Every BUY or SELL the strategy engine emits carries the numbers that produced it — the RSI reading, the distance to the analyst mean target and how many analysts back it, the position’s weight against its cap. Nothing is generated prose. If a holding’s live price can’t be verified, it gets no signal at allrather than one built on a number we don’t trust, and the holding is listed openly as “not evaluated”.
Signals are scored the same honest way. A call only counts once it has had a full trading day to play out; a move smaller than a set threshold is “flat” and excluded from the hit rate rather than counted as a win or loss; and no headline hit rate is shown until enough calls have matured to mean something. A SELL is scored as the move it helped you avoid. These are directional, price-only measures — they answer “which way did the calls go”, not “what would I have netted after fees and tax”.
AI claims are machine-verified
AlphaFlow’s AI review reads only the data assembled into its context, and every claim it makes about a position is validated against that data on the server before you see it. If the model asserts something it can’t cite — a figure that isn’t in the evidence it was given — that claim is dropped rather than shown. The AI can reference and reconcile the rule-based strategy signals, but it can’t invent a number and present it as fact.
Backtests are labelled counterfactuals
The strategy backtest replays the sameengine that issues live calls over real historical closes, and shows its result against simply holding and against the S&P 500. It is deliberately a model, and it says so on every run: it is price-only, uses a constant FX rate for the window, and excludes fees, taxes, dividends and slippage. Rules that need analyst consensus can’t fire historically (that data doesn’t exist for past dates) — so we exclude them and tell you, rather than fabricating inputs. The “as of a year ago” mode rebuilds the positions you actually held then from your own trade history; positions you’ve since exited are named and left out, not guessed.
Honest unknowns, and honest staleness
When a price fails a sanity check — a mismatched ticker mapping, an ADR ratio that doesn’t line up — the position is valued at cost and its unrealised P&L is shown as unknown. It is never rendered as a 0% return, because “we don’t know” and “it went nowhere” are different facts.
Your holdings reflect the broker statements you’ve uploaded. Prices are live, but positions are only as current as your last import — so when your statements start to age, the app tells you and points you to re-import, instead of implying it knows about trades it has never seen.
What this is not
AlphaFlow is a portfolio-analytics tool. It aggregates statements you upload and shows analytics on them — it is not a broker, does not execute trades or hold funds, and nothing here is personalised investment advice. Signals and AI output are informational and descriptive; the decisions are yours.