Đá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
Hướng dẫn bài tập
- Đặt phần tử đầu tiên của cả hai danh sách
algo_cashvàspy_cashbằng cùng một giá trị (cash). - Nhân
cashtrong vòng lặptest_returnsvới1 + rđể áp dụng lợi nhuận vàocash. - Tương tự vòng lặp
test_returns, trong vòng lặp hiệu suất SPY, thêmcashvàospy_cashsau khi nhân với1 + rđể cộng lợi nhuận vàocash.
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])