ÎncepețiÎncepe gratuit

Evaluează randamentele

Să vedem acum cum s-ar fi comportat selecția noastră de portofoliu față de o simplă investiție în SPY. Facem acest lucru pentru a verifica dacă predicțiile noastre sunt promițătoare, chiar și în condițiile unui R\(^2\) scăzut.

Vom stabili o valoare inițială a investiției de 1.000 $, apoi vom parcurge randamentele obținute din predicțiile noastre și din SPY. Vom folosi randamentele lunare din selecția noastră de portofoliu și din SPY și le vom aplica soldului inițial de numerar. Astfel vom obține o imagine lună de lună a evoluției investiției noastre și vom putea compara rezultatele predicțiilor cu performanța SPY. În final, vom reprezenta grafic portofoliul nostru și îl vom compara cu SPY.

Acest exercițiu face parte din cursul

Machine Learning pentru finanțe în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează prima intrare din listele algo_cash și spy_cash la aceeași valoare (cash).
  • Înmulțește cash din bucla test_returns cu 1 + r pentru a aplica randamentele la cash.
  • Similar cu bucla test_returns, în bucla de performanță SPY, adaugă cash la spy_cash după ce îl înmulțești cu 1 + r pentru a incorpora randamentele în cash.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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])
Editează și rulează codul