A cross-platform desktop application for monitoring and managing your investments from different brokers, with real-time market data integration from Yahoo Finance. Developed with Qt.
Managing investments across different brokers can be challenging, as existing broker-specific systems such as Trading 212 often limit users to viewing investments exclusively within their own platforms. This leads to scattered investment information and a lack of holistic oversight. While some users resort to manual data entry in spreadsheets, this approach lacks real-time market data and user-friendliness.
This application offers a centralised solution for monitoring and managing investments across different brokers. By providing real-time market data integration and a user-friendly interface, it enhances the investment management experience. Additionally, as a desktop application, it prioritises data privacy by storing all information locally on the user's computer. Leveraging the Qt framework ensures cross-platform compatibility and high performance.
Compatible with:
- macOS
- Windows
Run the following command from the project root directory:
poetry install
Run the following command from the project root directory:
poetry run app
Run the following command from the project root directory:
poetry run pytest
DuckDB uses a binary file format which is inefficient, not human-readable, and leads to merge conflicts, so we avoid version controlling the database file directly. Instead, we store the data and schema of the database in the folder /resources/portfolio_data/ -- this gives us human-readable, merge-friendly files that we can easily version control.
To import the database, run the following command from the project root directory:
poetry run export_db
To export the database, run the following command from the project root directory:
poetry run import_db
Note that importing the database won't work if /resources/portfolio.db already exists – you must rename it, move it, or delete it before importing.
We store all data locally on the user's computer in a DuckDB database at /resources/portfolio.db. Live market data is fetched from Yahoo Finance, but we do not store any of this data permanently.