Skip to content

BudiRustandi/PortfolioOptimizationChallenges

Repository files navigation

Portfolio Optimization Challenges

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.

About This Repository

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.

Challenges

1. Implement the Capital Market Line (CML) in MVO

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

2. Sensitivity Analysis for Mean and Variance Estimates

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

3. Create Alternative Risk Measures

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

How to Participate

  1. Clone the Repository:
    git clone https://github.com/your-username/PortfolioOptimizationChallenges.git
  2. 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.
  1. Choose a Challenge:
  • Select one challenge that interests you and complete it.
  • Feel free to modify the code and experiment with your own ideas.

Requirements

Python 3.8+: Ensure you have Python installed.

Required Libraries: numpy, pandas, matplotlib, scipy (for optimization tasks)

Submission Guidelines

To submit your work, follow these steps:

  1. Complete the workshop code as well as your chosen challenge using Google Colab or any other environment.
  2. Save your work and generate a shareable link to your Google Colab notebook.
  3. Go to the Discussions section of this repository.
  4. 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]  
  5. Post your discussion thread, and feel free to browse other submissions for inspiration or collaboration!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published