I built Portfolio Analytics to answer a problem that traditional investment dashboards don't explain particularly well: how much of a portfolio's growth came from investment performance, and how much simply came from adding more money.
The hypothesis was that plotting portfolio value against net contributions would make that relationship immediately visible. Instead of treating deposits and withdrawals as secondary statistics, they become a core part of the visualisation.
The prototype reconstructs portfolio performance from historical financial data, normalising transactions and holdings into a consistent dataset that can be analysed across the complete portfolio or individual shares and ETFs.
The interface combines total portfolio value, contributions and withdrawals, and investment gains or losses on the same timeline. It supports 1M, 3M, 6M, YTD, 1Y, 3Y, 5Y and MAX views, allowing the same underlying data model to be explored at different timescales.
Portfolio calculations are separated from the presentation layer. Historical data is processed and exposed through an API, while the React frontend handles interactive visualisation and exploration.
The result is a working product prototype designed to answer more useful questions than simply "What is my portfolio worth?" — how much have I invested, how much has the investment itself gained or lost, and when did those changes happen?
Tech
React, Python, REST API,
Data visualisation, Financial data modelling