1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Machine Learning for Finance in Python

Connected

Cvičení

Vytvoření příznaků klouzavého průměru a RSI

Aby naše modely strojového učení dávaly lepší předpovědi, chceme jim poskytnout historická data. Přidávat velké množství historických kroků ale bývá nepraktické. Místo toho můžeme informace z předchozích bodů shrnout do jediného časového kroku pomocí indikátorů.

Jedním z nejjednodušších indikátorů je klouzavý průměr – jde o průměr předchozích datových bodů. K jeho výpočtu slouží funkce talib.SMA() z knihovny TAlib.

Dalším běžně používaným technickým indikátorem je index relativní síly (RSI), definovaný takto:

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

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

Počet period n se nastavuje v talib.RSI() pomocí argumentu timeperiod.

Běžně se pro RSI používá 14 period – tuto hodnotu použijeme jako jedno z nastavení ve svých výpočtech.

Pokyny

100 XP
  • Vytvoř seznam názvů příznaků (začni seznamem obsahujícím pouze '5d_close_pct').
  • Pro výpočet klouzavých průměrů pomocí talib.SMA() z upravených závěrečných cen (lng_df['Adj_Close']) použij časová období 14, 30, 50 a 200.
  • Normalizuj klouzavé průměry vůči upravené závěrečné ceně vydělením hodnotou Adj_Close.
  • Uvnitř smyčky vypočítej RSI pomocí talib.RSI() z hodnot Adj_Close a pro časové období použij n.