Inizia subitoInizia gratis

Valutare i rendimenti

Vediamo ora come si comporterebbe la nostra selezione di portafoglio rispetto a investire semplicemente nello SPY. Lo facciamo per capire se le nostre previsioni sono promettenti, nonostante il basso valore di R\(^2\).

Imposteremo un valore iniziale per il nostro investimento di $1000, poi scorreremo i rendimenti delle nostre previsioni e quelli di SPY. Useremo i rendimenti mensili della nostra selezione di portafoglio e di SPY e li applicheremo al nostro saldo di cassa iniziale. In questo modo otterremo una visione mese per mese di come sta andando il nostro investimento e potremo vedere come, nel complesso, le nostre previsioni si sono comportate rispetto allo SPY. Successivamente, potremo tracciare il nostro portafoglio basato sulle previsioni e confrontarlo con SPY.

Questo esercizio fa parte del corso

Machine Learning per la finanza in Python

Visualizza corso

Istruzioni dell'esercizio

  • Imposta la prima voce di entrambe le liste algo_cash e spy_cash allo stesso importo (cash).
  • Moltiplica cash nel ciclo su test_returns per 1 + r per applicare i rendimenti al nostro cash.
  • Come nel ciclo su test_returns, nel ciclo di performance dello SPY aggiungi (append) cash a spy_cash dopo aver moltiplicato per 1 + r per includere i rendimenti in cash.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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])
Modifica ed esegui il codice