Capstone Project for the Advanced Programming Class @ HEC Lausanne
Author: Dorentin Morina
PortfolioWizard is a user-friendly web application built on the Django framework, tailored to empower individuals without financial expertise in optimizing their portfolios. Users can personalize their equity portfolios according to their preferences with a wide range of customization features. From selecting stocks to choosing optimization methods, PortfolioWizard gives you full control. Powered by an algorithm based on Nobel Prize winner Markowitz's Modern Portfolio Theory and its variations, this tool ensures robust portfolio management.
- Imports historical data price given user's preference..
- Performs an optimization given the user's parameters (optimization method, risk aversion, risk-free rate, budget, and rebalance frequency.)
- Backtests the strategy and compares the result with the user's preferred benchmark.
- Renders a result page, which contains insightful tables and plots.
PortfolioWizard uses a number of open-source projects to work properly:
- [yfinance] - To import the historical data price.
- [PyPortfolioOpt] - To perform the optimization.
- [Plotly] - To make some nice plots.
Clone the project and install the virtual environment with the necessary packages:
git clone https://github.com/mdorentin/APproject.git
cd APproject
pip install virtualenv
virtualenv venv
venv\Scripts\activate
pip install -r requirements.txt
python manage.py runserver
This web application provides portfolio optimization results for educational purposes only. It does not offer financial advice; users should seek professional advice before making investment decisions. Past performance does not indicate future results, and all investments carry risks.