彙總為較低頻率

在 R 匯入與管理金融資料

Joshua Ulrich

Quantitative Analyst & quantmod Co-Author and Maintainer

低頻資料

  • 時間戳解析度過高
  • 表示 2017 年第 1 季
    • "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 匯入與管理金融資料

將索引轉為最低頻率

# 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 匯入與管理金融資料

與期初時間戳對齊

# 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...