Known Bugs in RATS Version 5
Software bugs are a fact of life, although we make great efforts to minimize them. By making a list of known bugs available, we hope to limit the inconvenience these problems may cause. Please contact us if you have any questions.
This page lists the significant known bugs in RATS 5. Most of these have been fixed, and are listed based on the first version in which they were fixed. WinRATS users can download free updates to 5.11 (for users with 5.10) or 5.04 (for users with 5.0x). See the Software Updates page for details. See the RATS Updates page for details on ordering updates on CD.
For a bug-fix history for Version 4, see the Version 4 Known Bugs page.
Open Issues
- ECT and KFSET
The covariance matrix specified with a KFSET instruction will not be defined if you are also using ECT to include an error correction term in the model. Support for this may be added as a feature in later versions of RATS. In the meantime, if you need to use KFSET with an error correction setup, you will need to handle the EC "manually", by including the appropriate deterministic variables in the model, defining and including separate identity equations for operations such as forecasting or impulse responses, etc.
- %CONCAT(s1,s2)
only returns a LABEL variable (up to 16 characters), contrary to the documentation, which indicates it can return a STRING if the arguments are STRINGs. The documentation is incorrect—%CONCAT is only designed to work with labels.
- MVFRACT
The newstart parameter on MVFRACT is ignored.
- DLM
When using DLM(TYPE=SMOOTH), you must specify the start and end parameters explicitly. If you just use "/" to use the default range, RATS may not be able to determine the range properly and may crash.
Bugs Fixed in 5.11
- Problems Printing Complex SPGRAPHs
Depending on the print driver used and the specifics of the graph, complex SPGRAPHs (multiple graphs per page) would sometimes fail to print. Fixed in 5.11.
- Problems with Cut, Copy, Paste Shortcut Keys
The CTRL+X, CTRL+C, and CTRL+V shortcut keys (for cut, copy, and paste) would not work if the mouse cursor was pointed at a toolbar icon and a "tool tip" text box was being displayed. Fixed in 5.11
- KALMAN Updating with FORECAST
In Version 5.10, the KALMAN instruction was not properly updating the flag indicating the end of the most recent estimation period. If you used FORECAST in a loop with KALMAN, FORECAST would therefore keep forecasting the same period(s) over and over again unless you explicitly specified a SMPL range or a value for the "start" parameter. Fixed in 5.11.
- DERIVATIVES option on DENSITY
The values returned by the DERIVATIVES option on the DENSITY command were not correct. Fixed in 5.11.
- RATSDATA Spreadsheet Importing
The HEADER field (i.e. number of lines to skip) was ignored when importing a spreadsheet file. Fixed in 5.11.
- Graphs with KEY=ATTACHED Option
RATS could crash if the KEY=ATTACHED option was used in conjunction with the OVERLAY option or if you only had one series. Fixed in 5.11.
- %TRSQ Variable
In 5.10, the %TRSQ variable was not set by LINREG if the dependent variable had a zero variance. Fixed in 5.11.
- REPORT with ALIGN=CENTER Option
The ALIGN=CENTER option did not always work properly on REPORT. Fixed in 5.11.
- Linux RATS, Array of Arrays
Linux RATS could crash with a segment fault if you tried to define an array of arrays. Fixed in 5.11.
- %PSDDIAG Function
%PSDDIAG function could return the wrong result for the (1,1) entry. Fixed in 5.11.
- FRML(LASTREG) Fails In Compiled Section
FRML with the LASTREG option failed if used inside a compiled section. Workaround is to define an equation first, then convert it to a formula. Fixed in 5.11.
Bugs Fixed in 5.10
- MAXIMIZE Memory Leak
MAXIMIZE would use up chunks of memory each time it was called, which could lead to eventual problems running out of memory. The amount of memory wasted on each call depended on the number of observations in the estimation range, so this was usually only a problem when applied to very large data sets where MAXIMIZE was called in a loop with a large number of iterations. Fixed in 5.10.
- PRINT with PICTURE Option
RATS could crash if you used something like PRINT(PICTURE='*.##') when printing series with very large values (i.e. with a large number of places to the left of the decimal). Fixed in 5.10.
- Mistake in GARCHMV.PRG
For some of the models, the variance term incorrectly referred to VBV(1) twice, instead of VBV(2) for the second term:
Wrong:
frml hf = (h11=vc(1,1)+vav(1)*h(1,1){1}+vbv(1)*uu(1,1){1}),$
(h22=vc(2,2)+vav(2)*h(2,2){1}+vbv(1)*uu(2,2){1}),$
Correct:
frml hf = (h11=vc(1,1)+vav(1)*h(1,1){1}+vbv(1)*uu(1,1){1}),$
(h22=vc(2,2)+vav(2)*h(2,2){1}+vbv(2)*uu(2,2){1}),$
Fixed in 5.10 release.
- %CORR(x,y)
could cause a crash if applied to series and one of the series contains NA's (missing values). Fixed in 5.10
Bugs Fixed in 5.03 or 5.04
- RATSDATA
Labels could be wrong when doing multiple Box Plots. Fixed in 5.04.
- SUR
When using panel data and an INSTRUMENTS list, SUR did not take into account any lag terms on the INSTRUMENTS list in figuring out if, or how many, periods needed to be skipped at the beginning of each individual. Fixed in 5.04.
- %BESTREP function
Could cause a crash if you specified a width too small for the value involved. Fixed in 5.04.
- %INNERXX() and %OUTERXX
These functions could produce NA's or the wrong answer if a TR() (transpose) function was embedded in the argument, as in" %INNERXX( TR( A) ). Fixed in 5.03.
- %VARLAGSUMS
RATS currently cannot compute the %VARLAGSUMS for models created using the ECT instruction. Instead, use the VARLagModel procedure to do the computation:
source(echo) varlagmd.src
compute levmodel = %modelsubstect(ectmodel)
@varlagmodel levmodel vls
dis vls
- %DATEANDTIME function
Could produce junk output. Fixed in 5.04.
- RATSDATA, DBF and labeled ASCII (PRN) files
Fixed problems with importing dBase DBF files, and with exporting labeled ASCII (PRN) files. Fixed in 5.04.
- DISPLAY and large arrays
Because it was not designed to automatically wrap output, DISPLAY could crash if asked to display a very large array. Fixed in 5.03.
Bugs Fixed in 5.02
- BOXJENK
did not set %CONVERGED variable. Fixed in 5.02
- %PT(V,t,X) function
did not work if V was a RECTANGULAR array of SERIES (only worked for VECTORS or SYMMETRIC arrays of SERIES). Fixed in 5.02.
- %LNGAMMA() Function
produced incorrect results for negative arguments. %BINOMIAL() also had problems with certain ranges of values. Fixed in 5.02.
- CROSS(QSTATS)
did not display the lower bound in the list of lags properly. Fixed in 5.02.
- Excel files:
Missing values on a data file could cause RATS to stop reading any remaining data on the file. Fixed in 5.02.
- DENSITY(TYPE=HISTOGRAM)
fixed a problem handling missing values inside the sample range and a problem with endpoint computations. Fixed in 5.02.
- EIGEN instruction
through 5.01, the EXPLAIN option would override the SCALE option. Fixed in 5.02.
- PREGRESS/PSTATS
As part of the changes to PREGRESS and PSTATS made in 5.01 to improve estimation capabilities for unbalanced samples, the numbers reported in the output as the individual and time variances (with EFFECTS=BOTH) were inadvertently reversed. Also fixed an output problem with reporting the MSE. Fixed in 5.02.
- SHADE Option
When using the SHADE option on graphs and exporting to PostScript, some of the shaded areas would have a border and some would not. Fixed so that none of the shaded areas have borders. Fixed in 5.02.
- Double-clicking
on a file in Windows Explorer to open that file (a program file for RATS, or a RATS format data file for RATSDATA) didn't work properly under Windows 2000 or XP. Fixed in 5.02.
- RESULTS option on IMPULSE
did not work properly with models that included identity equations, when shocking all equations. Fixed in 5.02.
- DATA compaction
Fixed a problem with compacting data from weekly to monthly using the option SELECT=4. Fixed in 5.02.
- MENU/CHOICE commands
didn't display the menu dialog box properly under Windows 2000/XP. Fixed in 5.02.
- ITERATE
Fixed a problem with handling models with MA terms. Fixed in 5.02.
- X11
The X11 command (optional add-on) would fail if you used the UPPER and LOWER options and set them to exactly the same value. Could also fail in certain situations where the series being adjusted had NA values in the first few observations. Fixed in 5.02.
- ERRORS
The ERRORS instruction could cause a crash if applied to just 1 equation without explicitly specifying PRINT or NOPRINT. Fixed to handle printing default as described in the Reference Manual.
Bugs Fixed in 5.01
Note that all of the bugs marked as having been fixed in Version 5.01 were fixed prior to the release of Version 5.01 for Macintosh and UNIX platforms (the first releases of RATS 5.0 for those platforms), so they were never present in the 5.0 releases for those platforms.
- ESTIMATE, SUR, NLSYSTEM Degrees of Freedom Incorrect
These multi-equation instructions did not set the degrees of freedom correctly, so the DOF in the output and the Standard Error of Estimate statistic were reported incorrectly. Fixed in 5.01
- NLSYSTEM Summary Statistics Issue
Due to an incorrect flag in the summary statistics computation step, the Adjusted R-squared and standard error of estimate statistics were computed using a divisor of (T-2K) rather than (T) for SUR and NLSYSTEM regressions. If 2K was larger than T, this would lead to NA values for the SEESQ.
- HISTORY Instruction
Two problems with HISTORY:
- If you didn't use the RESULTS option, RATS crashed.
- The output for the "forecast" series in the WINDOW output was wrong—it only included the contribution from the first component in the model. However, the forecast value reported in the RESULTS series is correct.
- DFC Option Fails When Using NOPRINT option.
If you used DFC=... with NOPRINT on a regression instruction (LINREG, PREGRESS, presumably all others), the %NDF variable was not being set to the corrected degrees of freedom. Worked OK as long as the PRINT option is turned on.
- Printing Problems
When printing text using an HP LaserJet or compatible PCL drivers, the program could hang, or produce many copies of a document instead of one copy. Also some problems printing graphs with certain PCL drivers.
- IMPULSE Instruction Causes Program Crash
If you used the RESULTS option without first DECLARing the RECT[SERIES] ahead of time, RATS would crash. Fixed. IMPULSE will now create the array if necessary, as intended.
- Excel Files with NA's
Excel crashed when trying to read a file written from RATS if the series on the file included missing values (NA's).
- Saving Graphs Using ENVIRONMENT GSAVE, GFORMAT
- Contrary to the documentation, you MUST use the GFORMAT option along with GSAVE to get any output (no default to RGF).
- Also, ENVIRONMENT GSAVE would not work properly if you enclosed the string in quotes (which is what the documentation said to do). Fixed to work with or without quotes. Also added the ability to omit the "*" to just create a single file.
- ENV GSAVE was not designed to work inside a loop, and will be ignored in that setting.
- SIMULATE command
Failed with linear models (worked with non-linear models).
- LQPROG Issue
Could converge to the wrong solution in some very rare cases.
- X11 Seasonal Adjustment Module Issues
Two problems with the X11 instruction (an optional add-on to RATS):
-
X11 could cause a program crash if the series being adjusted had leading NA's, or if the user specified a value of 1.5 for the UPPER option and LOWER was also set to 1.5 (i.e. specifying a NON-graduated handling of extremes).
- Documentation says 36 is the minimum number of obs, but the program crashes if you have 47 or fewer observations. Fixed to allow 36 as minimum.
- Problems Writing dBase DBF Files
RATSDATA would crash if you try to export to DBF format, and the format of files written by RATS was not correct.
- PREGRESS Issues
- PREGRESS adjusts the degrees of freedom by (with METHOD=FIXED) subtracting off the number of individuals and/or time periods (depending on EFFECTS choice), which is good. However, it based that count on all individuals/time periods in that correction, even if one or more of those is dropped from the calculation due to missing values. As a result, the degrees of freedom was too low in such cases.
- PREGRESS could cause a program crash in certain situations involving large numbers of missing values in the sample range.
- DLM Issues
Crashed in certain numerical situations, or in models with two or more measurement equations.
- FIND Issue
Using BFGS with NONLIN constraints on a function with singularities at the constrained points can cause a crash. SIMPLEX works OK. BFGS crashed, sometimes with a TLOSS error on COS and SIN operations. These error conditions should now be trapped properly.
- PFORM with Leading NA's.
PFORM used to stack series (with no options) crashes when series had missing values (NA's) at the beginning of the sample range.
- DISPLAY(HOLD)
DISPLAY with the HOLD doesn't work properly—it just retained the most recent info.
- DISPLAY with mix of VECTORS and RECTANGULAR arrays
DISPLAY did not display the first matrix if, for example, you tried to display a RECTANGULAR array and a VECTOR using a single DISPLAY command.
- Batch Mode via Shortcut Icon
The program could generate a protection fault error after completing the batch job when executed using the "shortcut method" of running batch mode. The error only occurred after the input program had been run in its entirety, so the results were not affected by the crash.
- DISPLAY @-1 Issue
Using @-1 as a position on DISPLAY doesn't work properly in 5.0. DISPLAY @+0 was a useful workaround.
- %DET Function on Reserved Arrays Could Crash Program
An operation such as dis %det(%cmom) or dis %det(%xx) could cause a crash.
- AR1 with Missing Values and CORC
If you manually select CORC method, and explicitly specify a range that includes missing values (at least leading NA's), the program could crash.
- GRPARM(PORTRAIT) with SPGRAPH
Version 5 works better at handling label positions—everything looks great as long as there are two or more columns of graphs (HFIELDS is bigger than 1), but for one column, the old problem of headers and x-axis labels getting squashed onto the graphs, and left-right sizing being wrong, reappears.
- CORRELATE Fails if Zero Variance
If you tried to apply CORRELATE over a range of values for which the variance was exactly zero, the program could crash. This is now trapped properly with an REG7 error. Fixed in 5.01.
- ECT With Missing Values at Beginning of Sample
With ECT, RATS doesn't properly account for missing data at the beginning of the sample, which can lead to a crash. Note that with L lags and the model in levels, ECT produces a model in differences with L-1 lags. Handling of the sample start was off by one (the effect of the differences) when missing values were involved. Specifying start date explicitly works around this.
- 16-bit Windows Version Only: Bad File Names
If you do OPEN DATA filename where "filename" is not a valid 8.3 name, and then do DATA, RATS doesn't give any error or warning or anything.
- USERMENU Issue
If you use a USERMENU, and then close the input window without first doing USER(ACT=REMOVE), and then open a new input window, RATS wouldn't execute any instructions.