【仕事関連】quantmodで経済データを収集

やることはタイトルの通りです。どうやら、quantmodのgetSymbolsはFREDのデータも取れるらしく、株だけでなく経済データも取得できそうなので、それをやってみます。

library(quantmod)

symbols.name <- c("US Fixed Income","International Fixed Income","Emerging Fixed Income",
                  "US Equities","Europe Equities","Emerging Equities","US Real Estate",
                  "Ex-US Real Estate")
symbols <- c("BND","BNDX","VWOB","VTI","VGK","VWO","VNQ","VNQI")
getSymbols(symbols, from = '1980-01-01', auto.assign = TRUE)
dats <- merge(BND,BNDX,VWOB,VTI,VGK,VWO,VNQ,VNQI)
dats <- Cl(dats)
colnames(dats) <- symbols.name
r_dats <- na.omit( ROC(dats, type = 'discrete') )
rm(BND,BNDX,VWOB,VTI,VGK,VWO,VNQ,VNQI,dats)

library(PerformanceAnalytics)
PerformanceAnalytics::charts.PerformanceSummary(r_dats)

# Yield Curve
symbols <- c("DTB3", "DGS2", "DGS5", "DGS10")
getSymbols(symbols, from = '1980-01-01', src = "FRED", auto.assign = TRUE)
spread_10y_2y <- DGS10 - DGS2
spread_2y_3m <- DGS2 - DTB3 
rm(DTB3, DGS2, DGS5)

# USD/YEN
getSymbols("DEXJPUS",from = '1980-01-01',src = "FRED")

symbols <- c("^GSPC","^DJI","^RUT")
getSymbols(symbols, from = '1980-01-01', auto.assign = TRUE)
USequity <- Cl(merge(GSPC,DJI,RUT))
rm(DJI,RUT)
SPDJ_ratio <- USequity$GSPC.Close/USequity$DJI.Close
SPRS_ratio <- USequity$GSPC.Close/USequity$RUT.Close

symbols <- c("GDPC1","GOLDPMGBD228NLBM","POILBREUSDM","PCOPPUSDM","CPIAUCSL","PAYEMS")
getSymbols(symbols, from = '1980-01-01', auto.assign = TRUE,src = "FRED")
CG_ratio <- PCOPPUSDM/GOLDPMGBD228NLBM

macro_indicator <- merge(GDPC1,CPIAUCSL,PAYEMS,DEXJPUS,GOLDPMGBD228NLBM,
                         PCOPPUSDM,POILBREUSDM,GSPC,DGS10,SPDJ_ratio,
                         SPRS_ratio,CG_ratio,spread_10y_2y,spread_2y_3m)
rm(CG_ratio,CPIAUCSL,DEXJPUS,DGS10,GDPC1,GOLDPMGBD228NLBM,PAYEMS,PCOPPUSDM,
   POILBREUSDM,GSPC,SPDJ_ratio,spread_10y_2y,spread_2y_3m,SPRS_ratio,USequity)

便利ですねー。