Context
When investments are spread across several brokers, each one has its own export format and its own way of computing returns. This experiment looks for a single, consistent view of the whole portfolio.
Approach
- Import. Each broker’s CSV exports are normalized with pandas and loaded into a single ledger in DuckDB.
- Analysis. Allocation by asset and by currency, and time-weighted (TWR) and money-weighted (MWR) returns.
- Tracking. A dividend calendar and rebalancing alerts when the portfolio drifts from its target allocation.
- Interface. A Streamlit app with interactive Plotly charts.
Outcome
It is an ongoing experiment for personal use. It serves as a test bed for working with heterogeneous financial data and for understanding in depth how the different return measures are calculated.