Welcome to the Portfolio Optimization Challenges repository! This repository is designed for participants of the Portfolio Optimization Workshop to practice and enhance their portfolio management and quantitative finance skills. Choose one challenge, run the provided code, and explore the fascinating world of portfolio optimization.
This repository contains hands-on challenges focused on Modern Portfolio Optimization (MVO) and Risk Management. Participants will implement advanced concepts like the Capital Market Line (CML), sensitivity analysis, and alternative risk measures to gain a deeper understanding of portfolio theory.
- Objective: Incorporate a risk-free asset (e.g., short-term Treasury rate) into your MVO simulation. Identify the Market Portfolio as the tangency point on the Efficient Frontier.
- Key Tasks:
- Add a risk-free asset to your optimization model.
- Combine risk-free and risky assets using the CML.
- Visualize how the CML enhances portfolio choices.
- Objective: Understand the impact of estimation error by varying expected returns and covariances in your Monte Carlo MVO.
- Key Tasks:
- Perform a sensitivity analysis by tweaking mean and variance estimates.
- Analyze how small changes influence portfolio composition and efficiency.
- Objective: Explore alternative ways to evaluate portfolio performance by implementing a risk measure like the Sortino Ratio, which focuses on downside risk.
- Key Tasks:
- Calculate and compare portfolio performance using both the Sharpe Ratio and the Sortino Ratio.
- Evaluate differences and implications for portfolio decisions.
- Clone the Repository:
git clone https://github.com/your-username/PortfolioOptimizationChallenges.git
- Run the Code:
- The workshop code file is uploaded on this repo.
- Use Python to run the provided scripts or modify them to explore the challenges.
- Ensure you have required packages like numpy, pandas, and matplotlib.
- Choose a Challenge:
- Select one challenge that interests you and complete it.
- Feel free to modify the code and experiment with your own ideas.
Python 3.8+: Ensure you have Python installed.
Required Libraries: numpy, pandas, matplotlib, scipy (for optimization tasks)
To submit your work, follow these steps:
- Complete the workshop code as well as your chosen challenge using Google Colab or any other environment.
- Save your work and generate a shareable link to your Google Colab notebook.
- Go to the Discussions section of this repository.
- Create a new discussion thread with the following format:
- Title: Submission - [Your Name] - [Challenge Name]
- Body:
Name: [Your Full Name] Email: [Your Email Address] Challenge: [Challenge Name] Google Colab Link: [Your Shareable Link] Comments/Feedback: [Optional - Any insights or challenges you faced]
- Post your discussion thread, and feel free to browse other submissions for inspiration or collaboration!