1. Learn
  2. /
  3. Courses
  4. /
  5. Machine Learning cho Tài chính bằng Python

Connected

Exercise

Tạo đặc trưng trung bình động và RSI

Chúng ta muốn thêm dữ liệu lịch sử vào các mô hình Machine Learning để dự đoán tốt hơn, nhưng thêm quá nhiều bước thời gian lịch sử thì phức tạp. Thay vào đó, bạn có thể cô đọng thông tin từ các điểm trước đó vào một bước thời gian duy nhất bằng các chỉ báo.

Trung bình động là một trong những chỉ báo đơn giản nhất — đó là trung bình của các điểm dữ liệu trước đây. Đây là hàm talib.SMA() từ thư viện TAlib.

Một chỉ báo kỹ thuật phổ biến khác là chỉ số sức mạnh tương đối (RSI). Chỉ số này được định nghĩa bởi:

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

\(RS = \frac{\text{mức tăng trung bình trong } n \text{ chu kỳ}} {\text{mức giảm trung bình trong } n \text{ chu kỳ}}\)

Số chu kỳ n được thiết lập trong talib.RSI() bằng tham số timeperiod.

Một khoảng thời gian thường dùng cho RSI là 14, nên chúng ta sẽ dùng giá trị đó như một thiết lập trong các phép tính.

Instructions

100 XP
  • Tạo một danh sách tên đặc trưng (bắt đầu với danh sách chỉ chứa '5d_close_pct').
  • Dùng các timeperiod 14, 30, 50 và 200 để tính trung bình động với talib.SMA() từ giá đóng cửa điều chỉnh (lng_df['Adj_Close']).
  • Chuẩn hóa các đường trung bình động bằng giá đóng cửa điều chỉnh bằng cách chia cho Adj_Close.
  • Trong vòng lặp, tính RSI với talib.RSI() từ Adj_Close và dùng n cho tham số timeperiod.