Skip to main content

Financial applications for portfolio management

Project description

PyFinanceLab

PyFinanceLab is a library which brings together various financial applications into one package for research and portfolio management. PyFinanceLab is in pre-alpha development. Please open an issue if you find any bugs.

Features

  • Data Api Wrapper

    The data api wrapper makes it easy to switch between yfinance (free to use) and tia (Bloomberg Professional Service subscription required) libraries for pulling financial data.

Installation

PyFinanceLab comes with many dependencies. It is recommended you use Anaconda for this installation. Anaconda Individual Edition is appropriate for most users. These instructions use Anaconda Prompt and pip for environment management and package installation. It is recommended you create a new Anaconda environment to keep pyfinlab isolated from your other environments.

Windows Instructions

Open Anaconda Prompt and create a new environment called pyfinlab.

conda create -n pyfinlab python=3.8

Activate the new pyfinlab environment.

conda activate pyfinlab

Install the following pip packages.

pip install portfoliolab pyportfolioopt git+https://github.com/PaulMest/tia.git#egg=tia yfinance tqdm pyfinlab ffn bt

Install the following conda packages.

conda install -c conda-forge blpapi jupyterlab

Start the python interpreter and see if you can import the package modules. If the installation was successful, your python interpreter should look something like this. Please open an issue if you encounter any errors.

python
>>> import portfoliolab, pypfopt, tia, yfinance, tqdm, pyfinlab, ffn, bt, blpapi
>>>

Roadmap

Future development will include:

  • Classification Schema

    Classify an investment universe of tickers into specified categories such as sector, size, or value.

  • Constraints Modeling

    Automatically generate weight constraints for a universe of tickers.

  • Risk Modeling

    Sample, test, and select the best risk model for generating covariance matrices for input into portfolio optimizers such as mean-variance optimization (MVO). Examples include empirical covariance, ledoit-wolf shrinkage, minimum covariance determinant, and more.

  • Portfolio Optimization

    Utilize the classification schema, constraints modeling, risk modeling, and return modeling to optimize a portfolio of assets.

  • Portfolio Backtesting

    Backtest portfolios and generate performance graphical plots and statistics.

  • Report Generation

    Report results in a nicely formatted and easily readable Excel file.

  • Documentation

    Documentation will be published as this Python library is further developed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfinlab-0.0.12.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

pyfinlab-0.0.12-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page