彙總為每週,以週三結束
在這個練習中,你會學到一種通用的彙總技巧:把每日資料彙總成每週資料,但以週三作為每週的結束日。這在股票市場研究中很常見,用來避免週內的季節性影響。
period.apply() 函式會接收一個 xts 物件、時間區間的終點,以及一個彙總函式。然後把該函式套用到每一段由這些終點劃分出的資料群組上。
endpoints() 函式可以為 period.apply() 計算時間區間的終點,你也可以使用自訂的終點。不過,你的自訂終點向量必須以 0 開頭,並以你要彙總的觀測值總數作為結尾,就像 endpoints() 的輸出一樣。
你會使用 .indexwday() 找出每週的週三。它會回傳 0–6 的數字,其中星期日 = 0。
本練習會使用前面練習中的每日聯邦基金利率資料(DFF)。
本練習屬於課程
在 R 匯入與管理金融資料
練習說明
- 使用
.indexwday()從DFF的索引取得星期資訊。將結果指定給index_weekdays。 - 使用
which()函式在index_weekdays中找出週三的位置。將結果儲存到wednesdays。 - 完成指令,讓
end_points以 0 開頭,並以總列數作為結尾,與endpoints()的輸出一致。 - 使用
period.apply()與end_points,把DFF彙總為每週平均值。將結果指定給weekly_mean。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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