Track multiple portfolios with holdings, cash, valuation, allocation and realized/unrealized P/L — all built on an immutable transaction ledger that is the single source of truth for cash and ownership.
Every event is recorded: buys, sells, deposits, withdrawals, dividends, interest, fees, taxes, transfers and corporate actions. Each entry stores quantity, price, fees, taxes, currency and its exact cash impact, and updates your cash and holdings automatically. History is never edited or deleted — corrections are posted as reversal entries, so the audit trail stays intact. If a portfolio predates the ledger, an opening-balance snapshot is synthesized from its holdings (real quantities and costs, clearly labeled — not a real trade).
The app deliberately separates three things people confuse: portfolio value (holdings + cash), capital you put in (deposits minus withdrawals), and your investment return. Adding cash is never counted as a gain. Return is shown two honest ways once you have dated transactions:
- Time-weighted (TWR) — what the strategy returned, neutralizing the timing and size of your deposits.
- Money-weighted (MWR / XIRR) — your personal return given when you actually added or withdrew money.
For an opening-balance-only ledger, the exact cost→market total return is shown and TWR/MWR are marked as needing dated history.
Pick any past transaction and replay the portfolio under an alternative:
- Keep instead of sell — what if you hadn't sold it?
- Don't buy — what if you'd kept the cash?
- Buy something else — what if you'd bought a different asset for the same money?
The engine reconstructs history from the ledger and point-in-time prices, and reports today's actual value versus the counterfactual, plus the decision impact. It preserves cash conservation and never double-counts capital: if keeping a sold position would have required extra money (because the proceeds funded later buys), that additional capital is stated as an explicit assumption — never hidden. Results carry a status of Valid, Valid-with-assumptions, Invalid, or Incomplete-data.
Beyond replaying single alternatives, Decision Analytics runs every buy and sell through the engine to show which decisions created or destroyed value, your best and worst calls, and the net effect. Each decision also gets a transparent 0–100 Decision Score across seven weighted components — outcome (30), position sizing (15), risk-adjusted (15), timing (15), agreement with the AI recommendation at the time (10), process consistency (10) and confidence calibration (5). Only components with enough data are scored; the rest are shown blank and the score is re-weighted over what's available — never invented. Outcome is deliberately separated from process: a sound decision can have a bad short-term result, and a poor one can get lucky.
Insights turn the analytics into plain-language observations (with sample size), and an optional AI summary may rephrase them — the AI never computes a number. Grouping suggestions spot buys and sells that likely belong to one decision (e.g. selling two names to fund a purchase). A dependency graph records when a purchase was funded by a prior sale, which is what lets the counterfactual engine refuse to keep both a sold position and the purchase its proceeds paid for without adding capital.
When you replace one holding with another — or a basket — AlphaForgeReco also keeps a Shadow Portfolio of what you sold and compares it against what you bought (decision alpha over time).
Every figure is computed deterministically from stored prices; missing prices or inferred funding links are surfaced as warnings. The AI may explain a result in plain language — it never calculates one.