ComeçarComece de graça

Calculando os retornos de um portfólio

Para construir e fazer o backtest de um portfólio, você precisa se sentir à vontade trabalhando com os retornos de vários ativos em um único objeto.

Neste exercício, você usará um DataFrame do pandas, já armazenado na variável StockReturns, para manter os retornos de vários ativos e calcular os retornos de um portfólio modelo.

O portfólio modelo é construído com pesos predefinidos para algumas das maiores empresas do mundo pouco antes de janeiro de 2017:

Company Name Ticker Portfolio Weight
Apple AAPL 12%
Microsoft MSFT 15%
Exxon Mobil XOM 8%
Johnson & Johnson JNJ 5%
JP Morgan JPM 9%
Amazon AMZN 10%
General Electric GE 11%
Facebook FB 14%
AT&T T 16%

Observe que, na maioria dos casos, os pesos do portfólio devem somar 100%

Este exercício faz parte do curso

Introdução ao Gerenciamento de Risco de Portfólio em Python

Ver curso

Instruções do exercício

  • Conclua a definição do array do numpy portfolio_weights com os valores de acordo com a tabela acima.
  • Use o método .mul() para multiplicar portfolio_weights ao longo das linhas de StockReturns e obter os retornos ponderados das ações.
  • Em seguida, use o método .sum() ao longo das linhas no objeto WeightedReturns para calcular os retornos do portfólio.
  • Por fim, confira o gráfico dos retornos acumulados ao longo do tempo.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])

# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)

# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)

# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()
Editar e executar o código