Skip to content

sergeiissaev/net_worth

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Net Worth Calculator and Tracking Tool

A free, open source tool to track your live net worth by multiplying your assets by their respective market values.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About The Project

Product Name Screen Shot

Product Name Screen Shot

A free, open-source tool to track your net worth at any moment and across time. No more signing in separately and checking various brokerages, exchanges, etc. Now, you can easily and reliably track and visualize your complete net worth at any moment.

(back to top)

Getting Started

To get a copy of the tool follow these steps.

Installation

  1. Install Anaconda from https://www.anaconda.com/products/distribution if you do not have a Python installed already.
  2. Clone the repo
    git clone https://github.com/sergeiissaev/net_worth.git
  3. Navigate inside the project root using a shell (terminal on Mac or command prompt on Windows). Create a virtual environment using
    cd net_worth
    conda env create --name net_worth --file env/environment.yml
  4. Activate your environment with
    conda activate net_worth

(back to top)

Usage

After you have navigated to the root directory, run the following command:

python src/scripts/find_net_worth.py

Note that the first day you run the software, the graphs will be blank, since at least 2 day's worth of datapoints are needed to create a line graph.

The asset data is read from the data/money folder. For demonstration purposes, there are three .csv files to start.

  1. data/money/tfsa.csv, which contains 10 shares of MSFT stock, 10 shares of AAPL, and 100 shares of XIU.TO.

  2. data/money/chequing_account.csv, which contains $2000 in cash.

  3. data/money/rrsp.csv, which contains 10 shares of GSY stock, 10 shares of HXQ.TO, and 100 shares of BRK-B. When you run the program initially, these data files will be used to calculate a net worth.

If you open those files, you will notice the first column contains a column name "type". This is used to determine whether to multiply this asset by its live price, or whether the price is static:

  • Type 1 = live values. These numbers will be multiplied by the live price using the Yahoo Finance API. Examples include stocks, crypto, etc.

  • Type 2 = static value. These numbers are constants and will not be multiplied by the live price. Examples include cash, car value, collectibles, etc.

Once you are ready to add your own assets, delete these data files, along with the file at data/net_worth_history/net_worth_history.csv (this file will only be there if you ran the code).

To input your own assets, create a new .csv file in the data/money folder. The name of the file will be used as the name of the asset for graphing purposes.

There should be two rows in each .csv file. The first row should contain the column names, and the second should contain the values.

The first column should be "type" (with a value of 1 or 2, as explained above), and the columns to the right should have a column name of the asset. If this file is type 1, the name should be the ticker for that asset as it appears on Yahoo Finance. If the asset is of type 2, the name does not matter, other than that it will appear in the report with that name. The value column should contain the number of shares (or crypto coins) for type 1, or the cash value of the asset for type 2.

After you run the file, your graphs will be saved in your data/processed directory.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.md for more information.

(back to top)

Contact

Sergei Issaev - sergei740@gmail.com

Project Link: https://github.com/sergeiissaev/net_worth

(back to top)

About

Open source tool to track your net worth

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages