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

Lợi nhuận và rủi ro trọng số hàm mũ

Trong bài tập này, bạn sẽ tối ưu hóa danh mục với một cách ước lượng rủi ro và lợi nhuận hơi khác: bạn sẽ gán trọng số lớn hơn cho dữ liệu gần đây trong quá trình tối ưu.

Đây là một cách hợp lý để xử lý dữ liệu cổ phiếu vốn thường không dừng, tức là phân phối thay đổi theo thời gian. Việc triển khai có thể thực hiện nhanh bằng cách thay đổi mô hình rủi ro bạn dùng để tính Sigma, và cách tính lợi nhuận bạn dùng để lấy mu. Bộ dữ liệu giá cổ phiếu có sẵn dưới tên stock_prices. Hãy thử nhé!

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

Nhập môn Phân tích Danh mục đầu tư với Python

Xem khóa học

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

  • Dùng ma trận hiệp phương sai trọng số hàm mũ từ risk_models và hàm lợi nhuận lịch sử trọng số hàm mũ từ expected_returns để tính Sigmamu. Đặt span là 180 và tần suất (tức số ngày giao dịch) là 252.
  • Tính đường biên hiệu quả với muSigma mới.
  • Tính các trọng số cho danh mục có tỷ lệ Sharpe tối đa.
  • Lấy báo cáo hiệu quả.

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.

# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)

# Calculate the efficient frontier
ef = ____(____, ____)

# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()

# Show portfolio performance 
ef.____(verbose=True)
Chỉnh sửa và Chạy Mã