Temporal disaggregation using the Litterman method
[y,res]=litterman1(Y,x,ta,s,delta,typemin,optfunc,opt_optim)
* Y = a (N x 1) vector of low frequency data
* x = a (n x p) matrix of high frequency indicators (without intercept)
* ta = type of disaggregation
- ta=-1 ---> sum (flow)
- ta=0 ---> average (index)
- ta=i ---> i th element (stock) ---> interpolation
* s = number of high frequency data points for each low frequency data points
- s= 4 ---> annual to quarterly
- s=12 ---> annual to monthly
- s= 3 ---> quarterly to monthly
* delta = the increment used for numerical derivation
* typemin = estimation method:
- typemin='wls' ---> weighted least squares
- typemin='llike' ---> maximum likelihood
* optfunc = a string, the name of the optimisation function ('optim' or 'optimg')
* sopt_optim = a tlist, collecting the options to the optimisation function
* y = High frequency estimate
* res = a results tlist with:
- res('meth') = 'Litterman'
- res('typemod') = type of the model for the high frequency innovations
- res('ta') = type of disaggregation
- res('nobs_lf') = nobs. of low frequency data
- res('nobs_hf') = nobs. of high-frequency data
- res('pred') = number of extrapolations
- res('s') = frequency conversion between low and high freq.
- res('p') = number of regressors (including intercept)
- res('y') = high frequency estimate
- res('y_lf') = low frequency data
- res('indicator') = high frequency indicators
- res('y_dt') = high frequency estimate: standard deviation
- res('y_up') = high frequency estimate: sd + sigma
- res('y_lo') = high frequency estimate: sd - sigma
- res('resid') = high frequency residuals
- res('resid_lf') = low frequency residuals
- res('beta') = estimated model parameters
- res('sd') = standard deviation of the estimated model parameters
- res('tstat') = estimated model parameters: t ratios
- res('rho') = innovational parameter
- res('aic') = Information criterion: AIC
- res('bic') = Information criterion: BIC
- res('llike') = Objective function used by the estimation method
- res('typemin') = method of estimation
- res('llike') = Log-likelihood at the estimated parameters
- res('sigma') = Variance at the estimated parameters
load(GROCERDIR+'\data\xesp.dat') opt=tlist(['optim options';'optim';'optim ineq';'nelmead';'convg'],... [',''ar'',1e4,1e4'],',''b'',-0.99,0.99',',2*%eps,1000',1e-5) [y,res] = litterman1(Y,x,-1,4,1e-5,'wls','optimg',opt); // With Y and x taken from the database GROCERDIR+'\macros\grocer\db\xesp.dat', // provides quarterly disaggregation of (22 x 1) matrix Y (representing annual Spanih exportations) with (88 x 1) matrix x. // Annual series are built by summing quarterly series (3rd arg. set to -1); // the order of aggregation is 4 (4th arg. set to 4); // the increment used for the numerical derivation is 1e-5 (5th arg. set to 1e-5) // and the estimation method is weigthed least squares (6th arg. set to 'wls'). // Optimization function is Grocer 'optimg' with parameters entered in tlist opt. | ![]() | ![]() |