ComenzarEmpieza gratis

Calcular la rentabilidad de una cartera

Para construir y hacer backtesting de una cartera, tienes que sentirte cómodo trabajando con la rentabilidad de varios activos en un único objeto.

En este ejercicio, usarás un DataFrame de pandas, ya almacenado en la variable StockReturns, para guardar las rentabilidades de varios activos y calcular la rentabilidad de una cartera modelo.

La cartera modelo se construye con pesos predefinidos para algunas de las empresas más grandes del mundo justo antes de enero 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%

Ten en cuenta que, en la mayoría de los casos, los pesos de la cartera deben sumar el 100%

Este ejercicio forma parte del curso

Introducción a la gestión del riesgo de cartera en Python

Ver curso

Instrucciones del ejercicio

  • Termina de definir el array de numpy portfolio_weights con los valores de la tabla anterior.
  • Usa el método .mul() para multiplicar portfolio_weights a lo largo de las filas de StockReturns y obtener las rentabilidades ponderadas de las acciones.
  • Después, usa el método .sum() a lo largo de las filas sobre el objeto WeightedReturns para calcular la rentabilidad de la cartera.
  • Por último, revisa la gráfica de rentabilidad acumulada en el tiempo.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código