1. Nauka
  2. /
  3. Kursy
  4. /
  5. Uczenie maszynowe w finansach z Pythonem

Connected

ćwiczenie

Inżynieria cech na podstawie wolumenu

Użyjemy modeli nieliniowych, aby uzyskać dokładniejsze prognozy. W modelach liniowych cechy muszą być liniowo skorelowane z wartością docelową. Inne algorytmy uczenia maszynowego potrafią łączyć cechy w sposób nieliniowy. Na przykład – co jeśli cena rośnie, gdy średnia krocząca ceny idzie w górę, a średnia krocząca wolumenu idzie w dół? Jedynym sposobem na uchwycenie takich zależności jest albo pomnożenie cech przez siebie, albo zastosowanie algorytmu, który radzi sobie z nieliniowością (np. lasy losowe).

Aby wzbogacić dane o informacje, które mogą wchodzić w interakcje z innymi cechami, możemy dodać cechy słabo skorelowane z celem. Zaczniemy od danych o wolumenie, które znajdują się w lng_df jako kolumna Adj_Volume.

Zanim zaczniesz – pamiętaj, że funkcje TA-Lib (np. SMA()) wymagają tablic NumPy, nie obiektów pandas. Możesz użyć atrybutu .values obiektu Series lub DataFrame z biblioteki pandas, aby uzyskać odpowiadającą mu tablicę NumPy.

Instrukcje

100 XP
  • Oblicz jednodniową zmianę procentową wolumenu (użyj pct_change() z biblioteki pandas) i przypisz wynik do kolumny Adj_Volume_1d_change w lng_df.
  • Oblicz 5-dniową średnią kroczącą jednodniowej zmiany procentowej wolumenu i przypisz wynik do kolumny Adj_Volume_1d_change_SMA w lng_df.
  • Narysuj histogramy obu nowo utworzonych cech, korzystając z listy new_features.