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

Connected

ćwiczenie

Tworzenie cech opartych na średniej kroczącej i RSI

Aby poprawić jakość prognoz modeli uczenia maszynowego, warto wzbogacić je o dane historyczne. Dodawanie wielu kolejnych kroków czasowych jest jednak kłopotliwe. Zamiast tego możemy skondensować informacje z poprzednich punktów do jednego kroku czasowego za pomocą wskaźników.

Średnia krocząca to jeden z najprostszych wskaźników – jest to średnia z poprzednich punktów danych. Służy do tego funkcja talib.SMA() z biblioteki TAlib.

Innym popularnym wskaźnikiem technicznym jest indeks siły względnej (RSI). Definiuje się go następująco:

\(RSI = 100 - \frac{100} {1 + RS}\)

\(RS = \frac{\text{average gain over } n \text{ periods}} {\text{average loss over } n \text{ periods}}\)

Liczbę okresów n ustawia się w funkcji talib.RSI() za pomocą argumentu timeperiod.

Najczęściej stosowanym okresem dla RSI jest 14 – właśnie tej wartości użyjemy w naszych obliczeniach.

Instrukcje

100 XP
  • Utwórz listę nazw cech (zacznij od listy zawierającej wyłącznie '5d_close_pct').
  • Użyj okresów 14, 30, 50 i 200, aby obliczyć średnie kroczące za pomocą talib.SMA() na podstawie skorygowanych cen zamknięcia (lng_df['Adj_Close']).
  • Znormalizuj średnie kroczące względem skorygowanej ceny zamknięcia, dzieląc przez Adj_Close.
  • Wewnątrz pętli oblicz RSI za pomocą talib.RSI() na podstawie Adj_Close, używając n jako wartości okresu.