Lợi nhuận chồng lấn
Khi bạn tổng hợp chuỗi bằng cách cộng các lợi nhuận log theo ngày thành các khoảng dài hơn, bạn sẽ phân tích ít quan sát hơn. Để giữ nguyên lượng dữ liệu, bạn có thể tính lợi nhuận chồng lấn với hàm rollapplyr(); cách này cũng tạo ra tương quan mạnh giữa các quan sát.
Có 5 ngày giao dịch trong một tuần dương lịch trung bình. Bằng cách tính tổng di động 5 ngày của lợi nhuận log từ dữ liệu chỉ số theo ngày, bạn sẽ thu được xấp xỉ lợi nhuận tuần chồng lấn kết thúc ở mỗi tuần dương lịch. Tương tự, tính tổng di động 21 ngày cho xấp xỉ lợi nhuận tháng chồng lấn, và tính tổng di động 63 ngày cho xấp xỉ lợi nhuận quý chồng lấn.
Hãy xem ví dụ với dữ liệu lợi nhuận theo ngày của Dow Jones trong djx. Vì 5 giá trị được dùng để tính mỗi tổng di động, 4 giá trị đầu tiên trong kết quả sẽ là NA. Ở đây, chúng ta sẽ dùng lập chỉ mục để loại bỏ chúng:
> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
^DJI
2008-01-03 NA
2008-01-04 NA
2008-01-07 NA
2008-01-08 NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869
> djx5 <- djx5[-(1:4)]
Trong bài tập này, bạn sẽ tính các tổng di động với nhiều khoảng khác nhau từ djx, vốn đã được nạp sẵn trong môi trường làm việc. Sau đó bạn sẽ tìm độ lệch (skewness) và độ nhọn (kurtosis) của dữ liệu thu được và thực hiện kiểm định Jarque-Bera giống như các bài trước. Lợi nhuận chồng lấn có trông giống phân phối chuẩn hơn không?
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 bằng R
Hướng dẫn bài tập
- Tính tổng di động 21 ngày của các lợi nhuận log trong
djx, loại bỏ 20 giá trị đầu tiên và gán chodjx21. - Tính tổng di động 63 ngày của các lợi nhuận log trong
djx, loại bỏ 62 giá trị đầu tiên và gán chodjx63. - Dùng
merge()vớiall = FALSEđể gộpdjx,djx21, vàdjx63theo đúng thứ tự đó, rồi gán chodjx2. Vẽ bằngplot.zoo(). - Dùng
apply()và các hàm phù hợp để tính độ lệch (skewness) và độ nhọn (kurtosis) cho từng chuỗi trongdjx2. - Dùng
apply()và hàm phù hợp để thực hiện kiểm định Jarque-Bera trên từng chuỗi trongdjx2.
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 a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)