1. Learn
  2. /
  3. Курси
  4. /
  5. Machine Learning для фінансів у Python

Connected

Вправа

Створення ознак ковзного середнього та RSI

Ми хочемо додати історичні дані до наших моделей машинного навчання, щоб робити кращі прогнози, але додавати багато попередніх часових кроків складно. Натомість можна стиснути інформацію з попередніх точок у один часовий крок за допомогою індикаторів.

Ковзне середнє — один із найпростіших індикаторів: це середнє попередніх значень. Відповідна функція — talib.SMA() з бібліотеки TAlib.

Ще один поширений технічний індикатор — індекс відносної сили (RSI). Його визначають так:

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

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

Кількість періодів n задається в talib.RSI() аргументом timeperiod.

Типове значення періоду для RSI — 14, тож ми використаємо його як один із параметрів у наших обчисленнях.

Інструкції

100 XP
  • Створіть список назв ознак (почніть зі списку, що містить лише '5d_close_pct').
  • Використайте періоди 14, 30, 50 та 200, щоб обчислити ковзні середні за допомогою talib.SMA() з цін скоригованого закриття (lng_df['Adj_Close']).
  • Нормалізуйте ковзні середні, поділивши їх на значення скоригованого закриття Adj_Close.
  • Усередині циклу обчисліть RSI за допомогою talib.RSI() на основі Adj_Close, використовуючи n як значення timeperiod.