All the programs can be freely downloaded for the purpose of research and academic communication.
It cannot be resold or used for any commercial purpose.
Comments and suggestions are sincerely appreciated.
Numerical Methods and Statistics tools
Climb High (A Numerical Optimization Routine)
Climb High is a numerical routine for unconstrained non-linear optimization problems on the basis of the BFGS algorithm.
It blends a variety of search techniques to locate the maximum / minimum.
It is especially ideal for problems in applied econometrics such as maximum likelihood or simulated likelihood estimation.
It also works well in solving non-linear equations and non-linear least squares.
Climb High is written in the MATLAB language. Compared with the canned optimization routines in MATLAB,
Climb High has the following features:
* Less picky on the starting values
* More tolerant of poorly scaled data
* Stable and seldom produce error messages and stop halfway in the optimization
* Able to find an optimum at least as good as the canned routines in most cases
* Reasonable in speed
Just in case -- suppose you find the canned routines in MATLAB does not work satisfactorily for your optimization problem at hand,
may I suggest you give Climb High a try?
Users Guide to Climb High.pdf
The Nash Equilibrium package includes a graphic interface, several genetic functions and a dozen examples
to find out the Nash equilibrium of a static game, with complete or incomplete information.
It is most suitable for classroom teaching.
The package can help teachers and students to solve:
1. Pure and mixed strategy Nash equilibrium of any Two-player-two-strategy games
2. Pure and mixed strategy Nash equilibrium of any Two-player-three-strategy games
3. Pure and mixed strategy Nash equilibrium of any Three-player-two-strategy games
4. Pure strategy Nash equilibrium of Two-player-many-strategy games
5. Pure strategy Nash equilibrium of Three-player-many-strategy games
6. Pure strategy Nash equilibrium of Four-player-many-strategy games
Examples includes:
Prisoner’s dilemma, Battle of sexes, Hawk and dove, Matching pennies, Rock paper and scissors,
Bertrand, Cournot, First-price auction, Second-price auction, etc.
Universal Random Sampler package includes a graphic interface to generate random numbers from user supplied density function.
The density can be improper, though the proportionality constant cannot be astronomical.
The package provides four algorithms to generate random numbers:
1. Inverse CDF with discretization,
2. Rejection sampling,
3. Adaptive rejection sampling,
4. Weighed bootstrap.
Once the program has generated the requested number of random sample from the specified density,
it will report the summary statistics and write the random numbers into a plain text file.
Random Numbers from Common Distributions
Common random numbers package can generate random numbers from common distributions.
It supports the following distributions:
1. Dirichlet distribution
2. Truncated normal distribution (Inverse CDF, Geweke's rejection sampling)
3. Multivariate normal distribution
4. Multivariate t distribution
5. Gamma distribution
6. Inverse (inverted) Gamma distribution
7. Wishart distribution
8. Inverse (inverted) Wishart distribution
9. Restricted diagonal Wishart distribution
10. Restricted diagonal inverse Wishart distribution
11. Extreme value distribution
12. Logistic distribution
13. Weibull distribution
14. Pareto distribution
15. Discrete states with specified probabilities
Cumulative Distribution Function (CDF) from Common Distributions
Common cumulative distribution function package can compute c.d.f. of some distributions, including:
1. Normal distribution (Fast)
2. Student t distribution (Incomplete Beta function)
3. Multivariate normal distribution (GHK recursive simulator)
4. Multivariate t distribution (GHK recursive simulator)
5. Gamma distribution (Incomplete gamma function)
6. Chi-square distribution (Incomplete gamma function)
7. Logistic distribution (Inverse CDF)
8. Weibull distribution (Inverse CDF)
9. Pareto distribution (Inverse CDF)
Density Function from Common Distributions
Common density function package can compute p.d.f. of many distributions, including:
1. Multivariate t distribution
2. High dimensional multivariate t distribution with BCB covariance.
3. Multivariate normal distribution
4. Independently joint normal distribution
5. Gamma distribution
6. Inverse (inverted) Gamma distribution
7. Wishart distribution
8. Logistic distribution
9. Weibull distribution
10. Pareto distribution
11. Poisson distribution
Numerical differentiation and integration
This package includes two Matlab functions, one for numerical derivatives, and the other for numerical integration. Several parsimonious methods to compute numerical derivatives are provided: forward difference, central difference and low-order Richardson extrapolation. The algorithm for numerical integration is Gauss-Legendre quadrature. The program will automatically perform the change of variable so as to adjust the domain to [-1,1].
The linear interpolation package includes several functions to conduct linear interpolation (table lookup) of up to four dimensional uniformly spaced data.
Markov chain approximation to AR process
The AR(1) / VAR(1) to Markov chain package includes several functions to discretize the AR(1) / VAR(1) process into finite-state Markov chain. Even-probability spaced grid points are created for each state and associated transition matrix is computed.
These programs were originally written by Dr. Hang Qian of Iowa State University.
Since these codes are not available on the author's website, they were reproduced here.