EmpezarEmpieza gratis

Evaluar rentabilidades

Ahora vamos a ver cómo se comportaría nuestra selección de cartera en comparación con invertir simplemente en el SPY. Haremos esto para comprobar si nuestras predicciones son prometedoras, a pesar del bajo valor de R\(^2\).

Estableceremos un valor inicial para nuestra inversión de $1000 y luego iteraremos por las rentabilidades de nuestras predicciones y por las del SPY. Usaremos las rentabilidades mensuales de nuestra selección de cartera y del SPY y las aplicaremos a nuestro saldo de efectivo inicial. Con esto obtendremos una visión mes a mes de cómo va nuestra inversión, y podremos ver cómo se comportaron nuestras predicciones en conjunto frente al SPY. Después, trazaremos nuestra cartera a partir de las predicciones y la compararemos con el SPY.

Este ejercicio forma parte del curso

Machine Learning para finanzas con Python

Ver curso

Instrucciones del ejercicio

  • Establece la primera entrada de ambas listas, algo_cash y spy_cash, al mismo importe (cash).
  • Multiplica cash en nuestro bucle de test_returns por 1 + r para aplicar las rentabilidades a nuestro cash.
  • Igual que en el bucle de test_returns, en el bucle de rendimiento del SPY, añade cash a spy_cash después de multiplicar por 1 + r para sumar las rentabilidades a cash.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Calculate the effect of our portfolio selection on a hypothetical $1k investment
cash = 1000
algo_cash, spy_cash = [cash], ____  # set equal starting cash amounts
for r in test_returns:
    cash *= 1 + r
    algo_cash.append(cash)

# Calculate performance for SPY
cash = 1000  # reset cash amount
for r in returns_monthly['SPY'].iloc[train_size:]:
    cash ____ ____
    ____

print('algo returns:', (algo_cash[-1] - algo_cash[0]) / algo_cash[0])
print('SPY returns:', (spy_cash[-1] - spy_cash[0]) / spy_cash[0])
Editar y ejecutar código