Home
Softono

Trading Portfolio Tracker

Open source Python
14
Stars
1
Forks
18
Issues
1
Watchers
3 months
Last Commit

 About Trading Portfolio Tracker

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.

Platforms

Web Self-hosted

Languages

Python

Links

Need Help Installing Trading Portfolio Tracker?

We provide expert installation service for this software. Our team will install, configure, and secure Trading Portfolio Tracker on your server. plans start at just $30.

Trading Portfolio Tracker

View on GitHub

Trading Portfolio Tracker

Ruff Test

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.

Motivation

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.

Screenshots

image

image

Add a Transaction Add a Transaction

Usage

Operating System

Compatible with:

  • macOS
  • Windows

Installing Dependencies

Run the following command from the project root directory:

poetry install

Running the Application

Run the following command from the project root directory:

poetry run app

Running Tests

Run the following command from the project root directory:

poetry run pytest

Importing and Exporting Databases

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.

Data Privacy

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.