Package: investorzilla
Personal Investments DashboardPersonal web application to manage a diverse investment portfolio in multiple currencies, including crypto and market indexes. Delivered as aStreamlitapp. Includes also a module to hack your investments in Jupyter notebooks.Dashboards reads yourledgerandbalancesfrom an online Google Spreadsheet (see example), gets historical benchmarks and currency convertion tables from multiple configurabe internet sources, and created a rich explorable dashboard.All or some or each of your investments are internally normalized into a single “fund” withnumber of sharesandshare value. From there, multiple visualizations are possible.Install and RunRuns on macOS, Windows, Linux or anywhere Python, Pandas and Streamlit can be installed.
Here is a video I put in place that shows Investorzilla getting installed on a Mac
and run for the first time with itsexample portfolio file.InstallAfter getting Python 3 installed, installInvestorzillawithpip:pip install investorzilla --userConfigureCreate a folder and then build yourinvestorzilla.yamlfile with information about data sources, benchmarks and currencies.Start with the examples fromhttps://github.com/avibrazil/investorzilla/blob/main/config_examples/RunAfter installing your API keys (in case of using CryptoCompare data), run it like the following from the same folder containinginvestorzilla.yaml:investorzillaAccess the dashboard onhttp://localhost:8501(or remotelly if your browser is in a different machine)FeaturesVirtual FundsCreate a unified virtual fund with only some of the investments found in your portfolio spreadsheet.Your whole porfolio will be used if left balnk. Then you mightexcludesome to match the particular visualization you are trying to attain.Currency and BenchmarksYou may track your investments using multiple currencies, inluding crypto. I have investments in USD and BRL. You can create virtual funds that mix different currencies, in this case you must select a currency under which you’ll view that (virtual) fund. Values from your spreadsheet will be converted to the target currency on a daily basis.Also, you might compare your investment performance with market benchmarks as S&P 500, NASDAQ index etc. Just remember to use a benchmark that matches the current currency, otherwise comparisons won’t make sense.Period SelectorIf you have enough or high frequency data, you can divide time in more granular regular periods. Default is monthy view with an anual summary.Graphs and ReportsCurrently supports 4 graphs, from left to right, top to bottom:Virtual share value performance compared to a selected benchmarkPeriodic (monthly, weekly) gain, along with 12M moving average and moving medianFrequency histogram of percent return rate per period (default is per month)Fund savings, balance and gains (which is pure balance minus savings)There is also numerical reports showing:PerformancePeriodic (monthly) rate of return with an macro-period (yearly) accumulated valueSame for selecte benchmarkExcess return over benchmarkPeriodic and accumulated gainWealth EvolutionCurrent balanceBalance over savingsCumulated gainsCumulated savingsMovements on the periods, which is the sum of money added to and removed from virtual fundUsage TipsSelect a custom period on the sliderView your main metrics on top of reportTo optimize screen usage, on the the top right menu, selectSettingsand thenWide modeHide the left panel to gain even more screen real estateUseRefresh databuttons to update local cache with latest info from yourporfolio spreadsheet,market dataorboth.