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

Tính lợi nhuận danh mục đầu tư

Để xây dựng và backtest một danh mục, bạn cần quen làm việc với lợi nhuận của nhiều tài sản trong cùng một đối tượng.

Trong bài tập này, bạn sẽ dùng một đối tượng DataFrame của pandas, đã được lưu trong biến StockReturns, để chứa lợi nhuận của nhiều tài sản và tính lợi nhuận của một danh mục mô phỏng.

Danh mục mô phỏng được xây dựng với tỷ trọng định sẵn cho một số công ty lớn nhất thế giới ngay trước tháng 1/2017:

Company Name Ticker Portfolio Weight
Apple AAPL 12%
Microsoft MSFT 15%
Exxon Mobil XOM 8%
Johnson & Johnson JNJ 5%
JP Morgan JPM 9%
Amazon AMZN 10%
General Electric GE 11%
Facebook FB 14%
AT&T T 16%

Lưu ý: trong hầu hết trường hợp, tổng tỷ trọng danh mục nên bằng 100%

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

Nhập môn Quản trị Rủi ro Danh mục bằng Python

Xem khóa học

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

  • Hoàn thiện mảng numpy portfolio_weights với các giá trị theo bảng ở trên.
  • Dùng phương thức .mul() để nhân portfolio_weights theo từng hàng của StockReturns nhằm thu được lợi nhuận cổ phiếu có trọng số.
  • Sau đó dùng phương thức .sum() theo từng hàng trên đối tượng WeightedReturns để tính lợi nhuận danh mục.
  • Cuối cùng, xem biểu đồ lợi nhuận lũy kế theo thời gian.

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.

# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])

# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)

# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)

# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()
Chỉnh sửa và Chạy Mã