รวมข้อมูลเป็นรายสัปดาห์ โดยสิ้นสุดทุกวันพุธ
ในแบบฝึกหัดนี้ คุณจะได้เรียนรู้เทคนิคการรวมข้อมูลแบบทั่วไป เพื่อแปลงข้อมูลรายวันให้เป็นรายสัปดาห์ โดยกำหนดให้แต่ละสัปดาห์สิ้นสุดที่วันพุธ วิธีนี้นิยมใช้ในการวิจัยตลาดหุ้นเพื่อหลีกเลี่ยงความผันผวนตามฤดูกาลในระหว่างสัปดาห์
ฟังก์ชัน period.apply() รับ xts object, จุดสิ้นสุดของช่วงเวลา และฟังก์ชันสำหรับรวมข้อมูล จากนั้นจะนำฟังก์ชันนั้นไปใช้กับข้อมูลแต่ละกลุ่มระหว่างจุดสิ้นสุด
ฟังก์ชัน endpoints() ใช้คำนวณจุดสิ้นสุดของช่วงเวลาสำหรับ period.apply() และยังสามารถกำหนดจุดสิ้นสุดแบบกำหนดเองได้ด้วย แต่ vector ของจุดสิ้นสุดที่กำหนดเองนั้นต้องเริ่มต้นด้วยศูนย์และลงท้ายด้วยจำนวนการสังเกตการณ์ทั้งหมดที่ต้องการรวม เช่นเดียวกับผลลัพธ์จาก endpoints()
คุณจะใช้ .indexwday() เพื่อหาวันพุธของแต่ละสัปดาห์ ซึ่งฟังก์ชันนี้จะคืนค่าตัวเลขระหว่าง 0-6 โดยที่วันอาทิตย์ = 0
แบบฝึกหัดนี้จะใช้ข้อมูล Fed Funds รายวัน (DFF) จากแบบฝึกหัดก่อนหน้า
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าและจัดการข้อมูลทางการเงินใน R
คำแนะนำการฝึกหัด
- ใช้
.indexwday()เพื่อดึงวันในสัปดาห์จาก index ของ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