NNS.nowcast: NNS Nowcast

View source: R/Nowcast.R

NNS.nowcastR Documentation

NNS Nowcast

Description

Wrapper function for NNS nowcasting method using the nonparametric vector autoregression NNS.VAR, and Federal Reserve Nowcasting variables.

Usage

NNS.nowcast(
  h = 1,
  additional.regressors = NULL,
  additional.sources = NULL,
  specific.regressors = NULL,
  start.date = "2000-01-03",
  keep.data = FALSE,
  status = TRUE,
  ncores = NULL
)

Arguments

h

integer; (h = 1) (default) Number of periods to forecast. (h = 0) will return just the interpolated and extrapolated values up to the current month.

additional.regressors

character; NULL (default) add more regressors to the base model. The format must utilize the getSymbols format for FRED data, else specify the source.

additional.sources

character; NULL (default) specify the source argument per getSymbols for each additional.regressors specified.

specific.regressors

integer; NULL (default) Select individual regressors from the base model per Viole (2020) listed in the References.

start.date

character; "2000-01-03" (default) Starting date for all data series download.

keep.data

logical; FALSE (default) Keeps downloaded variables in a new environment NNSdata.

status

logical; TRUE (default) Prints status update message in console.

ncores

integer; value specifying the number of cores to be used in the parallelized subroutine NNS.ARMA.optim. If NULL (default), the number of cores to be used is equal to the number of cores of the machine - 1.

Value

Returns the following matrices of forecasted variables:

  • "interpolated_and_extrapolated" Returns a data.frame of the linear interpolated and NNS.ARMA extrapolated values to replace NA values in the original variables argument. This is required for working with variables containing different frequencies, e.g. where NA would be reported for intra-quarterly data when indexed with monthly periods.

  • "relevant_variables" Returns the relevant variables from the dimension reduction step.

  • "univariate" Returns the univariate NNS.ARMA forecasts.

  • "multivariate" Returns the multi-variate NNS.reg forecasts.

  • "ensemble" Returns the ensemble of both "univariate" and "multivariate" forecasts.

Author(s)

Fred Viole, OVVO Financial Systems

References

Viole, F. and Nawrocki, D. (2013) "Nonlinear Nonparametric Statistics: Using Partial Moments" https://www.amazon.com/dp/1490523995/ref=cm_sw_su_dp

Viole, F. (2019) "Multi-variate Time-Series Forecasting: Nonparametric Vector Autoregression Using NNS" https://www.ssrn.com/abstract=3489550

Viole, F. (2020) "NOWCASTING with NNS" https://www.ssrn.com/abstract=3589816

Examples


 ## Not run: 
 ## Interpolates / Extrapolates all variables to current month
 NNS.nowcast(h = 0)
 
 ## Additional regressors and sources specified
 NNS.nowcast(h = 0, additional.regressors = c("SPY", "USO"), 
             additional.sources = c("yahoo", "yahoo"))
             
              
 ### PREDICTION INTERVALS 
 ## Store NNS.nowcast output
 nns_estimates <- NNS.nowcast(h = 12)           
 
 # Create bootstrap replicates using NNS.meboot (GDP Variable)
 gdp_replicates <- NNS.meboot(nns_estimates$ensemble$GDPC1, 
                              rho = seq(0,1,.25), 
                              reps = 100)["replicates",]
                              
 replicates <- do.call(cbind, gdp_replicates)
 
 # Apply UPM.VaR and LPM.VaR for desired prediction interval...95 percent illustrated
 # Tail percentage used in first argument per {LPM.VaR} and {UPM.VaR} functions
 lower_GDP_CIs <- apply(replicates, 1, function(z) LPM.VaR(0.025, 0, z))
 upper_GDP_CIs <- apply(replicates, 1, function(z) UPM.VaR(0.025, 0, z))
 
 # View results
 cbind(nns_estimates$ensemble$GDPC1, lower_GDP_CIs, upper_GDP_CIs)
 
## End(Not run)


NNS documentation built on Nov. 28, 2023, 1:10 a.m.