-
Notifications
You must be signed in to change notification settings - Fork 1
Consolidated Investment Portfolio Analytics
#PortfolioAnalytics #MarketData #FX #Equities #ETFs #MutualFunds #IRR #NAV #PnL #Python #pandas #matplotlib #API #MongoDB #NoSQL
- My investment accounts are scattered across different brokers in multiple currencies (GBP, SGD, HKD) due to my employment history.
- PAD (Personal Account Dealing) reporting to my employer's Compliance department is manual and very time-consuming.
- There is no holistic view of overall performance or composition of my portfolio to aid my investment decisions.
I built my own portfolio analytics tool that consolidates all my transactions across countries and brokers, connects to Yahoo Finance via API for historical market data (NAV and FX rates), handles the FX conversions, and produces the following output:
- consolidated investments with NAV, realised & unrealised PnL in a single currency
- calculates my portfolio IRR (internal rate of return) and benchmarks it against S&P 500 index returns over different date ranges
- displays consolidated investment cost vs valuation over time in a single currency
- displays consolidated PnL over time, break down by dividends and trading PnL
- displays composition of portfolio, asset allocation, currency exposure
- displays top holdings, their individual performance; and top gainers & losers
- automated PAD reporting
URL: https://github.com/wilsonleong/PortfolioAnalytics/projects/1
How do I measure whether I'm actually better off (and by how much) managing my own portfolio, than simply buying an ETF that tracks S&P 500 (e.g. SPY)? --> benchmark my portfolio IRR (internal rate of return) against S&P 500 returns
Breakdown of daily fluctuation in portfolio valuation
Note: Yes I know, MongoDB might be an overkill for this. It was not a technical choice, it's my way to familiarise myself with NoSQL :)