Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ggravlingen/pypmanager
Summarize transactions in mutual funds into a simple portfolio report.
https://github.com/ggravlingen/pypmanager
avanza finance lysa portfolio portfolio-management report
Last synced: about 18 hours ago
JSON representation
Summarize transactions in mutual funds into a simple portfolio report.
- Host: GitHub
- URL: https://github.com/ggravlingen/pypmanager
- Owner: ggravlingen
- License: apache-2.0
- Created: 2023-04-16T16:50:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-12T17:40:28.000Z (5 days ago)
- Last Synced: 2024-11-12T18:33:51.496Z (5 days ago)
- Topics: avanza, finance, lysa, portfolio, portfolio-management, report
- Language: Python
- Homepage:
- Size: 2.85 MB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PyLocalP(portfolio)Manager
Summarize transactions in funds into a simple portfolio report.
Available features:
- A transaction list: merge data from multiple sources into one transaction list.
- Profit- and loss statement: show the historical result from your transactions.## Screenshots from app
Transaction list
![Screenshot of the transaction list.](/docs/assets/transaction_list.png)Income statement:
![Screenshot of the general ledger.](/docs/assets/income_statement.png)## Why
I have been looking for a library where I can download a set of transactions from my broker and pension fund manager use the merged data for analysis.
## Local-only data
Alternative solutions expected me to store my data in the cloud. I don't want that, so I wrote this library where your data is stored locally. The only thing cloud is that the library allows you to fetch market data from the Internet.
## Installing
There are other ways of getting this to work but this is how I use it:
- Clone the library from GitHub: `git clone https://github.com/ggravlingen/pypmanager.git`
- Install Docker Desktop
- Install `VSCode` from Microsoft and the `Dev Containers` extension.
- Open the library in VSCode and choose the option to open the folder in a container.
- Run the install script `./scipt/install.sh`.
- Start the server `uvicorn --port 8001 pypmanager.api:app` or, in VSCode, use `Run and Debug` and `Pypmanager server`.
- Browse to the transaction list on `http://localhost:8001/#/transaction`.## Where to store your data
Your own data goes into the folder `data`. If you make contributions to this library, no files in this folder should be committed to the library.
## Market data (end-of-day prices on funds and equities)
This library is capable of calculating the current value of your portfolio. For this, we need end-of-day prices on funds and equities (market data).
I have provided a few data sources built-in. Download this data using `python -m pypmanager -l`.
Configuration is done by appending `pypmanager/configuration/market_data.yaml` with the securities you want to download data for.
Currently, there is support for loading data from the following sites:
- Morningstar
- The Financial Times
- Svenska Handelsbanken## Unimplemented ideas
- Calculate IRR per security and on a total.
- Split the overview by account or maybe tag.
- Investments made in other currencies