H O M E / I N F O / P R O D U C T S / O R D E R / S U P P O R T  

 

Contents / Getting started / FAQ / Recent changes



 

Detailed changes to TSP 4.4 (May 1997- March 1999)

Detailed changes to TSP 4.4 are listed here by "type" (enhancements and bugfixes), most recent first. Workarounds are available for many of the bugs. Update disks are available for a nominal fee, or for free if you report a new bug. Note: the latest shipping version of DOS/Win TSP 4.4 was dated 9/29/98 , so many of the enhancements below were not released in TSP 4.4 (they are all available in TSP 4.5).

If you think you have found a new bug, please inform TSP tech support, but please, do so only after checking the lists below to make sure it has not already been reported and fixed.

ENHANCEMENTS

  • 03-23-99 SAMPSEL - automatic grid search for global optimum. Somewhat slow, but it is the easiest and most reliable way to avoid converging to an inferior local optimum. HITER=N is new default for standard and Latent Selection models.
  • 03-08-99 FORM(PARAM) - store PARAM names in list @RNMSF. Useful if you want to initialize the PARAMs to certain values.
  • 02-26-99 new function CNORM2(z1,z2,rho) bivariate normal CDF. Makes it feasible to use ML to estimate Bivariate Probit and Trinomial Probit models, with analytic first and second derivatives.
  • 01-26-99 CDF(WTDCHI,EIG=) for weighted chi-square. Used internally by TSP for Durbin-Watson P-values. May be useful for certain non-nested tests.
  • 01-26-99 READ Stata v6 .DTA files (already could read v2-5 files).
  • 01-15-99 LSQ, 3SLS, GMM, FIML, ML ([DROPMISS]/NODROP) to drop obs with missing values. NODROP can be used to avoid dropping observations with missing values, when the user is already handling them in a FRML by multiplying them by dummy variables which are zero. For example, FIML(NODROP) can be used to do exact ML estimation of the AR(1) model. Without NODROP, the first observation would be dropped because the lagged residual is missing, even though it is overridden with a dummy variable.
  • 01-13-99 FREQ(PANEL,ID=id_series) checks panel ID series for adaptive Double precision storage (when it has more than 6 digits)
  • 01-11-99 MSD, HIST, PRIN (NOPRINT) - implement SILENT, but make the old NOPRINT output equivalent to SILENT, for upward compatibility.
  • 01-08-99 RANDOM(GEN=1/[2]) to select type of uniform generator. The new default generator (GEN=2) has period 2**319, which should be sufficient for very large Monte Carlo experiments.
  • 01-06-99 TERSE/SILENT - implement the TERSE and SILENT options in all estimation commands. TERSE produces minimal output - objective function, number of observations, table of coefficients standard errors and t-statistics, and any non-convergence warnings. SILENT produces no output at all; results are merely stored, and the user should check @IFCONV to see if convergence has been obtained for nonlinear estimators.
    In previous versions of TSP, SILENT produced minimal output, so you may want to change SILENT to TERSE in existing programs. If your old programs use commands like SUPRES COEF,LOGL,NOB; to make SILENT produce no output, then no changes are needed.
  • 12-18-98 PROBIT, Multinomial LOGIT, ORDPROB, POISSON, NEGBIN - compute @LR - a likelihood ratio test vs. a constant-only model.
  • 12-18-98 PROBIT, Multinomial LOGIT, ORDPROB - compute @SRSQ = scaled R-squared - Estrella, JBES 4/1998. @KLRSQ is no longer stored; this is an improvement on it.
  • 12-16-98 ORDPROB - ordered probit
  • 12-16-98 NEGBIN - count data regression, when dependent variable is a non-negative integer, and the variance is a linear or quadratic function of the mean (variance >= mean). Options: MODEL=1/[2] for NegBin 1 (variance = (1+alpha)*mean) or NegBin 2 (variance = mean + alpha*mean**2), alpha >= 0.
  • 12-16-98 POISSON - count data regression, when dependent variable is a non-negative integer, and the mean equals the variance.
  • 12-12-98 FIML - speed up derivatives when Jacobian is constant
  • 12-10-98 FIML - ENDOG= now optional for uniquely normalized equations
  • 12-10-98 PLOT - try to detect old character plot style ( PLOT X *; ) (so that PREVIEW can be the default on GiveWin version)
  • 12-09-98 PROBIT, Multinomial LOGIT, ORDPROB: allow user to attempt estimation when quasi-complete separation exists, by using the option (MAXSQZ=123)
  • 12-04-98 OLSQ, VAR, COINT, PROBIT, etc. made SBIC, AIC unnormalized and uniform across all commands.
    SBIC = -LOGL + @NCOEF*LOG(@NOB)/2
    AIC = -LOGL + @NCOEF
    Previously, SBIC and AIC had been computed in various equivalent but normalized forms, such as dividing by @NOB or by @NOB/2 , or leaving out certain constants from the LOGL.
  • 11-30-98 2SLS, LIML - print Dep. Var. name before IVs
  • 11-25-98 HIST - store @HISTVAL (lower bounds on categories)
  • 11-16-98 FRMLs - allow single-item LISTs and PROC arguments in FRMLs
  • 10-22-98 TOBIT - avoid bad starting values when Y is 0/1
  • 10-07-98 PROCs - allow lagged arguments. These are converted to lists temporarily.
  • 10-06-98 PROCs - create lists automatically, if the Proc is defined with a single argument, but the user calls it with several arguments. For example:
Proc myproc vars;

msd vars;

endproc;

myproc y x1 x2;

is equivalent to:

list temp y x1 x2;

myproc temp;

For Procs with more than one argument, you can also pass lists in this way, but you have to separate all arguments with a | character. For example:

Proc myproc list1 list2; ... endproc;

myproc y x1 x2 | y2 z1 z2;

is equivalent to:

list temp1 y x1 x2; list temp2 y2 z1 z2;

myproc temp1 temp2;
  • 10-06-98 BJEST(...) y FIX ... ; - print the values and parameter names for any parameters held constant (unless SILENT is on). Suppress the warning message for problems computing automatic starting values if SILENT is on.
  • 10-01-98 INPUT(NOPRINT) - new option to the INPUT command, to turn off echoing of the commands within the file (and within any nested INPUT files referenced).
  • 10-01-98 NOPRINT;, PRINT; - implement these commands during parsing of a batch TSP program, to stop (or start) echoing of commands. Formerly, NOPRINT; only worked when loading data after an END; command. NOPRINT; might be useful for suppressing the echoing of commands in a PROC that has been debugged. The scope of a NOPRINT; command is the current input file, so if you have a NOPRINT; command within a file that you read with the INPUT command, echoing will be restored to its previous setting when the INPUT file has been complete read. As a safeguard for people who use the NOPRINT; command on a program that has not been debugged, if an error is detected during parsing, the last command line will be echoed to accompany the error message.
  • 09-29-98 PROCs - if there are undefined commands/PROCs, search for them as input files. The directories searched are the same ones searched for LOGIN.TSP (current directory, then directory where TSP is installed on PC, or home directory on unix).
  • 09-16-98 KALMAN(NOETRANS), OLSQ @RECRES, CUSUM, CUSUMSQ - calculate recursive residuals, even if the initial observations are singular. This can occur if there are dummy variables on the RHS which do not vary in the initial observations.
  • 09-07-98 LOGIT, PROBIT, TOBIT, SAMPSEL - format NOB and LOGL output on a single line, and format @NPOS as an integer.
  • 09-05-98 AR1 - major revisions for better accuracy and speed
    • OBJFN=[EXACTML]/GLS - new option for exact ML (keep first observation) or GLS (drop first observation). OBJFN=GLS corresponds to the old METHOD=CORC or METHOD=HILU. OBJFN=EXACTML is the usual default, but OBJFN=GLS is used if there are explicit lagged dependent variables on the RHS.
    • for OBJFN=GLS , a grid search is used by default to locate starting values for RHO, including potential multiple local optima. Then fast iteration is used from each starting value to obtain an accurate global optimum. Optima for RHO > 1 are detected.
    • HITER=N is the new default iteration method (fast and accurate). This is much faster than the old Cochrane-Orcutt method for GLS, and about the same speed as Beach-MacKinnon for exact ML.
    • TOL=1E-6 is the new default convergence tolerance, made feasible by using HITER=N, which converges quadratically near the optimum. As a result, all normally printed (6) digits of RHO and the coefficients are highly accurate.
    • HCOV=N is the new default method for computing standard errors
    • RHO is now always included in the VCOV matrix, so that standard errors are always consistent for lagged dependent variables (including when the lagged variables are hidden and when there are instruments)
    • the INST= option has implemented correctly (see Bugfixes).
    • the WEIGHT option has been removed, because it is difficult to implement for the new analytic first and second derivatives.
    • the column of statistics for "transformed variables" has been removed, because it was redundant and confusing. All statistics, such as mean of dependent variable, R-squared, Durbin-Watson, etc. are for "original variables", and for residuals which use the estimated RHO. (09-30-98)
  • 07-27-98 PARAM, CONST - better error handling in PARAM and CONST commands when 2 numbers are given in a row, or when operators (like = ) are used by mistake.
  • 07-27-98 ANALYZ(NOCONSTR) - new option to suppress output of "constrained coefficient" values and standard errors, when linear restrictions are tested after OLSQ.
  • 07-16-98 Nonlinear - for HITER=N with indefinite Hessian, use a modified Cholesky decomposition, instead of a generalized inverse. This allows all parameters to move in an improving direction (as given by the gradient), even if the Hessian is locally indefinite.
  • 06-26-98 DOC - when documentation is given for a variable before it has any type or value, allow SHOW to work properly for it, and allow it to be stored in a databank.
  • 06-24-98 LSQ/3SLS(INST=) - new error message when there are not enough instruments to identify all the parameters.
  • 06-16-98 FORM(VALUE) - new option name - formerly FORM(CONST), when replacing PARAM or CONST names in a FRML with their current values.
  • 05-14-98 Databanks - do not store %variables (like @variables)
  • 05-14-98 COMPRESS - delete %variables (like @variables)
  • 05-14-98 LIST(PRINT) - PRINT option to print names included in one or more lists. (Instead of using the PRINT command to print the values of variables in a list).
  • 05-14-98 LIST(DELETE) - DELETE option to delete one or more lists.
  • 05-11-98 LSQ, FIML - print NOB and LOGL on same output line; format NOB (Number of OBservations) as an integer.
  • 05-11-98 F P-values - more accurate for large numerator DF, using DCDFLIB code (uses incomplete Beta distribution).
  • 05-11-98 chi-square P-values - more accurate for large DF, using DCDFLIB code (uses incomplete Gamma distribution).
  • 05-11-98 GAMFN(), LGAMFN() and DIGAMMA() functions - more accurate, using DCDFLIB code.
  • 05-11-98 CDF(INV) - more accurate critical values.
  • 05-11-98 BJIDENT - new option, PACMETH=[BURG]/OLS/YULEWALK for computing Partial AutoCorrelations. BURG is the new default (accurate and fast). OLS uses a series of OLS regressions. YULEWALK (Yule-Walker) is the old default, and can be inaccurate when the AC matrix has a high condition number.
  • 05-11-98 CDF - give error message for non-integer degrees of freedom
  • 05-11-98 FREQ(PANEL) - require FREQ(PANEL) when an IN databank contains panel data.
  • 05-11-98 ANALYZ - improve error message when number of NAMES does not equal number of COEFs.
  • 05-11-98 Durbin-Watson P-value - switch from the Pan to Imhoff method for NOB >= 90, for improved accuracy.
  • 05-11-98 ARCH - new options. The new defaults for HINIT and E2INIT allow more standard initialization of presample values, and more use of available data.
    • HINIT=ESTALL/OLS/[SSR]/STEADY - initialization for presample h(t)
    • E2INIT=[HINIT]/INDATA/PREDATA - initialization for presample e(t)**2
    • HITER=N - default iteration with analytic second derivatives (fast)
    • HCOV=WN - default robust standard errors (best for non-normality)
  • 05-11-98 Nonlinear options - HESSCHEC option, for checking analytic second derivatives against first differences of analytic first derivatives (this was used to debug HITER=N for ARCH).
  • 04-16-98 KALMAN - check for negative diagonals of VTRANS (not allowed).
  • 04-01-98 DIFFER(DEPVARPR=) - reimplement this option on all platforms (had only been implemented on VAX).
  • 03-27-98 FREQ(PANEL) - improve error message for FREQ mismatch (label one series as FREQ PANEL, instead of FREQ -1).
  • 03-11-98 SAVE/RESTORE - allow these commands to work in batch mode.
  • 03-04-98 READ - read string records in .XLS files (these are sometimes used for column names).
  • 02-10-98 SIML - add profiling code, to see time required for Jacobian evaluation.
  • 01-19-98 VAR - warn that @LOGL is missing when @COVU is singular (when NY < NOB - (NY*NLAGS + NX) ).
  • 12-10-97 DOT - allow dashed number list that simplifies to a single number, like DOT 1-1;
  • 12-10-97 FORCST - implement for TOBIT and ARCH (unless MEAN or HEXP option is used for GARCH-M model).
  • 12-09-97 READ - store @RNMS when reading all series from a Lotus, Excel, or Stata file. That is, @RNMS is a list of the series that were read. It can be used with SHOW to show the frequencies/observation ranges of the series, or with MSD to check the min/max values.
  • 12-09-97 FREQ(PANEL) - check to see if ID variable in options is defined by future READ commands. Improve error message when ID= and T= conflict.
  • 11-24-97 HIST - allow any positive NBINS value; default 100 for DISCRETE
  • 11-17-97 READ - read Stata version 2-5 (.DTA) files, including documentation (variable labels). Like spreadsheet files, you may supply arguments to read only specified variables from the file. If you supply no arguments, all variables are read in. In this case, the list @RNMS will be stored, containing the names of all series read in from the file. String variables are not read in. Missing values are automatically detected. TSP cannot presently write .DTA files; if you attempt this, you will get a regular free format file.
  • 11-13-97 FORCST - implement for the VAR command. User must supply names for storing the forecasts, equal to the number of endogenous variables.
  • 11-13-97 FORCST - better error messages for commands for which FORCST does not work (well) yet, such as TOBIT, ARCH, SAMPSEL, LOGIT, etc. (See 12-10-97 above).
  • 11-13-97 KALMAN - allow VBPRIOR to be singular (give a warning message, no longer an ERROR message that stops KALMAN). Note: a singular VBPRIOR usually results in a singular VCOV matrix, but this can be a valid model if the user intends it that way.
  • 10-13-97 BJEST(EXACTML) - allow all options, such as CONST, NDIFF=, NSDIFF=, NSAR=, NSMA=, and START. Produces regular output, including Q-stats.
  • 10-13-97 BJEST - stationarity and invertibility constraints are now imposed by default. The new RELAX option can be used to turn these constraints off, if desired.
  • 10-13-97 BJEST(ROOTS) - new option to print polynomial roots (for order > 1), without all the other output that the PRINT option makes.
  • 10-13-97 LMS - new command - Least Median of Squares. This is a highly robust regression command, which can withstand up to 50% bad data. Essentially, the size of the largest residuals are unimportant to the fit. It is mostly useful for identifying outliers; the sampling properties of its reported standard errors are not known.
  • 10-13-97 regression diagnostics - Put DW stat back in for lagged dependent variables. Even though it is biased towards 2, it is sometimes more powerful than Durbin's h and h-alternative.
  • 10-13-97 BJEST(NOEXACTML) - count function evals for numeric derivatives
  • 09-17-97 print error message if user tries to imbed ; in a string
  • 09-17-97 implement (PREVIEW) option in batch PLOT and GRAPH, to process arguments in same order as graphics command. Useful for systems like N87 and unix which don't have graphics. Code like the Berndt exercises can then use the PREVIEW option, which will produce graphics on systems that support it, and also valid batch character plots on other systems.
  • 09-17-97 lengthen the REGOPT(DWPVAL=) option to DWPVALUE.
  • 09-17-97 add profiling code to PANEL, LSQ, and ML, so that OPTIONS SECONDS=2.1; will report time spent in various subroutines.
  • 09-17-97 modify LSQ (single equation nonlinear least squares) so that it can keep iterating when the SSR is less than 1E-20. Change the F= and FNEW= values to be the log likelihood, instead of LOGL/@NOB. This makes the code for the default STEP=BARD work somewhat better.
  • 09-17-97 do not declare a perfect fit when the SSR is less than 1E-16, but do continue to skip the advanced regression diagnostics for this case.
  • 09-17-97 BJIDENT(SILENT) -- new option to suppress all output
  • 08-04-97 improve output for PRINT frmlname; -- remove redundant parentheses, and make spacing symmetric.
  • 08-04-97 simplify derivatives of x/f(b) and sqrt(f(b)) w.r.t. b
  • 08-04-97 simplify lag polynomial labelling in BJIDENT
  • 07-15-97 2 new distributions for RANDOM command. Use the MEAN= and STDEV= options to parametrize them. (MEAN .GE. 0).
    • GAMMA - Gamma(alpha,lambda) -- a two-parameter continuous positive distribution. The density (for x .gt. 0) is
      f(x) = [lambda**alpha/gamfn(alpha)]*x**(alpha-1)*exp(-lambda*x)
      Mean = alpha/lambda
      Variance = alpha/(lambda**2) = Mean/lambda
      ACM Algorithm 599 from http://www.netlib.org/random was used, with conversion to double precision.
      Note that the default values MEAN=0 and STDEV=1 (actually zero in this case) will result in all zeros, so use a positive MEAN to obtain more interesting random numbers.
    • NEGBIN - NegativeBinomial(N,p) -- excess waiting time to obtain N successes (Number of trials minus N), with success probability p for each trial. Note that the Mean is always less than or equal to the Variance for this model. N does not have to be an integer in the general version of this model.
      Mean = N*(1-p)/p
      Variance = N*(1-p)/(p**2) = Mean/p
      Example 9.6.12 in the TSP User's Guide uses the parametrization
      N = LAMBI
      p = DELTA/(1+DELTA) or DELTA = p/(1-p) , DELTA .GE. 0
      so for this parametrization,
      Mean = LAMBI/DELTA
      Variance = LAMBI*(1+DELTA)/(DELTA**2) = Mean*(1+DELTA)/DELTA
      subroutine IGNNBN from http://www.netlib.org/random/ranlib.f was used, with conversion to double precision. This involves obtaining Gamma(DELTA,LAMBI) random numbers Y, and then drawing Poisson(Y) random numbers.
      Note that the default values MEAN=0 and STDEV=1 (actually zero in this case) will result in all zeros, so use a positive MEAN to obtain more interesting random numbers.
  • 06-27-97 show long names in PDL output. Also include any initial lag for the PDL variable, like when X(-1)(2,5,NONE) is used to skip the current value of X.
  • 06-12-97 process "lagged lists" -- by applying lag to all list elements. For example,
    list x x1 x2 z(-1); print x(-1);
    is the same as
    print x1(-1) x2(-1) z(-2);
    Note that you cannot apply "leads" to lists -- these are treated as subscripts. For example,
    print x(2);
    is interpreted as
    print x2;
    not as
    print x1(2) x2(2) z(1);
    To accomplish this (if it were not for z(-1)), use:
·                 
·                  list xled x;
·                  dot(index=i) x;
·                    list xled(i) = .(2);
·                  enddot;
·                  print xled;
  

Finally, you can combine lagged lists with lists of lags. For example,
list xlags x-x(-2);
is the same as
list xlags x x(-1) x(-2);
which expands to
list xlags x1 x2 z(-1) x1(-1) x2(-1) z(-2) x1(-2) x2(-2) z(-3);

  • 06-12-97 PROC argument substitution. All Proc arguments are treated as if they are lists, so the actual argument names are substituted for the Proc argument names. This improves labelling of output created within a Proc. For example,
    proc foo bar; print bar; endproc; set j=-1; foo j;
    results in output like
    print j;
    (in 4.3, the value -1 would be labelled BAR instead of J ). Note that you can also lag a PROC argument within a PROC, and it works like a lagged list. However, you cannot call a PROC with an explicit lagged argument: foo x(-1); is not allowed. Instead, use list xlag x(-1); foo xlag; .
  • 06-04-97 handle missing values in ML, LSQ/SUR/3SLS/GMM and FIML
  • 05-23-97 ANALYZ with linear restrictions after OLSQ:
    • computes F-statistic for joint restrictions, and its P-value. Stored as @FST = @WALD/@NCIDA and %FST.
    • computes constrained original coefficients and standard errors. These are the same coefficients and SEs you would obtain if OLSQ were run with the restrictions imposed. Stored as @COEFC, @SESC, @TC, %TC.
    • checks rank of restriction matrix, and issues a warning if the rank is less than the number of restrictions (i.e. collinear restrictions).
  • 05-07-97 CDF(NOB=.NLAGS=,DICKEYF) computes finite sample critical values (or P-values) for augmented Dickey-Fuller test, using Cheung and Lai JBES 7/95 response surface, which corrects for the number of augmenting lags.
  • 05-07-97 COINT(FINITE) computes finite sample P-values for the augmented Dickey-Fuller test and Engle-Granger test. Labels them P-valFin, vs. P-valAsy for the default asymptotic P-values.
  • 05-07-97 KEEP Procname; -- issue an error message for this, since PROCs cannot be stored on databanks.
  • 04-22-97 LIST(DROP) old_list arguments; -- drops arguments from an existing list.
  • 04-22-97 print long function names in FRMLs (PRINT, DBCOPY, DIFFER(PRINT), and FORM(PRINT) commands). I.e. print CNORM() instead of CNRM().
  • 04-22-97 do not support some alternative (undocumented) function names, such as CNRM() instead of CNORM(), DLCN() instead of DLCNORM(), etc. See the list at the bottom of the new features file (non-upward compatibility).
    The purpose of no longer supporting these function names is to avoid warning messages for "reserved function name" when a user defines a variable with a name like CNRM or DLCN.

BUGFIXES

  • 03-17-99 Nonlinear(HITER=N) - avoid zero divide when Hessian has a zero diagonal.
  • 03-16-99 MMAKE - do not ignore subscripts for inputs
  • 03-02-99 READ (.XLS v2.0 files) - integers in range 32768-65535 were negative.
  • 02-26-99 nonlinear - when substituting in single-item lists, protect memory
  • 02-26-99 LIST(DELETE) when deleting multiple arguments
  • 02-26-99 FREQ - avoid zero divide when FREQ N; follows FREQ(PANEL)
  • 01-12-99 VAR - avoid zero divide when dependent variable has no variance
  • 12-21-98 FREQ(TIME=tvar,PANEL) - when TIME variable is in double precision
  • 12-08-98 CNORM(x): check for abs(x) < 1D-300 to avoid overflow in Y/X
  • 11-25-98 OLSQ(WEIGHT=w) - round sum of weights (@NOB) to integer (if very close). This prevents @NOB from being rounded down inadvertently when used in a SMPL command later.
  • 11-16-98 MMAKE(VERT) - correctly handle mixed scalars and vectors
  • 11-05-98 GMM - make sure 0 <= NMA <= NOB
  • 10-29-98 MATRIX - parse mat p = chol(s)'; as (chol(s))', not chol(s')
  • 10-05-98 BJEST - correct subscripts for nonzero FIXed values
  • 09-14-98 BJEST(EXACTML) , BJFRCST - make sure that @BJCOEF (for BJFRCST) contains the exact final estimates, and that the final polynomial coefficient values printed for BJEST(EXACTML,PRINT) exactly match the estimated values in @COEF.
  • 09-14-98 BJEST(...) y FIX ... ; - correct use of FIXed parameter values, when nonzero and when they are not in the first polynomial. For example, BJEST(NAR=1,NMA=2) y FIX MA(2) .3 ; did not work properly.
  • 09-14-98 LIST - expand numbered prefix list when one of the new list items already exists as a list. For example, if B3 is a list, and LIST(PREFIX=B) NEW 3; is used, NEW will now contain the full contents of the B3 list. That is, the command will behave the same as LIST NEW B3; .
  • 09-09-98 SOLVE - give correct variable names in error message when lagged endogenous variables are missing in initial periods.
  • 09-09-98 COMPRESS - avoid corruption of cached command line locations during an automatic COMPRESS (it occurs when TSP runs out of space to store new variables, usually in a very long program).
  • 09-05-98 AR1(TSCS) - correct estimation when some individuals have a single observation.
  • 09-05-98 AR1(INST=) - this has been implemented correctly, so that it iterates to the correct optimum, and reproduces the behavior of the LSQ(INST=) command on the same nonlinear equation. Previously it used the wrong method to update RHO (the instruments were not used for this).
  • 08-14-98 RANDOM(NORMAL) - implement the NORMAL option, to match what HELP RANDOM says. Note that if the NORMAL option is left out, Normal random variables are produced by default. But prior to the fix, if the NORMAL option was used explicitly, RANDOM complained.
  • 08-07-98 2SLS(ROBUST) - correct standard errors when there is more than one RHS endogenous variable. I.e. reproduce LSQ output.
  • 07-29-98 Databanks (on DEC Alpha unix) - databank files were stored taking up 4 times more space than they should have. Such files are now automatically converted to take up the proper amount of disk space.
  • 07-28-98 COMPRESS - avoid corruption of cached information such as FREQ(PANEL) and the internal table of long names.
  • 07-22-98 Databanks - avoid corruption of .TLB file when the final variable had extended across 2 records, but shrank in size and no longer used the second record. This occurred when DELETE was used during a run to remove several variables with widely varying lengths.
  • 07-20-98 Databanks - do not store .DELETED (deleted) variables.
  • 07-15-98 HELP SAMPSEL - crashed on HP unix due to long output line
  • 07-09-98 PROBIT, LOGIT - store @IFCONV=0 when complete separation is detected.
  • 06-08-98 FREQ(PANEL) - when SELECT or missing values created a gap within an individual, the individual was treated as 2 individuals.
  • 06-04-98 CNORM(x) - on PC, avoid crash for -38 < x < -37.5 .
  • 05-21-98 AR1 - RHO got stuck at zero when RSTEP < TOL
  • 05-14-98 CORR - set CORR(i,j) = missing when VAR(i)=0 or VAR(j)=0, instead of CORR(i,j) = 0 in these cases.
  • 05-14-98 Durbin-Watson P-value bounds - avoid crash when number of variables > number of observations.
  • 05-14-98 PANEL - skip any F test if DF1 or DF2 is not positive
  • 05-14-98 lists - only add () around a list when expanding it in the options part of a command after an = . For example, in MFORM(BLOCK) new = mlist ; if mlist is a list, do not add () .
  • 05-11-98 FREQ(PANEL) - correctly handle FREQ(PANEL,ID=ID,N=N,T=T); when ID is not defined yet.
  • 05-11-98 READ(FILE='xxx.WK',FORMAT=LOTUS) - allow such 1-2 character file extensions.
  • 05-11-98 BJEST(PRINT) - zero the standard errors for FIXed parameters.
  • 05-11-98 Durbin-Watson P-value - Avoid LOG(0) in Imhoff method when DW equals one of the eigenvalues. Avoid 0/0 in Pan method.
  • 04-01-98 SAMPSEL - allow NPOS < NZ and NZERO < NZ. Require NPOS > NX.
    NPOS = number of observations with PROBIT dependent variable = 1,
    NZERO = NOB-NPOS = count of zeros for PROBIT dep. var.,
    NZ = number of RHS variables in PROBIT equation,
    NX = number of RHS variables in Regression equation.
  • 04-01-98 FREQ(PANEL) - make sure ID variable (or equivalent) exists before attempting to compute Durbin-Watson (otherwise Durbin-Watson may cause a crash).
  • 03-23-98 PROC - handle C argument correctly.
  • 03-11-98 SAVE/RESTORE - correct usage with long names.
  • 02-20-98 BJEST(EXACTML) - correct estimation for BJEST(EXACTML,NAR=0,NMA=0,CONST) y; (constant only).
  • 12-19-97 DOC - retain DOC info when the FREQ of a series is changed.
  • 12-17-97 GMM - GMM(COVOC=matrix,MASK=mask) - apply MASK to COVOC fully.
  • 12-10-97 long names - handle correctly as strings when used in that context. For example input longfilename ; (would already work correctly as input 'longfilename.tsp'; ).
  • 12-03-97 AR1 - RSTART= option crashed TSP.
  • 12-02-97 COINT - @TABWS was corrupted when SILENT option was used.
  • 12-01-97 CONVERT - don't allow conversion of monthly to/from weekly (since the number of weeks per month varies)
  • 12-01-97 Shiller lags - give error message if used in commands other than OLSQ.
  • 11-13-97 OLSQ,2SLS with FREQ(PANEL) - P-value bounds for Durbin Watson were not calculated correctly, sometimes causing overflows (crashes) or loops that lasted minutes or hours. Note: P-values were correct for PANEL command (with or without FREQ(PANEL)) and for OLSQ,2SLS without FREQ(PANEL).
  • 11-13-97 KALMAN - first few rows of @STATE were corrupted when the number of equations was larger than the number of coefficients in the state vector.
  • 10-13-97 BJIDNT - printed bogus extra PACs when NLAGP > NLAG
  • 10-13-97 RENAME - give error message if old name doesn't exist
  • 10-13-97 options - truncate long names to 8 chars for TYPE=SYMMETRIC
  • 10-13-97 parsing - FRML(ENDOG=x) -- now say "equation name needed"
  • 09-17-97 zero divide (crash) in nonlinear 2SLS or GMM(LSQSTART) when the single equation has a perfect fit.
  • 09-17-97 crash in PROBIT or (binary) LOGIT, when long names are used in the RHS variables.
  • 09-17-97 FREQ(PANEL), when calculating Durbin-Watson statistic for PANEL with T(i)=1, or for calculating Durbin-Watson for more than one OLSQ on different samples.
  • 09-17-97 BJIDENT, with NLAG=0 or NLAGP=0 -- crashed on PC.
  • 08-08-97 calling a PROC with a constant argument, such as FOO 2; PROC FOO X; -- if X existed as a global variable, it used to get overwritten by the constant value (2 in this example).
  • 08-08-97 (actually a *very* slow loop) when computing the DW P-value bounds, in PANEL, when the number of variables is nearly equal to the number of individuals.
  • 08-08-97 converting series with documentation (DOC) from double to single precision
  • 08-08-97 converting series from double to single with active OUT databank.
  • 08-04-97 RANDOM(NEGBIN,MEAN=10,STDEV=13)
  • 07-15-97 printing long equation name with LSQ output
  • 07-08-97 updating a databank with FRMLs that have long names.
  • 06-27-97 crash in regression output with long names (especially names longer than 20 characters).
  • 06-20-97 writing spreadsheet files with long names (the long names were not stored)
  • 06-20-97 reading long fraction numbers as command arguments, with no leading zero, like CONST D5 .12345678901234 ;
  • 06-17-97 PANEL, when NI=NOB (T=1), or when NI is close to NOB, the Durbin-Watson P-values caused a crash. The Variance component calculation could also crash with a zero divide.
  • 06-17-97 PANEL, when the DF for the Hausman test is zero, the P-value is now 1 (was 0)
  • 06-17-97 PANEL(VARCOMP), do not include NI in the d.f. calculation for @S2V, @SV, or @ARSQV.
  • 06-12-97 REGOPT(NOCALC) -- should imply NOPVCALC, too.
  • 06-12-97 reading Excel 4.0 files, for certain large negative floating point numbers, like -12631.82 and -12445.09 .
  • 06-04-97 crash in PANEL(ROBUST) when the number of coefficients equals the number of observations.
  • 06-03-97 crash in 2SLS when there are apparently no RHS exog variables, such as 2SLS(INST=C) Y ONE; .
  • 05-23-97 PLOT(DEV=printertype,...) ... ; (hardcopy graphics). Now checks for the *.BIN hardcopy graphics files in the directories c:\tsp44 , \tsp44 , \Programs\tsp44 , and . , to be consistent with the new installation directories \tsp44 (DOS) and \Programs\tsp44 (Windows). You can override this directory name by using the Patch program, of course.
  • 05-01-97 FREQ(PANEL,T=t); and READ(file='foo.XLS'); -- make these work properly together.

 

If you have any questions or comments about TSP please send an email to info@tspintl.com.

Comments or questions about this website should be sent to news@tspintl.com.