Kom igångKom igång gratis

Utvärdera avkastning

Nu ska vi se hur vår portföljselektion presterar jämfört med att bara investera i SPY. Vi gör detta för att kontrollera om våra prediktioner är lovande, trots det låga R\(^2\)-värdet.

Vi sätter ett startvärde på 1 000 dollar för vår investering och loopar sedan igenom avkastningen från våra prediktioner samt från SPY. Vi använder månadsavkastningen från vår portföljselektion och SPY och tillämpar den på vårt startkapital. På så sätt får vi en månadsvis bild av hur investeringen utvecklas, och vi kan se hur väl våra prediktioner presterade jämfört med SPY. Därefter kan vi plotta vår portfölj baserad på prediktionerna och jämföra den med SPY.

Den här övningen är en del av kursen

Maskininlärning för finans i Python

Visa kurs

Övningsinstruktioner

  • Sätt det första listelementet i både algo_cash och spy_cash till samma belopp (cash).
  • Multiplicera cash i vår test_returns-loop med 1 + r för att tillämpa avkastningen på cash.
  • Precis som i test_returns-loopen – lägg till cash i spy_cash i SPY-prestandaloopen efter att ha multiplicerat med 1 + r för att lägga till avkastningen till cash.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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])
Redigera och kör kod