{"id":15063778,"url":"https://github.com/avibrazil/investorzilla","last_synced_at":"2026-03-12T00:34:20.589Z","repository":{"id":204666200,"uuid":"710442292","full_name":"avibrazil/investorzilla","owner":"avibrazil","description":"Use your investments spreadsheet (Excel, Google Sheets) containing assets’ ledger and balance to get powerful insights of your investments health and performance, in multiple currencies, including crypto and market indexes.","archived":false,"fork":false,"pushed_at":"2026-02-21T10:38:41.000Z","size":3538,"stargazers_count":7,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-21T16:56:14.069Z","etag":null,"topics":["cryptocurrency","excel","google-sheets","pandas","streamlit","yahoo-finance"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avibrazil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-26T17:43:48.000Z","updated_at":"2026-02-21T10:38:45.000Z","dependencies_parsed_at":"2023-12-16T09:28:24.492Z","dependency_job_id":"9388d2dd-aa39-4818-b83e-c0569bab779a","html_url":"https://github.com/avibrazil/investorzilla","commit_stats":null,"previous_names":["avibrazil/investorzilla"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/avibrazil/investorzilla","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avibrazil%2Finvestorzilla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avibrazil%2Finvestorzilla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avibrazil%2Finvestorzilla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avibrazil%2Finvestorzilla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avibrazil","download_url":"https://codeload.github.com/avibrazil/investorzilla/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avibrazil%2Finvestorzilla/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30408531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T22:36:59.286Z","status":"ssl_error","status_checked_at":"2026-03-11T22:36:57.544Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptocurrency","excel","google-sheets","pandas","streamlit","yahoo-finance"],"created_at":"2024-09-25T00:07:10.525Z","updated_at":"2026-03-12T00:34:20.572Z","avatar_url":"https://github.com/avibrazil.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Investments Dashboard\n\nPersonal web application to manage a diverse investment portfolio in multiple currencies, including crypto and market indexes. Delivered as a [Streamlit](https://streamlit.io/) app. Includes also a module to hack your investments in Jupyter notebooks.\n\n![](pics/overview.png)\n\nDashboards reads your **ledger** and **balances** from an online Google Spreadsheet ([see example](https://docs.google.com/spreadsheets/d/1AE0F_mzXTJJuuuQwPnSzBejRrmui01CfUUY1qyvnbkk)), gets historical benchmarks and currency convertion tables from multiple configurabe internet sources, and created a rich explorable dashboard.\n\nAll or some or each of your investments are internally normalized into a single “fund” with **number of shares** and **share value**. From there, multiple visualizations are possible.\n\n## Install and Run\n\nRuns on macOS, Windows, Linux or anywhere Python, Pandas and Streamlit can be installed.\nHere is a video I put in place that shows Investorzilla getting installed on a Mac\nand run for the first time with its [example portfolio file](https://github.com/avibrazil/investorzilla/blob/main/config_examples/investorzilla.yaml).\n\n[![install and use Investorzilla](http://img.youtube.com/vi/CrR-PoXhPQY/0.jpg)](http://www.youtube.com/watch?v=CrR-PoXhPQY \"Install and use Investorzilla\")\n\n### Install\n\nAfter getting Python 3 installed, install [Investorzilla](https://pypi.org/project/investorzilla/) with `pip`:\n\n```\npip install investorzilla --user\n```\n\n### Configure\n\nCreate a folder and then build your `investorzilla.yaml` file with information about data sources, benchmarks and currencies.\n\nStart with the examples from https://github.com/avibrazil/investorzilla/blob/main/config_examples/\n\n### Run\n\nAfter installing your API keys (in case of using CryptoCompare data), run it like the following from the same folder containing `investorzilla.yaml`:\n\n```\ninvestorzilla\n```\n\nAccess the dashboard on http://localhost:8501 (or remotelly if your browser is in a different machine)\n\n## Features\n\n### Virtual Funds\n\nCreate a unified virtual fund with only some of the investments found in your portfolio spreadsheet.\n\n![](pics/virtual_fund_composer.png)\n\nYour whole porfolio will be used if left balnk. Then you might *exclude* some to match the particular visualization you are trying to attain.\n\n### Currency and Benchmarks\n\nYou 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.\n\nAlso, you might compare your investment performance with market benchmarks as S\u0026P 500, NASDAQ index etc. Just remember to use a benchmark that matches the current currency, otherwise comparisons won’t make sense.\n\n![](pics/currencies_and_benchmarks.png)\n\n### Period Selector\n\n![](pics/period_selector.png)\n\nIf you have enough or high frequency data, you can divide time in more granular regular periods. Default is monthy view with an anual summary.\n\n## Graphs and Reports\n\n![](pics/graphs.png)\n\nCurrently supports 4 graphs, from left to right, top to bottom:\n\n1. Virtual share value performance compared to a selected benchmark\n2. Periodic (monthly, weekly) gain, along with 12M moving average and moving median\n3. Frequency histogram of percent return rate per period (default is per month)\n4. Fund savings, balance and gains (which is pure balance minus savings)\n\nThere is also numerical reports showing:\n\n1. Performance\n   1. Periodic (monthly) rate of return with an macro-period (yearly) accumulated value\n   2. Same for selecte benchmark\n   3. Excess return over benchmark\n   4. Periodic and accumulated gain\n2. Wealth Evolution\n   1. Current balance\n   2. Balance over savings\n   3. Cumulated gains\n   4. Cumulated savings\n   5. Movements on the periods, which is the sum of money added to and removed from virtual fund\n\n![](pics/periodic_report.png)\n\n## Usage Tips\n\n1. Select a custom period on the slider\n2. View your main metrics on top of report\n3. To optimize screen usage, on the the top right menu, select **Settings** and then **Wide mode**\n4. Hide the left panel to gain even more screen real estate\n5. Use **Refresh data** buttons to update local cache with latest info from your **porfolio spreadsheet**, **market data** or **both**.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favibrazil%2Finvestorzilla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favibrazil%2Finvestorzilla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favibrazil%2Finvestorzilla/lists"}