การรวมข้อมูลสู่ความถี่ที่ต่ำลง

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

Joshua Ulrich

Quantitative Analyst & quantmod Co-Author and Maintainer

ข้อมูลความถี่ต่ำ

  • Timestamp มีความละเอียดสูงเกินไป
  • แทนไตรมาสแรกของปี 2017
    • "2017-01-01"(แรก)
    • "2017-03-31" (สุดท้าย)
    • "2017-02-01" (กลาง)
การนำเข้าและจัดการข้อมูลทางการเงินใน R

ตัวอย่าง

  • เปรียบเทียบอัตราดอกเบี้ยพันธบัตรรัฐบาลอายุ 10 ปี (รายวัน) กับ GDP ของสหรัฐฯ (รายไตรมาส)
  • สัญลักษณ์ FRED:
    • DGS10
    • GDP
การนำเข้าและจัดการข้อมูลทางการเงินใน R

รวมข้อมูลที่รวมแล้วกับข้อมูลความถี่ต่ำ

# Aggregate to quarterly
QGS10 <- apply.quarterly(DGS10, median, na.rm = TRUE)

# Merge quarterly aggregate with quarterly GDP QGS10_GDP <- merge(QGS10, GDP) QGS10_GDP
           DGS10     GDP
2015-01-01    NA 17783.6
2015-03-31  1.97      NA
2015-04-01    NA 17998.3
2015-06-30  2.19      NA
2015-07-01    NA 18141.9
2015-09-30  2.20      NA
2015-10-01    NA 18222.8
2015-12-31  2.23      NA
การนำเข้าและจัดการข้อมูลทางการเงินใน R

คลาสวันที่-เวลาสำหรับความถี่ต่ำ

  • yearmon() สำหรับข้อมูลรายเดือน
  • yearqtr() สำหรับข้อมูลรายไตรมาส
as.Date("2017-01-01")
"2017-01-01"
as.yearmon("2017-01-01")
"Jan 2017"
as.yearqtr("2017-01-01")
"2017 Q1"
การนำเข้าและจัดการข้อมูลทางการเงินใน R

แปลง index ให้ตรงกับความถี่ต่ำสุด

# Convert both indexes to yearqtr
index(QGS10) <- as.yearqtr(index(QGS10))
index(GDP) <- as.yearqtr(index(GDP))
# Merging 'just works'
merge(QGS10, GDP)
        DGS10     GDP
2015 Q1  1.97 17783.6
2015 Q2  2.19 17998.3
2015 Q3  2.20 18141.9
2015 Q4  2.23 18222.8
การนำเข้าและจัดการข้อมูลทางการเงินใน R

จัดให้ตรงกับ timestamp ต้นงวด

# Last observation carried backward
QGS10_GDP_locb <- na.locf(QGS10_GDP, fromLast = TRUE)
# Subset by beginning-of-period index
QGS10_GDP_first_period <- QGS10_GDP_locb[index(GDP)]
QGS10_GDP_first_period
          DGS10     GDP
2015-01-01  1.97 17783.6
2015-04-01  2.19 17998.3
2015-07-01  2.20 18141.9
2015-10-01  2.23 18222.8
การนำเข้าและจัดการข้อมูลทางการเงินใน R

มาฝึกกันเถอะ!

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

Preparing Video For Download...