1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Quản trị Rủi ro Danh mục bằng Python

Connected

Bài tập

Sụt giảm lịch sử (Historical drawdown)

Thị trường chứng khoán có xu hướng tăng theo thời gian, nhưng điều đó không có nghĩa là bạn sẽ không trải qua các giai đoạn sụt giảm (drawdown).

Drawdown có thể được đo bằng phần trăm thua lỗ tính từ mốc tích lũy cao nhất trong lịch sử.

Trong Python, bạn có thể dùng các hàm .accumulate() và .maximum() để tính mức tối đa đang chạy (running maximum), và sử dụng công thức đơn giản dưới đây để tính drawdown:

$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

  • \(r_t\): Lợi nhuận tích lũy tại thời điểm t
  • \(RM\): Mức tối đa đang chạy

Chuỗi lợi nhuận tích lũy của USO, một ETF theo dõi giá dầu, đã có sẵn trong biến cum_rets.

Hướng dẫn

100 XP
  • Tính mức tối đa đang chạy của lợi nhuận tích lũy ETF dầu USO (cum_rets) bằng np.maximum.accumulate().
  • Ở những nơi mức tối đa đang chạy (running_max) nhỏ hơn 1, đặt giá trị mức tối đa đang chạy bằng 1.
  • Tính drawdown theo công thức đơn giản ở trên với cum_rets và running_max.
  • Xem lại biểu đồ.