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

Đánh giá lợi nhuận

Bây giờ hãy xem danh mục được chọn của chúng ta sẽ hoạt động ra sao so với việc chỉ đầu tư vào SPY. Ta làm vậy để xem dự đoán có tiềm năng không, dù giá trị R\(^2\) thấp.

Chúng ta sẽ đặt giá trị đầu tư ban đầu là $1000, sau đó lặp qua các mức lợi nhuận từ dự đoán của mình cũng như từ SPY. Ta sẽ dùng lợi nhuận hằng tháng của danh mục đã chọn và của SPY rồi áp dụng chúng vào số dư tiền mặt ban đầu. Từ đó, ta có bức tranh theo từng tháng về hiệu quả đầu tư, và có thể xem tổng thể dự đoán của mình so với SPY ra sao. Tiếp theo, ta có thể vẽ biểu đồ danh mục dựa trên dự đoán và so sánh với SPY.

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

  • Đặt phần tử đầu tiên của cả hai danh sách algo_cashspy_cash bằng cùng một giá trị (cash).
  • Nhân cash trong vòng lặp test_returns với 1 + r để áp dụng lợi nhuận vào cash.
  • Tương tự vòng lặp test_returns, trong vòng lặp hiệu suất SPY, thêm cash vào spy_cash sau khi nhân với 1 + r để cộng lợi nhuận vào cash.

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.

# Calculate the effect of our portfolio selection on a hypothetical $1k investment
cash = 1000
algo_cash, spy_cash = [cash], ____  # set equal starting cash amounts
for r in test_returns:
    cash *= 1 + r
    algo_cash.append(cash)

# Calculate performance for SPY
cash = 1000  # reset cash amount
for r in returns_monthly['SPY'].iloc[train_size:]:
    cash ____ ____
    ____

print('algo returns:', (algo_cash[-1] - algo_cash[0]) / algo_cash[0])
print('SPY returns:', (spy_cash[-1] - spy_cash[0]) / spy_cash[0])
Chỉnh sửa và Chạy Mã