Learn R Programming

sym.arma (version 1.0)

elliptical.ts: Autoregressive and Moving Average Symmetric Models

Description

Fit an SYMARMA model to a univariate time series. Fitting method: conditional maximum likelihood estimation.

Usage

elliptical.ts(Y, family="Normal", order=c(0,0,0), xreg=NULL, 
include.mean=TRUE, epsilon=0.0001, maxit=100, trace="TRUE",
index1=NULL, index2=NULL, fixed=NULL)

Arguments

Y

a univariate time series.

family

a description of the conditional distribution of each Y[t], given the set of past information. Symmetric distributions available for adjustment: Normal (Normal), Student-t (Student), Generalized Student-t (Gstudent), Exponential Power (ExpPower) (by Box & Tiao, 1973, ch 3), Logistic I (LogisticI), Logistic II (LogisticII), Generalized Logistic (Glogistic), Cauchy (Cauchy) and Contamined Normal (Cnormal). The default is to normal distribution.

order

a specification of the SYMARMA model: the three integer components (p, d, q) are the AR order, the degree of differencing, and the MA order.

xreg

optionally, a vector or matrix of external regressors, which must have the same number of rows as Y.

include.mean

should the SYMARMA model include a mean/intercept term? The default is TRUE.

epsilon

positive convergence tolerance e; the iterations converge when |fit - fit_old|/|fit| < e. Default is e=1e-04.

maxit

integer giving the maximal number of iterations. Default is 100 iterations.

trace

a logical indicating if output should be produced.

index1

The parameter to Student-t and Exponential Power distributions or the first argument to Generalized Student-t, Generalized Logistic and Contamined Normal distributions.

index2

The second argument to Generalized Student-t, Generalized Logistic (index2 = index2(index1)) and Contamined Normal distributions.

fixed

a optional numeric vector of the same length as the total number of parameters. If supplied, only NA entries in fixed will be varied.

Value

A list of class “Symarma” with components:

coefficients

a vector of estimated AR, MA and regression coefficients.

dispersion

the estimated dispersion parameter.

resid.raw

the ordinary residuals.

resid.stand

the standardized residuals.

fitted.values

the fitted mean values.

loglik

the maximized log-likelihood.

aic

the AIC value corresponding to the log-likelihood.

bic

the BIC value corresponding to the log-likelihood.

rmse

the Root Mean Squared Error value corresponding to the ajusted model.

iter

the number of iterations used in the fitting.

n

the number of observations in the series.

sd.coef

a vector of estimated standard deviation of the coefficients.

sd.disp

estimated standard deviation of the dispersion parameter.

family

the family object used.

X

if requested, the vector or matrix of external regressors.

Details

Different definitions of autoregressive and moving average models have different signs for the AR and/or MA coefficients. The dynamic component in SYMARMA model used here has

\(Y[t] = X[t]Beta + phi[1](Y[t-1] - X[t-1]Beta) + ... + phi[np](Y[t-np] - X[t-np]Beta) + theta[1]erro[t-1] + ... + theta[nq]erro[t-nq] + erro[t].\)

The estimation of the parameters that index the SYMARMA model is obtained by maximum conditional likelihood method on the first m observations, where m = max(np,nq).

The variance matrix of the estimates is found from the Hessian of the log-likelihood, and so may only be a rough guide.

References

Maior, V. Q. S. and Cysneiros, F. J. A. (2018). SYMARMA: a new dynamic model for temporal data on conditional symmetric distribution. Statitical Paper, 59, 75-97. doi: 10.1007/s00362-016-0753-z.

Wei, W. W. S. (2006). Time Series Analysis: Univariate and Multivariate Methods, 2nd edition. Pearson Addison Wesley. Section 7.2.1.

Box, M. J. and Tiao, G. C. (1973). Bayesian inference in statistical analysis. Londen: Addison-Wesley.

Examples

Run this code
# NOT RUN {
data(assets)
attach(assets)

# Return in the prices on Microsoft and SP500 index

N = length(msf)
.sp500 = ((sp500[2:N]-sp500[1:(N-1)])/sp500[1:(N-1)])*100
.msf = ((msf[2:N]-msf[1:(N-1)])/msf[1:(N-1)])*100

# The T-bill rates were divided by 253 to convert to a daily rate

.tbill = tbill/253

# Excess return in the prices on Microsoft and SP500 index

Y = .msf - .tbill[1:(N-1)]
X = .sp500 - .tbill[1:(N-1)]

# Period from April 4, 2002 to October 4, 2002

serie = Y[2122:2240]
aux = cbind(X[2122:2240])

# Returns best ARIMA model according to either AIC value.
# auto.arima(Y,xreg=aux,seasonal=FALSE,ic=c("aic"))

# Fit SYMARMA models

fit.1 = elliptical.ts(serie,order=c(0,0,1),xreg=aux,include.mean=FALSE,
 family="Normal")
fit.2 = elliptical.ts(serie,order=c(0,0,1),xreg=aux,include.mean=FALSE,
 family="Student", index1=4)
fit.3 = elliptical.ts(serie,order=c(3,0,1),xreg=aux,family="ExpPower",
 index1=0, fixed=c(0,0,NA,NA,NA,NA))
# }

Run the code above in your browser using DataLab