A collection of portfolio tracking capabilities
Project description
Portfolio
Simple investment portfolio tool that will track stock and provide returns and other metrics. It also contains a web dashboard to view the data.
Table of Contents
Overview
🚀 Welcome to FolioFlex! 🚀
📖 Description:
- FolioFlex is your go-to toolkit for portfolio management and market analysis! Dive into the world of stocks, bonds, and more with our user-friendly tools. 📈📊
🔧 Features:
- Dashboard Helper: Get a quick overview of your portfolio with our dashboard. 🖥️
- Market Screener: Filter and find trending stocks. 🔍
- Portfolio Management: Organize and track, your investments. 💼
- Config Helper: Customize your experience with easy configurations. ⚙️
📚 Documentation:
- Installation Guide: Get started with FolioFlex in no time! 🛠️
- Usage Guide: Learn how to make the most out of FolioFlex. 🤓
🔬 Examples:
- Portfolio Example: Explore a sample portfolio and see FolioFlex in action! 📔
🎥 See It In Action:
- FolioFlex Demo: Visit a dashboard (https://koestner.fly.dev/) of FolioFlex and witness the magic! 🌟
🤝 Contribute:
- Love FolioFlex? Feel free to contribute and make it even better! Every bit of help is appreciated. ❤️
Full documentation can be seen here: https://jkoestner.github.io/folioflex
Data sources:
- https://pypi.org/project/yahoo-finance/
- https://fred.stlouisfed.org/docs/api/fred/ (need an API key)
- https://finviz.com/api
Inspiration:
Installation
Install packages
To install, this repository can be installed by running the following command in the environment of choice.
pip install folioflex
Or could be done using GitHub.
pip install git+https://github.com/jkoestner/folioflex.git
If wanting to do more and develop on the code, the following command can be run to install the packages in the requirements.txt file.
pip install -r requirements.txt
Usage
CLI
CLI can be used for easier commands of python scripts for both portfolio or manager. An example of a CLI command is shown below.
ffx email -el "['yourname@outlook.com']" -hd {}
Python
When using the portfolio class, the following code can be used to get the returns of a portfolio.
from folioflex.portfolio.portfolio import Portfolio
config_path = "portfolio.ini"
pf = Portfolio(
config_path=config_path,
portfolio='tracker'
)
pf.get_performance()
Web Dashboard
A demo of the app can be seen at https://koestner.fly.dev/.
It also can be run locally by going to the project root folder and running below. There are a number of environment variables listed in constants to be able to run locally.
python app.py
Other Tools
Jupyter Lab Usage
To have conda environments work with Jupyter Notebooks a kernel needs to be defined. This can be done defining a kernel, shown below when in the conda environment.
python -m ipykernel install --user --name=folioflex
Logging
If wanting to get more detail in output of messages the logging can increased
import logging
logger = logging.getLogger('folioflex.portfolio.portfolio')
logger.setLevel(logging.WARNING) # default: only print WARNINGS and above
logger.setLevel(logging.CRITICAL) # disable printing
logger.setLevel(logging.DEBUG) # verbose: print errors & debug info
Coverage
To see the test coverage the following command is run in the root directory. This is also documented in the .coveragerc
file.
pytest --cov=folioflex --cov-report=html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.