yth_filter | R Documentation |
yth_filter
returns an xts
object containing
user-defined combinations of the original, trend, cycle, and random walk series.
yth_filter(x, h = 8, p = 4, output = c("x", "trend", "cycle", "random"), ...)
x |
A univariate |
h |
An |
p |
An |
output |
A |
... |
Other arguments passed to |
For time series of quarterly periodicity, Hamilton suggests parameters of
h = 8 and p = 4, or an AR(4)
process, additionally lagged by 8
lookahead periods. Econometricians may explore variations of h. However, p
is designed to correspond with the seasonality of a given periodicity and
should be matched accordingly.
An xts
object defined by the output
parameter.
James D. Hamilton. Why You Should Never Use the Hodrick-Prescott Filter. NBER Working Paper No. 23429, Issued in May 2017.
yth_glm
data(GDPC1)
gdp_filter <- yth_filter(100*log(GDPC1), h = 8, p = 4)
head(gdp_filter, 15)
#---------------------------------------------------------------------------#
data(PAYEMS)
log_Employment <- 100*log(xts::to.quarterly(PAYEMS["1947/2016-6"], OHLC = FALSE))
employ_trend <- yth_filter(log_Employment, h = 8, p = 4, output = c("x", "trend"))
plot(employ_trend, grid.col = "white", legend.loc = "topleft",
main = "Log of Employment and trend")
#----------------------------------------------------------------------------#
quarterly_data <- 100*log(merge(GDPC1, PCECC96, GPDIC1, EXPGSC1, IMPGSC1, GCEC1, GDPDEF))
cycle <- do.call(merge, lapply(quarterly_data, yth_filter, output = "cycle"))
random <- do.call(merge, lapply(quarterly_data, yth_filter, output = "random"))
cycle.sd <- t(data.frame(lapply(cycle, sd, na.rm = TRUE)))
GDP.cor <- t(data.frame(lapply(cycle, cor, cycle[,1], use = "complete.obs")))
random.sd <- t(data.frame(lapply(random, sd, na.rm = TRUE)))
random.cor <- t(data.frame(lapply(random, cor, random[,1], use = "complete.obs")))
my_table_2 <- round(data.frame(cbind(cycle.sd, GDP.cor, random.sd, random.cor)), 2)
names(my_table_2) <- names(Hamilton_table_2)[1:4]
my_table_2
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.