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 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.