เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

แปลงข้อมูล Intra-Day ที่ไม่สม่ำเสมอให้เป็นแบบสม่ำเสมอ

ก่อนหน้านี้ได้เรียนรู้วิธีสร้างชุดข้อมูลรายวันแบบสม่ำเสมอจากข้อมูลรายวันที่ไม่สม่ำเสมอ ในแบบฝึกหัดนี้จะสร้างข้อมูล Intra-Day แบบสม่ำเสมอจากชุดข้อมูลที่ไม่สม่ำเสมอ

ข้อมูลทางการเงิน Intra-Day มักไม่ครอบคลุมเต็ม 24 ชั่วโมง เนื่องจากตลาดส่วนใหญ่ปิดทำการในช่วงเวลาหนึ่งของวัน แบบฝึกหัดนี้สมมติว่าตลาดเปิดที่ 9AM และปิดที่ 4PM ในวันจันทร์ถึงศุกร์

ข้อมูลอาจไม่มีค่าสังเกตที่ตรงกับเวลาเปิดหรือปิดตลาดพอดี จึงไม่สามารถใช้ start() และ end() แบบเดียวกับข้อมูลรายวันได้ ต้องระบุ date-time เริ่มต้นและสิ้นสุดเองเพื่อสร้างลำดับที่สม่ำเสมอ

ลำดับ date-time ที่สม่ำเสมอจะรวมช่วงเวลาที่ตลาดปิดด้วย แต่สามารถใช้การ subset ตามช่วงเวลาในวันของ xts เพื่อดึงเฉพาะช่วงที่ตลาดเปิดทำการได้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การนำเข้าและจัดการข้อมูลทางการเงินใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมคำสั่งให้สมบูรณ์เพื่อสร้างลำดับ date-time แบบ 30 นาทีระหว่าง 09:00 วันจันทร์ถึง 16:00 วันศุกร์
  • กำหนดค่า x และ order.by เพื่อสร้างออบเจกต์ xts แบบ zero-width
  • สร้าง merged_xts โดย merge irregular_xts กับ regular_xts แล้วใช้อาร์กิวเมนต์ fill เพื่อแทนที่ค่า NA ด้วยค่าก่อนหน้าโดยใช้ na.locf()
  • ใช้การ subset ตามช่วงเวลาในวันของ xts เพื่อดึงค่าสังเกตระหว่าง 9AM ถึง 4PM ของทุกวัน แล้วกำหนดผลลัพธ์ให้กับ trade_day

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a regular date-time sequence
regular_index <- seq(as.POSIXct("2010-01-04 __:__"), as.POSIXct("2010-01-08 __:__"), by = "30 min")

# Create a zero-width xts object
regular_xts <- xts(x = ___, order.by = ___)

# Merge irregular_xts and regular_xts, filling NA with their previous value
merged_xts <- merge(___, ___, fill = ___)

# Subset to trading day (09:00-16:00)
trade_day <- merged_xts[___]
แก้ไขและรันโค้ด