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

Biến động và đứt gãy cấu trúc

Trực quan hóa sự thay đổi biến động giúp lộ ra các điểm đứt gãy cấu trúc tiềm năng trong chuỗi thời gian. Bằng cách xác định thời điểm biến động có vẻ thay đổi, bạn có thể chọn điểm gãy một cách có cơ sở để dùng cho các phân tích thống kê tiếp theo (như kiểm định Chow).

Bạn sẽ xem hai biểu đồ biến động cho danh mục của ngân hàng đầu tư giai đoạn 2008 - 2009, với hai bộ trọng số danh mục khả dụng: weights_with_citiweights_without_citi. Chúng lần lượt tương ứng với các danh mục tỷ trọng bằng nhau có và không có Citibank, vốn (như bạn đã thấy ở Chương 1) có mức biến động cao nhất trong bốn tài sản trong giai đoạn này.

Giá danh mục cho 2008 - 2009 có Citibank được cung cấp dưới tên prices_with_citi, và không có Citibank là prices_without_citi.

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

Quản trị Rủi ro Định lượng với Python

Xem khóa học

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

  • Tìm chuỗi lợi nhuận cho hai danh mục sử dụng weights_with_citiweights_without_citi.
  • Tính độ lệch chuẩn 30 ngày theo cửa sổ trượt cho cả hai danh mục.
  • Kết hợp cả hai đối tượng Series của Pandas thành một đối tượng DataFrame tên "vol".
  • Vẽ nội dung của đối tượng vol để so sánh biến động của hai danh mục 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.

# Find the time series of returns with and without Citibank
ret_with_citi = prices_with_citi.____.dot(weights_with_citi)
ret_without_citi = prices_without_citi.pct_change().____(____)

# Find the average 30-day rolling window volatility as the standard deviation
vol_with_citi = ret_with_citi.____.std().dropna().rename("With Citi")
vol_without_citi = ret_without_citi.rolling(30).____.dropna().rename("Without Citi")

# Combine two volatilities into one Pandas DataFrame
vol = pd.concat([____, ____], axis=1)

# Plot volatilities over time
vol.____().set_ylabel("Losses")
plt.show()
Chỉnh sửa và Chạy Mã