Comece agoraComece grátis

Plotar a fronteira eficiente com o melhor índice de Sharpe

Vamos plotar novamente a fronteira eficiente, mas agora adicionando um marcador para o portfólio com o melhor índice de Sharpe. Visualizar os dados é sempre uma ótima forma de entendê-los melhor.

Lembre-se: a fronteira eficiente é um gráfico de dispersão com a volatilidade do portfólio no eixo x e os retornos do portfólio no eixo y. Vamos obter a data mais recente disponível em nossos dados a partir de covariances.keys(), embora qualquer um dos dicionários portfolio_returns, etc. também possa ser usado para pegar a data. Em seguida, pegamos as volatilidades e os retornos para a data mais recente em portfolio_volatility e portfolio_returns. Por fim, obtemos o índice do portfólio com o melhor índice de Sharpe em max_sharpe_idxs[date] e plotamos tudo com plt.scatter().

Este exercicio faz parte do curso

Machine Learning para Finanças em Python

Ver curso

Instruções do exercicio

  • Defina cur_volatility como as volatilidades do portfólio para a date mais recente.
  • Construa o gráfico da "fronteira eficiente" plotando a volatilidade no eixo x e os retornos no eixo y.
  • Obtenha o índice do melhor portfólio para a date mais recente a partir de max_sharpe_idxs.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Get most recent (current) returns and volatility
date = sorted(covariances.keys())[-1]
cur_returns = portfolio_returns[date]
cur_volatility = ____

# Plot efficient frontier with sharpe as point
plt.scatter(x=____, y=____, alpha=0.1, color='blue')
best_idx = max_sharpe_idxs[____]

# Place an orange "X" on the point with the best Sharpe ratio
plt.scatter(x=cur_volatility[best_idx], y=cur_returns[best_idx], marker='x', color='orange')
plt.xlabel('Volatility')
plt.ylabel('Returns')
plt.show()
Editar e Executar Código