Gộp theo tuần, kết thúc vào Thứ Tư
Trong bài tập này, bạn sẽ học một kỹ thuật gộp tổng quát để gộp dữ liệu theo ngày thành theo tuần, nhưng với tuần kết thúc vào Thứ Tư. Cách làm này thường được dùng trong nghiên cứu thị trường chứng khoán để tránh tính mùa vụ trong tuần.
Hàm period.apply() nhận một đối tượng xts, các điểm kết thúc của khoảng thời gian và một hàm gộp. Sau đó, nó áp dụng hàm này cho từng nhóm dữ liệu giữa các điểm kết thúc.
Hàm endpoints() có thể tính các điểm kết thúc thời gian cho period.apply(), và bạn cũng có thể dùng các điểm kết thúc tùy chỉnh. Tuy nhiên, vector điểm kết thúc tùy chỉnh của bạn phải bắt đầu bằng số 0 và kết thúc bằng tổng số quan sát bạn sẽ gộp, giống như đầu ra của endpoints().
Bạn sẽ dùng .indexwday() để tìm ngày Thứ Tư của mỗi tuần. Hàm này trả về một số từ 0-6, trong đó Chủ nhật=0.
Bài tập này sẽ dùng dữ liệu lãi suất Fed Funds theo ngày (DFF) từ các bài trước.
Bài tập này là một phần của khóa học
Nhập và quản lý dữ liệu tài chính trong R
Hướng dẫn bài tập
- Dùng
.indexwday()để lấy các ngày trong tuần từ chỉ mục củaDFF. Gán kết quả choindex_weekdays. - Dùng hàm
which()để tìm vị trí các ngày Thứ Tư trongindex_weekdays. Lưu kết quả vàowednesdays. - Hoàn thiện lệnh để
end_pointsbắt đầu bằng 0 và kết thúc bằng tổng số hàng, giống như đầu ra củaendpoints(). - Dùng
period.apply()vàend_pointsđể gộpDFFthành trung bình theo tuần. Gán kết quả choweekly_mean.
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.
# Extract index weekdays (Sunday = 0)
# Find locations of Wednesdays
wednesdays <- ___(index_weekdays == 3)
# Create custom end points
end_points <- c(___, wednesdays, ___)
# Calculate weekly mean using custom end points