This review by Ron Shone (October 3 2000) was on request
of the Economic Journal, but eventually did not get published there since
they stopped doing software reviews. It is put here with permission of
Ron Shone. There has been a little editing: (1) To more accurately reflect
the current situation, some texts have been omitted, as indicated by "(…)".
(2) Also screendumps, formulas and tables have been omitted since these
work good on paper but less good on the internet.
-------------------------- Thomas Cool, The Economics Pack. Single user licence $99.Installation and password
It must be pointed out, however, that the content of the pack itself is little altered. The author supplies two versions of the package: the basic Economics Pack, which includes the user guide, and a ‘professional premium’ version, which includes in addition his book on "Definition and Reality in the General Theory of Political Economy" (…). The package is supplied (…) as a single download (zip) file. The single download file is 3MB. The files are in *.tar.gz format. The single download zip file is less error prone, and unpacks with all suitable subdirectories with the appropriate files contained in them. Utilities to uncompress the files are required by the user – either WinZip or WinPack for windows, while Macintosh users require Stuffit Deluxe or Stuffit and DropStuff with Expander Enhancer. The disks need to be installed as given by the instructions. Whichever method of obtaining the package is undertaken, once installed it is necessary to go into Mathematica and rebuild the help index. This not only includes the Economics Pack as part of the Add-ons, but also includes terms from the User Guide in the Master index. (It may be necessary to involve the systems manager for those using Mathematica on Windows NT.) The whole package is contained in the subdirectory: AddOns/Applications/Economics. The installation creates two further directories: Documentation and English (or other language). Within Mathematica, the directory structure is: AddOns/
The … indicates other folders in the same directory. In
Windows, the uncompressed files take up 10.7MB of disk space. Once installed,
it is necessary to identify the Economics Pack licence ID and your Mathematica
Licence number (type in $LicenseID – notice the "s" in the spelling). These
need to be emailed to Thomas Cool who will then issue a password. This
is required only when the package is first opened, which is accomplished
with the instructions Needs["Economics`Pack`"].
Cool palettes
[Figure 1 and Figure 2 here]
System Enhancements
Some enhancements, like that for producing arrows (p.46 of the Manual) violate Occam’s razor. The routine is long and not obviously appealing. The same diagram could more easily be produced in a graphics package. However, they can be an enhancement for certain output. The fact that they are provided allows this facility and, of course, allows output to be produced solely within Mathematica. A welcome enhancement for the economist is that on Calculus, Convexity, Lagrange and Kuhn-Tucker. The last two packages in particular allow symbolic and numerical methods for constrained optimisation, but they provide only first order conditions. They are still limited, however, by the way Mathematica goes about solving problems. For instance, for the very simply constrained optimisation problem of consumer demand: (…) only a partial solution is provided, with the warning that the equations appear to involve the variables in an essentially non-algebraic way (one of Mathematica’s warnings). No such problem is encountered with a numerical version of the problem using the Solve routine. The packages cannot be used blindly. Both packages when dealing with numerical problems utilise Mathematica’s FindRoot command, and so a "sensible" start value needs to be supplied by the user. Unfortunately, the instructions for using these packages are not always clear. Part of the problem is in providing the formats in the way that Mathematica does. The examples used in the manual do not always clarify in a straightforward way the manner in which routines are employed, which is especially true of the examples to illustrate the Kuhn-Tucker optimisation problem. The author has an interest in propositional logic and applying Mathematica to such considerations. Thus, in Chapter 4 of the manual there is a discussion of Logic and Inference. This is an unusual chapter. The approach and comments by the author may be useful to those constructing truth tables and researching into axiomatics. But at the moment, as the author admits, it is only a beginning – and for any journey one must take the first step! Economics
(…) To use the routines I deliberately chose to change the defaults. For instance, the items over choice are by default the letters of the alphabet, beginning with A. I simply declared the items as a list. The input instructions are then: Items = {X,Y,Z}Preferences simply use numbers with the higher number indicating preference over a lower one. What is important, however, is to declare what the status quo happens to be – here Z with 100% examination. The routine carries out sorts and tests for cyclical voting. For situation I the programme declares cyclical voting as False and selects item Y, i.e., 50% course work and 50% examination. For situation II, however, with the second set of preferences replaced by {2,1,3}, the routine declares cyclical voting as True and hence selects the status quo, namely Z. This feature of choosing the status quo if cyclical voting is present is built into the routine. There is also a facility for producing a Duncan Black Plot. This is shown in Figure 3, which illustrates the problem of double-peaked preferences. [Figure 3 here] There are numerous routines to do with demand, cost, factor
demand, elasticities, growth rates, etc. Special treatment is given to
the constant elasticity of substitution (CES) function, including the special
cases. For instance the following input instructions give rise to the Leontief,
Cobb-Douglas and infinite factor substitutability production functions
respectively.
It is, however, clear that the user of the Cool Economics Pack must be familiar with the syntax arrangement of Mathematica because this dominates the way the Economics Pack presents all the routines. Although the CES function is exhaustively dealt with, the instructions in the manual give merely definitions. For instance, the command "CEStermRule[A,s,v:1]or CEStermRule[opts] gives the rule CESterm -> function[Aggregate] for the relevant form. The latest CESterm is used, i.e. of the latest CES[ ] call. This means that there need not be a relation with the parameters given in the present call of CEStermRule" is virtually incomprehensible. This difficulty runs through the whole manual. There are only a few examples. I would have preferred to see many more straightforward illustrations of the commands that have been created, very much along the lines of the example on p.134. There are, however, some example notebooks which can be accessed from the help browser, but these are more elaborations rather than straightforward examples. A useful teaching package is ‘AGE – the applied general equilibrium analysis package. This deals with solving allocations with commodities (sectors), in factors and a Bergson-Samuelson social welfare function. The AGE package extends the analysis provided by Noguchi (1993). More interesting is that the model can and is set up with CES utility and production functions. (CD can be used with suitable choice of parameters, as illustrated above.) There is also a plot of the optimality and a plot of the efficiency locus in production. A number of other plots are also available. Also included in the same chapter are static and dynamic versions of the Leontief input-output model. Section 5.7 deals with the basic IS-LM model and the Phillips curve. When utilising any computer package for modelling it is useful to consider the problem in three parts: (1) variables, (2) equations and (3) models. This is the procedure followed by Thomas Cool. The model is very basic and, in particular, treats net exports as exogenous. It does, however, deal with the liquidity trap. It also includes a plotting command: ISLMPlotPrepare[f:IS, g:LM]. Because Mathematica allows long variable names, these are used in the routines. But they are cumbersome. The package provides, therefore, a rule that changes the extensive names into symbols with the command ToMacroSymbols. When introducing the Phillips curve, the author includes a "labour income quote" as an indication of profits. It is, of course, possible to set this at zero to exclude it from the analysis. Three formats are provided for the equation of the Phillips curve: Line, Inverse and Log. There is also a routine for plotting the Phillips curve. The macromodelling of IS-LM, I think, illustrates that sometimes using Mathematica can complicate the modelling process rather than simplify it. It is like learning something very familiar in another language! A series of routines for economics now follow. A taxes package which deals with income tax and social security premiums; two small packages to deal respectively with decision theory and games; a cartel package dealing with monopoly and cartels; a package which handles the basic peakload pricing model. The cartel package illustrates how obscure Cool can sometimes be. I found this difficult to follow. I suspect he considers the only relevant cartel model (from the point of view of his consultancy) is a share model. Cournot and Stackelberg get no mention! Within the share model, however, shares can be in terms either of costs or production. Section 5.12 refers to an introduction to finance, introducing a series of packages specifically for basic finance. The aim here is to enhance those packages/routines which are already available form Wolfram and Hal Varian (1993). Besides dealing with some basic accounting concepts, there is also included a CAPM package which develops the main features of the capital asset pricing model (developed more fully in section 5.14). Included are routines for plotting the capital market efficiency frontier and the Markowitz efficiency frontier. There are further finance enhancements in section 5.15, which enhances the Wolfram finance essentials package. Chapter 5 finishes with a section on transport economics
and transport science. The author considers this a specialist topic and
provides only brief notes. It does, however, illustrate once again the
diversity to which Mathematica can be put.
Statistics and Econometrics
The number of routines contained in the Economics Pack is numerous, and one could easily overlook a useful one. In section 6.7, for instance, there is a probability package that deals with prospects and the equivalent value of prospects. There follows a discussion of risk and typical routines for handling problems to do with insurance. Thus, we find routines on certainty equivalence and Pratt’s measure of risk. The routines in the econometric package arise from trying to handle dynamic modelling. Although included is a routine for the estimation of nonlinear systems, much of the routines here deal with model simulation. Researches interested in ARIMA models will find some routines of interest here. Included in the econometrics chapter (why, I am not sure)
are topics that are useful to a number of researches. They include neural
networks (a new and growing topic of research), operations research, linear
programming and queueing theory.
Conclusion
We can ask three basic questions about the routines: Are they easy to use?
Put briefly my answers are: (1) No, (2) Yes, and (3) Yes.
My first review, Shone (1999) criticised Cool for not having a manual and
so it was difficult to know how all the routines fitted together. He clearly
has satisfied this with a 555-page manual! But the Thomas Cool package
is constrained by its own extensiveness. Because there are so many routines,
the 555 pages can barely state the instructions for inputting information
into them. These input statements follow the strict syntax of Mathematica.
But exactly how the user should input instructions, which use these in
some combination of statements, is not usually provided. The user, therefore,
must often find this out by trial and error. This is not satisfactory.
The solution is quite simple – but possibly not one that the producer of
the manual would like. It is: provide numerous examples to illustrate how
the input instructions should be used. This is exactly what the Mathematica
manual does. Unfortunately, this would (I suspect) increase the manual
to almost 1000 pages! The only alternative is to limit the extent of the
routines. If the Economics Pack is to have wider use, as it deserves, then
it needs to be made far more user friendly with far more simple examples
to illustrate how the different routines can be used.
Ronald Shone
University of Stirling
References
De Jong, F. J. (1967), "Dimensional Analysis for Economists", North-Holland. Noguchi, A. (1993) "General Equilibrium Models" in H. Varian (ed.), "Economic and Financial Modelling with Mathematica", Springer-Verlag. Shone, R. (1999), "CoolEconomicsPack 1.0", Economic Journal, Vol.108, 1229-34. Varian, H. (1993), "Economic and Financial Modelling with Mathematica", Springer-Verlag. |
Note by Thomas Cool March 2003:
This review again is very useful, and I agree with much of it.
Please note that the Help window does contain many examples files that
are not printed in the User Guide.
It is a pity, though, that I do not have the time nor the circumstances
to extend the User Guide with those examples,
or, rather, to make a separate book of those examples.
In the mean time, I can only advise users: consider carefully the User
Guide and the examples that have been given,
and work from simple problems to the more complex ones.