The GMV portfolio

The global minimum volatility portfolio, or GMV portfolio, is the portfolio with the lowest standard deviation (risk) and the highest return for the given risk level.

Returns are very hard to predict, but volatilities and correlations tend to be more stable over time. This means that the GMV portfolio often outperforms the MSR portfolios out of sample even though the MSR would outperform quite significantly in-sample. Of course, out of sample results are what really matters in finance.

Este ejercicio forma parte del curso

Introduction to Portfolio Risk Management in Python

Ver curso

Instrucciones de ejercicio

  • Sort RandomPortfolios with the lowest volatility value, ranking in ascending order.
  • Multiply GMV_weights_array across the rows of StockReturns to get weighted stock returns.
  • Finally, review the plot of cumulative returns over time.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Sort the portfolios by volatility
sorted_portfolios = RandomPortfolios.sort_values(by=['____'], ascending=____)

# Extract the corresponding weights
GMV_weights = sorted_portfolios.iloc[0, 0:numstocks]

# Cast the GMV weights as a numpy array
GMV_weights_array = np.array(GMV_weights)

# Calculate the GMV portfolio returns
StockReturns['Portfolio_GMV'] = StockReturns.iloc[:, 0:numstocks].mul(____, axis=1).sum(axis=1)

# Plot the cumulative returns
cumulative_returns_plot(['Portfolio_EW', 'Portfolio_MCap', 'Portfolio_MSR', 'Portfolio_GMV'])