Forecasting Long Memory Processes

Functions to forecast long memory processes using the fractional differencing operator and the cross-sectional aggregation method. Forecasting using the HAR model is also available.

LongMemory.Forecasters.csa_forecastMethod
csa_forecast(x::Array, h::Int, p::Real, q::Real, σ::Real)

Computes the forecast of a long memory time series using the CSA method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • p::Real: The parameter p of the CSA process.
  • q::Real: The parameter q of the CSA process.
  • σ::Real: The standard deviation of the forecast errors.

Output

  • xfor::Array: The forecast of the time series as a matrix where the first column is the forecast, the second column is the lower confidence band, and the third column is the upper confidence band. The first T elements are the original time series.

Notes

Multiple dispatch is used to compute the forecast of a time series with or without confidence bands.

Examples

julia> csa_forecast(csa_gen(100,1.4,1.4), 10, 1.4, 1.4, 1.0)
source
LongMemory.Forecasters.csa_forecastMethod
csa_forecast(x::Array, h::Int, p::Real, q::Real)

Computes the forecast of a long memory time series using the CSA method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • p::Real: The parameter p of the CSA process.
  • q::Real: The parameter q of the CSA process.

Output

  • xfor::Array: The forecast of the time series as a column vector. The first T elements are the original time series.

Notes

Multiple dispatch is used to compute the forecast of a time series with or without confidence bands.

Examples

julia> csa_forecast(csa_gen(100,1.4,1.4), 10, 1.4, 1.4)
source
LongMemory.Forecasters.csa_forecast_plotMethod
csa_forecast_plot(x::Array, h::Int, p::Real, q::Real, σ::Real)

Plots the forecast of a long memory time series using the CSA method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • p::Real: The parameter p of the CSA process.
  • q::Real: The parameter q of the CSA process.
  • σ::Real: The standard deviation of the forecast errors.

Output

  • p1::Plot: The plot of the original time series and the forecast with confidence bands.

Notes

Multiple dispatch is used to plot the forecast of a time series with or without confidence bands. Plotting is done by calling the csa_forecast function.

Examples

julia> csa_forecast_plot(csa_gen(100,1.4,1.4), 10, 1.4, 1.4, 1.0)
source
LongMemory.Forecasters.csa_forecast_plotMethod
csa_forecast_plot(x::Array, h::Int, p::Real, q::Real)

Plots the forecast of a long memory time series using the CSA method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • p::Real: The parameter p of the CSA process.
  • q::Real: The parameter q of the CSA process.

Output

  • p1::Plot: The plot of the original time series and the forecast.

Notes

Multiple dispatch is used to plot the forecast of a time series with or without confidence bands. Plotting is done by calling the csa_forecast function.

Examples

julia> csa_forecast_plot(csa_gen(100,1.4,1.4), 10, 1.4, 1.4)
source
LongMemory.Forecasters.csa_ma_coefsMethod
csa_ma_coefs(p::Real, q::Real, maxlags::Int)

Computes the MA coefficients of the CSA process with parameters p and q at lags 0, ..., maxlags-1.

Arguments

  • p::Real: The parameter p of the CSA process.
  • q::Real: The parameter q of the CSA process.
  • maxlags::Int: The number of lags to compute.

Output

  • ma_coefs::Array: The MA coefficients of the CSA process with parameters p and q at lags 0, ..., maxlags-1.

Notes

The MA coefficients are computed using the recursive formula for speed. The zero lag coefficient is included, it is theoretically 1.

Examples

julia> csa_ma_coefs(1.4, 1.4, 5)
source
LongMemory.Forecasters.fi_ar_coefsMethod
fi_ar_coefs(d::Real, maxlags::Int)

Computes the AR coefficients of the fractional differenced process with parameter d at lags 1, ..., maxlags.

Arguments

  • d::Real: The fractional differencing parameter.
  • maxlags::Int: The number of lags to compute.

Output

  • ar_coefs::Array: The AR coefficients of the fractional differenced process with parameter d at lags 1, ..., maxlags.

Notes

The AR coefficients are computed using the recursive formula for speed. The zero lag coefficient is not computed, it is theoretically 1.

Examples

julia> fi_ar_coefs(0.2, 5)
source
LongMemory.Forecasters.fi_forecastMethod
fi_forecast(x::Array, h::Int, d::Real, σ::Real)

Computes the forecast of a long memory time series using the fractional differencing method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • d::Real: The fractional differencing parameter.
  • σ::Real: The standard deviation of the forecast errors.

Output

  • xfor::Array: The forecast of the time series as a matrix where the first column is the forecast, the second column is the lower confidence band, and the third column is the upper confidence band. The first T elements are the original time series.

Notes

Multiple dispatch is used to compute the forecast of a time series with or without confidence bands.

Examples

julia> fi_forecast(fi_gen(100,0.2), 10, 0.2)
source
LongMemory.Forecasters.fi_forecastMethod
fi_forecast(x::Array, h::Int, d::Real)

Computes the forecast of a long memory time series using the fractional differencing method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • d::Real: The fractional differencing parameter.

Output

  • xfor::Array: The forecast of the time series as a column vector. The first T elements are the original time series.

Notes

Multiple dispatch is used to compute the forecast of a time series with or without confidence bands.

Examples

julia> fi_forecast(fi_gen(100,0.2), 10, 0.2)
source
LongMemory.Forecasters.fi_forecast_plotMethod
fi_forecast_plot(x::Array, h::Int, d::Real, σ::Real)

Plots the forecast of a long memory time series using the fractional differencing method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • d::Real: The fractional differencing parameter.
  • σ::Real: The standard deviation of the forecast errors.
  • p1::Plot: The plot of the original time series and the forecast with confidence bands.

Notes

Multiple dispatch is used to plot the forecast of a time series with or without confidence bands. Plotting is done by calling the fi_forecast function.

Examples

julia> fi_forecast_plot(fi_gen(100,0.2), 10, 0.2, 1.0)
source
LongMemory.Forecasters.fi_forecast_plotMethod
fi_forecast_plot(x::Array, h::Int, d::Real)

Plots the forecast of a long memory time series using the fractional differencing method.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.
  • d::Real: The fractional differencing parameter.

Output

  • p1::Plot: The plot of the original time series and the forecast.

Notes

Multiple dispatch is used to plot the forecast of a time series with or without confidence bands. Plotting is done by calling the fi_forecast function.

Examples

julia> fi_forecast_plot(fi_gen(100,0.2), 10, 0.2)
source
LongMemory.Forecasters.gregory_coeffsMethod
gregory_coeffs(N::Int)

Computes the Gregory coefficients for the harmonic inverse transformation.

Arguments

  • N::Int: The number of coefficients to compute.

Output

  • coefs::Array: The Gregory coefficients.

Notes

The first coefficient is 1/2 and the rest are computed using the recursive formula. The zero lag coefficient is not computed, it is theoretically 1.

Examples

julia> gregory_coeffs(5)
source
LongMemory.Forecasters.har_forecastMethod
har_forecast(x::Array, h::Int; flag::Bool = false, m::Array=[1,5,22])

Computes the forecast of a time series by fitting and recursevely forecasting the HAR model.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.

Output

  • xfor::Array: The forecast of the time series. The first T-max(m) elements are the original time series.

Optional Arguments

  • flag::Bool: If true, the output is a matrix where the first column is the forecast, the second column is the lower confidence band, and the third column is the upper confidence band. The default is false.
  • m::Array: The lags to include in the HAR model. The default is [1,5,22].

Examples

julia> har_forecast(fi_gen(100,0.2), 10)
source
LongMemory.Forecasters.har_forecast_plotMethod
har_forecast_plot(x::Array, h::Int; flag::Bool = true, m::Array=[1,5,22])

Plots the forecast of a time series by fitting and recursevely forecasting the HAR model.

Arguments

  • x::Array: The time series.
  • h::Int: The number of periods to forecast.

Output

  • p1::Plot: The plot of the original time series and the forecast.

Optional Arguments

  • flag::Bool: If true, the output is a matrix where the first column is the forecast, the second column is the lower confidence band, and the third column is the upper confidence band. The default is true.
  • m::Array: The lags to include in the HAR model. The default is [1,5,22].

Notes

Multiple dispatch is used to plot the forecast of a time series with or without confidence bands. Plotting is done by calling the har_forecast function.

Examples

julia> har_forecast_plot(figen(100,0.2), 10)
source
LongMemory.Forecasters.hitransformMethod
hitransform(x::Array)

Computes the harmonic inverse transformation of a time series. For more details see Hassler and Hosseinkouchack (2020).

Arguments

  • x::Array: The time series.

Output

  • x::Array: The time series after the harmonic inverse transformation.

Notes

The harmonic inverse transformation is computed using the FFT.

Examples

julia> hitransform(fi_gen(100,0.2))
source
LongMemory.Forecasters.my_half_toeplitzMethod
my_half_toeplitz(coefs::Array)

Constructs a bottom Toeplitz matrix from the given coefficients.

Arguments

  • coefs::Array: An array of coefficients.

Output

  • Toep::Array: The bottom Toeplitz matrix constructed from the given coefficients.

Examples

julia> my_half_toeplitz([1, 2, 3])
source

Documentation for LongMemory.jl.