Bắt đầu ngayBắt đầu miễn phí

Tạo features và targets

Để dùng Machine Learning chọn danh mục tối ưu, chúng ta cần tạo features và targets. Features đã được tạo ở bài trước – trung bình động có trọng số mũ của giá. Targets sẽ là các danh mục tốt nhất mà chúng ta tìm được dựa trên Sharpe ratio cao nhất.

Chúng ta sẽ dùng phương thức .iterrows() của pandas để lấy các cặp index, value cho DataFrame ewma_monthly. Trong vòng lặp, đặt giá trị hiện tại của ewma_monthly làm features. Sau đó dùng chỉ mục của Sharpe ratio tốt nhất (từ max_sharpe_idxs) để lấy portfolio_weights tốt nhất cho từng tháng và đặt chúng làm target.

Bài tập này là một phần của khóa học

Machine Learning cho Tài chính bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Dùng phương thức .iterrows() với ewma_monthly để lặp qua index, value trong vòng lặp.
  • Dùng date trong vòng lặp và best_idx để đánh chỉ mục portfolio_weights nhằm lấy tỷ trọng danh mục lý tưởng dựa trên Sharpe ratio tốt nhất.
  • Thêm ewma vào features.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

targets, features = [], []

# Create features from price history and targets as ideal portfolio
for date, ewma in ewma_monthly.____:

    # Get the index of the best sharpe ratio
    best_idx = max_sharpe_idxs[date]
    targets.append(portfolio_weights[____][____])
    features.append(____)  # add ewma to features

targets = np.array(targets)
features = np.array(features)
print(targets[-5:])
Chỉnh sửa và Chạy Mã