Skip to content

Ramsseslll/PortfolioOptimization

Repository files navigation

Multi-Asset Portfolio Optimization with Efficient Frontier

An automated portfolio optimization system using Modern Portfolio Theory (Markowitz Mean-Variance Optimization) to find the optimal asset allocation that maximizes risk-adjusted returns.

Overview

This project implements quantitative portfolio optimization techniques to:

  • Calculate optimal portfolio weights using Maximum Sharpe Ratio
  • Generate the Efficient Frontier showing optimal risk-return combinations
  • Provide discrete allocation recommendations for a $10,000 portfolio
  • Automatically rebalance weekly using GitHub Actions

Efficient Frontier

Features

  • Mean-Variance Optimization: Implements Markowitz's Modern Portfolio Theory
  • Maximum Sharpe Ratio: Finds the portfolio with best risk-adjusted returns
  • Efficient Frontier Visualization: Charts optimal risk-return tradeoffs
  • Discrete Allocation: Converts theoretical weights to actual share quantities
  • Automated Rebalancing: Weekly portfolio optimization via GitHub Actions
  • Diversified Portfolio: 10 stocks across multiple sectors (Tech, Finance, Healthcare, Consumer)

Output Example

  • Optimal portfolio weights
  • Expected return / volatility / Sharpe ratio
  • $10,000 stock allocation (integer shares)
  • Efficient frontier chart (efficient_frontier.png)
  • CSV export of portfolio weights

Methodology

Modern Portfolio Theory (MPT)

Developed by Harry Markowitz (1952), MPT demonstrates that by combining assets with different expected returns and volatilities, investors can construct portfolios that maximize returns for a given level of risk.

Key Metrics

  • Expected Return: Mean historical return of the portfolio
  • Volatility: Standard deviation of returns (risk measure)
  • Sharpe Ratio: (Portfolio Return - Risk-Free Rate) / Portfolio Volatility

Optimization Approach

  1. Calculate expected returns using mean historical returns
  2. Estimate covariance matrix using sample covariance
  3. Optimize weights to maximize Sharpe Ratio
  4. Generate efficient frontier for visualization

Portfolio Holdings

The optimized portfolio includes 10 diversified stocks:

  • Technology: AAPL, MSFT, GOOGL, AMZN
  • Financial: JPM, V
  • Healthcare: JNJ, UNH
  • Consumer: PG, HD

How to Run Locally

Prerequisites

  • Python 3.7 or higher
  • pip package manager

Installation

  1. Clone this repository:
git clone https://github.com/YOUR_USERNAME/portfolio-optimization.git
cd portfolio-optimization
pip install -r requirements.txt

About

Automated multi-asset portfolio optimizer using Modern Portfolio Theory. Computes the efficient frontier, maximizes Sharpe ratio, and generates actionable allocation recommendations with weekly rebalancing.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages