Semiparametric Estimators for Long Memory
Functions to estimate the long memory parameter based on the log-periodogram regression. Estimators include the Geweke and Porter-Hudak estimators and the Whittle estimator.
LongMemory.LogPeriodEstimators
— ModuleLogPeriodEstimators
This module contains functions to estimate the long memory parameter of a time series using the log-periodogram estimator and the Whittle log-likelihood function.
Author
LongMemory.LogPeriodEstimators.exact_whittle_est
— Methodexact_whittle_est(x::Array; m::Real=0.8, l=0, detrend = true)
Estimate the long memory parameter of a time series x
using the exact Whittle log-likelihood function. See Shimotsu and Phillips (2005) for details.
Arguments
x::Vector
: time seriesm∈(0,1)::Float64
: taper finall∈(0,1)::Float64
: taper initialdetrend::Bool
: If true, the time series is demeaned before estimation.
Output
d::Float64
: long memory parameter
Notes
The function considers the periodogram of the time series x
for frequencies in the interval [T^l,T^m]
. The zero frequency is always excluded. The condition m < l
must hold. The default values of m
and l
are 0.8 and 0, respectively.
Examples
julia> exact_whittle_est(randn(100,1))
LongMemory.LogPeriodEstimators.exact_whittle_est_variance
— Methodexact_whittle_est_variance(x::Array; m::Real=0.8)
Estimate the variance of the estimator for the long memory parameter of a time series x
using the exact Whittle log-likelihood function.
Arguments
x::Vector
: time series
Optional arguments
m∈(0,1)::Float64
: taper final. Default is 0.8
Output
varb::Float64
: variance of the estimator
Notes
Multiple dispatch is used for computation. If the first input is an integer, the function interprets it as the sample size; otherwise, it computes the sample size from the length of the time series. The variance is the same as the one from using the Whittle log-likelihood function.
Examples
julia> exact_whittle_est_variance(fi(100,0.4))
LongMemory.LogPeriodEstimators.exact_whittle_est_variance
— Methodexact_whittle_est_variance(T::Int; m::Real=0.8)
Estimate the variance of the estimator for the long memory parameter of a time series of length T
using the exaxct Whittle log-likelihood function.
Arguments
T::Int
: length of the time series
Optional arguments
m∈(0,1)::Float64
: taper final
Output
varb::Float64
: variance of the estimator. Default is 0.8
Notes
Multiple dispatch is used for computation. If the first input is an integer, the function interprets it as the sample size; otherwise, it computes the sample size from the length of the time series. The variance is the same as the one from using the Whittle log-likelihood function.
Examples
julia> exact_whittle_est_variance(100,0.4)
LongMemory.LogPeriodEstimators.exact_whittle_llk
— Methodexact_whittle_llk(d, x::Array; m::Real=0.8, l=0)
Compute the exact Whittle log-likelihood function of a time series x
for a given long memory parameter d
. See Shimotsu and Phillips (2005) for details.
Arguments
d::Float64
: long memory parameterx::Vector
: time seriesm∈(0,1)::Float64
: taper finall∈(0,1)::Float64
: taper initial
Output
Q::Float64
: Whittle log-likelihood function
Notes
The function considers the periodogram of the time series x
for frequencies in the interval [T^l,T^m]
. The zero frequency is always excluded. The condition m < l
must hold. The default values of m
and l
are 0.8 and 0, respectively. The function demeans the time series x
for long memory estimation.
Examples
julia> exact_whittle_llk(0.4,randn(100,1))
LongMemory.LogPeriodEstimators.gph_est
— Methodgph_est(x::Array; m::Real=0.8, l=0, br=0::Int)
Estimate the long memory parameter of a time series x
using the log-periodogram estimator. See Geweke and Porter-Hudak (1983) and Andrews and Guggenberger (2003) for details.
Arguments
x::Vector
: time seriesm∈(0,1)::Float64
: taper finall∈(0,1)::Float64
: taper initialbr::Int64
: number of bias reduction terms
Output
d::Float64
: long memory parameter
Notes
The function considers the periodogram of the time series x
for frequencies in the interval [T^l,T^m]
. The zero frequency is always excluded. The default values of m
and l
are 0.8 and 0, respectively. The condition m < l
must hold.
The default value of br
is 0 which returns the original GPH log-periodogram estimator.
Examples
julia> gph_est(randn(100,1))
LongMemory.LogPeriodEstimators.gph_est_variance
— Methodgph_est_variance(x::Array; m::Real=0.8, l=0, br=0::Int)
Estimate the variance of the long memory parameter of a time series x
using the log-periodogram estimator. See Geweke and Porter-Hudak (1983) and Andrews and Guggenberger (2003) for details.
Arguments
x::Vector
: time series
Optional arguments
m∈(0,1)::Float64
: taper final. Default is 0.8br::Int64
: number of bias reduction terms
Output
varb::Float64
: variance of the long memory parameter
Notes
Multiple dispatch is used for computation. If the first input is an integer, the function interprets it as the sample size; otherwise, it computes the sample size from the length of the time series.
Examples
julia> gph_est_variance(fi(100,0.4))
LongMemory.LogPeriodEstimators.gph_est_variance
— Methodgph_est_variance(T::Int; m::Real=0.8, l=0, br=0::Int)
Estimate the variance of the long memory parameter of a time series of length T
using the log-periodogram estimator. See Geweke and Porter-Hudak (1983) and Andrews and Guggenberger (2003) for details.
Arguments
T::Int
: length of the time series
Optional arguments
m∈(0,1)::Float64
: taper final. Default is 0.8br::Int64
: number of bias reduction terms
Output
varb::Float64
: variance of the long memory parameter
Notes
Multiple dispatch is used for computation. If the first input is an integer, the function interprets it as the sample size; otherwise, it computes the sample size from the length of the time series.
Examples
julia> gph_est_variance(100,0.4)
LongMemory.LogPeriodEstimators.periodogram
— Methodperiodogram(x::Array)
Compute the periodogram of a time series x
using the fast Fourier transform.
Arguments
x::Vector
: time series
Output
I_w::Vector
: periodogramw::Vector
: Fourier frequencies
Examples
julia> periodogram(randn(100,1))
LongMemory.LogPeriodEstimators.periodogram_plot
— Methodperiodogram_plot(x::Array; slope::Bool=true)
Plots the log-periodogram of a time series x
.
Arguments
x::Vector
: time series
Output
p1::Plots.Plot
: log-periodogram
Optional arguments
slope::Bool
: If true, the slope of the linear regression is displayed.
Examples
julia> periodogram_plot(randn(100,1))
LongMemory.LogPeriodEstimators.whittle_est
— Methodwhittle_est(x::Array; m::Real=0.8, l=0)
Estimate the long memory parameter of a time series x
using the Whittle log-likelihood function. See Künsch (1987) for details.
Arguments
x::Vector
: time seriesm∈(0,1)::Float64
: taper finall∈(0,1)::Float64
: taper initial
Output
d::Float64
: long memory parameter
Notes
The function considers the periodogram of the time series x
for frequencies in the interval [T^l,T^m]
. The zero frequency is always excluded. The condition m < l
must hold. The default values of m
and l
are 0.8 and 0, respectively.
Examples
julia> whittle_est(randn(100,1))
LongMemory.LogPeriodEstimators.whittle_est_variance
— Methodwhittle_est_variance(x::Array; m::Real=0.8)
Estimate the variance of the estimator for the long memory parameter of a time series x
using the Whittle log-likelihood function. See Künsch (1987) for details.
Arguments
x::Vector
: time series
Optional arguments
m∈(0,1)::Float64
: taper final. Default is 0.8
Output
varb::Float64
: variance of the estimator
Notes
Multiple dispatch is used for computation. If the first input is an integer, the function interprets it as the sample size; otherwise, it computes the sample size from the length of the time series. The variance is the same as the one from using the exact Whittle log-likelihood function.
Examples
julia> whittle_est_variance(fi(100,0.4))
LongMemory.LogPeriodEstimators.whittle_est_variance
— Methodwhittle_est_variance(T::Int;m::Real=0.8)
Estimate the variance of the estimator for the long memory parameter of a time series of length T
using the Whittle log-likelihood function. See Künsch (1987) for details.
Arguments
T::Int
: length of the time series
Optional arguments
m∈(0,1)::Float64
: taper final. Default is 0.8
Output
varb::Float64
: variance of the estimator
Notes
Multiple dispatch is used for computation. If the first input is an integer, the function interprets it as the sample size; otherwise, it computes the sample size from the length of the time series. The variance is the same as the one from using the exact Whittle log-likelihood function.
Examples
julia> whittle_est_variance(100,0.4)
LongMemory.LogPeriodEstimators.whittle_llk
— Methodwhittle_llk(d, x::Array; m::Real=0.8, l=0)
Compute the Whittle log-likelihood function of a time series x
for a given long memory parameter d
. See Künsch (1987) for details.
Arguments
d::Float64
: long memory parameterx::Vector
: time seriesm∈(0,1)::Float64
: taper finall∈(0,1)::Float64
: taper initial
Output
Q::Float64
: Whittle log-likelihood function
Notes
The function considers the periodogram of the time series x
for frequencies in the interval [T^l,T^m]
. The zero frequency is always excluded. The condition m < l
must hold. The default values of m
and l
are 0.8 and 0, respectively.
Examples
julia> whittle_llk(0.4,randn(100,1))
Documentation for LongMemory.jl.