Skip to content

Python module for tracking stock portfolio performance based on price changes and dividend payouts only, rather than value of deposits.

Notifications You must be signed in to change notification settings

hmelino/moneyChamber

Repository files navigation

moneyChamber V2

Stock portfolio with clear performance graph.

Why use moneyChamber ?

Most of stock portfolios will look like example below.

bad portfolio

Portfolio seems to be growing, but at this case, all the growth you can see are mostly deposits.

That's why I have designed and coded this Python stock portfolio, that excludes deposits and profit is based purely on stock price movement and paid dividends.

good portfolio

With moneyChamber you will receive much clearer overview on performance of your portfolio.

How to clone moneyChamber

  • Clone this repository to your local machine using
git clone https://github.com/hmelino/moneyChamber.git

API key

  • moneyChamber require worldtradingdata api key to download and process history stock prices.

  • FREE api key can be obtained on worldtradingdata.com

Statement

  • All stock data are being imported from file statement.txt which looks like :
1 POS123456789 2019.04.29 12:36 Buy 69 VUKE 32.4349  32.17 -18.28  0

2 POS123456788 2018.10.26 10:02 Buy 1 VMID 29.435  33.305  3.87  0

3 POS123456787 2018.12.10 10:00 Buy 5 PSN 2213.6  3054  42.02  0
  • This statement can be recieved as monthly Trading212 email statement, or can be manually added/adjusted.

How to use

Import the package

from moneyChamber import Porfolio

Initialize new object with Portfolio() function and use path to your .txt statement as argument

retirementPortfolio = moneyChamber.Portfolio('statement.txt')

Add your World Trading Data api key

retirementPortfolio.apiKey='your_own_world_trading_data_api_key'

Optionally you can load your paid dividends file. Dividends]

retirementPortfolio.loadDividends('dividends.txt')

When all files are loaded, you can plot graph using showGraph() function

retirement.showGraph()

Dividends file

To import details about paid dividends into moneyChamber, please save them in JSON style as seen below.

{"name_of_stock":{"date_when_dividend_was_recieved":total_amount_recieved}

{"VUKE": {"2019-06-29": 5.32, "2019-10-16": 9.23, "2020-01-02": 14.36},
 "VMID": {"2018-12-26": 0.22, "2019-03-27": 0.15}}

MoneyChamber will automatically calculate dividend yeld and payment received per individual stock.

Contact

About

Python module for tracking stock portfolio performance based on price changes and dividend payouts only, rather than value of deposits.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages