저빈도로 집계하기

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에서 금융 데이터 가져오기와 관리

집계 데이터와 저빈도 데이터 병합

# 분기로 집계
QGS10 <- apply.quarterly(DGS10, median, na.rm = TRUE)

# 분기 집계와 분기 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에서 금융 데이터 가져오기와 관리

인덱스를 최저 빈도로 변환

# 두 인덱스를 yearqtr로 변환
index(QGS10) <- as.yearqtr(index(QGS10))
index(GDP) <- as.yearqtr(index(GDP))
# 병합은 그대로 동작
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에서 금융 데이터 가져오기와 관리

기간 시작 타임스탬프에 정렬

# 마지막 관측치를 역방향으로 채우기
QGS10_GDP_locb <- na.locf(QGS10_GDP, fromLast = TRUE)
# 기간 시작 인덱스로 서브셋
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에서 금융 데이터 가져오기와 관리

Laten we oefenen!

R에서 금융 데이터 가져오기와 관리

Preparing Video For Download...