1. Learn
  2. /
  3. Courses
  4. /
  5. Uczenie maszynowe w finansach z Pythonem

Connected

Exercise

Znajdź najlepsze wskaźniki Sharpe'a

Musimy znaleźć „idealne" portfele dla każdej daty, aby móc wykorzystać je jako wartości docelowe w uczeniu maszynowym. Przechodzimy pętlą przez każdą datę w portfolio_returns, a następnie przez portfele wygenerowane za pomocą portfolio_returns[date]. Obliczamy wskaźnik Sharpe'a, czyli stopę zwrotu podzieloną przez zmienność (zakładając, że stopa zwrotu wolna od ryzyka wynosi 0).

Używamy enumerate(), aby iterować po stopach zwrotu dla bieżącej daty (portfolio_returns[date]) i śledzić indeks za pomocą i. Następnie używamy bieżącej daty i bieżącego indeksu, aby uzyskać zmienność każdego portfela za pomocą portfolio_volatility[date][i]. Na koniec wyznaczamy indeks najlepszego wskaźnika Sharpe'a dla każdej daty, korzystając z np.argmax(). Ten indeks posłuży nam wkrótce do pobrania optymalnych wag portfela.

Instructions

100 XP
  • Używając enumerate(), wypisz za pomocą enumeracji wartości portfolio_returns dla każdej date w pętli.
  • Dla bieżącej date w pętli dołącz do wpisu słownika sharpe_ratio wartość zwrotu (ret) podzieloną przez portfolio_volatility dla bieżącej daty i bieżącego i w pętlach.
  • Ustaw wartość max_sharpe_idxs dla bieżącej date jako indeks maksymalnego wskaźnika Sharpe'a, używając np.argmax().