BoSe, Bottazzi-Secchi model of firm growth
Table of Contents
- Authors:: Giulio Bottazzi
- Contact:: <bottazzi@sssup.it>
- Revision:: 0.6
- Copyright:: GPL
Introduction
This is a little collection of programs written to test and study the Bottazzi-Secchi model of firm growth. The model is described in several papers, see the Bibliography.
This package contains both C programs and Python scripts. The C
programs require that the GNU Scientific Library (GSL) is installed on
your computer while a Python interpreter is necessary in order to run
the scripts. If python
is the name of your Python interpreter you
can run the program name_of_program
with
python name_of_program
Notice that the several Python scripts in the package require the numpy module for Python.
A python interpreter is automatically installed in any Linux distribution and both the GSL library and the numpy module are usually available as packages.
Download and installation
Provided the dependencies above are satisfied, the installation should
be straightforward. Download the latest available tar.gz
package
from the cafed repository. Unpack the package
tar xvzf bose-{version}.tar.gz
move inside the source directory
cd bose-{version}
run the configure script, build and install
./configure make make install
For more detailed instructions see the INSTALL file in the package.
List of programs
bose_step1
and bose_step2
are just intermediate utilities written
to numerically check the correctness of the analytical analysis on
which the model is based.
The program bose
and the scripts bose_growth
and bose_sizes
provide a simulation of the Bottazzi-Secchi models. The latter keeps
track of the size evolution of the firms while the formers simply
generate the growth rates densities (and several other things…. see
the documentation below).
The Bottazzi-Secchi model
To better understand the various command line options of the following programs it is probably useful to summarize the main features of the model. Please understand that this explanation is by no mean exhaustive. It is intended for people who did already read one of the papers in which the model is described. If you don't know the model, please refer to the Bibliography.
The model is indented as a discrete time evolution of an industrial sector. Consider a sector with N firms. At the beginning of each round the economy allows for M business opportunities to be exploited by firms. These opportunities are distributed among the firms following a Bose-Einstein statistics.
Each opportunity generates a multiplicative growth shock affecting the size of the firm which captured it. All these growth shocks are assumed identically distributed with a common density \(g\).
The resulting growth rates probability density p(x;M,N) reads
\[ p(x;M,N) = \sum_{h=0}^{M} \, P(h;N,M) \, \sqrt{\frac{M}{N}} \, g\left(\sqrt{\frac{M}{N}} x\right)^{\ast (h+1)} \]
where the exponent indicates the convolution of the density \(g\) and \(P(h;N,M)\) is the Bose-Einstein distribution of parameter N and M
\[ P(h;N,M) = {N+M-h-2 \choose N-2}/{N+M-1 \choose N-1} \]
bose_growth
This is the basic program for the generation of Bottazzi-Secchi growth rates distribution. One can provide several command lines options (default values are specified in square brackets):
-N the number of firms [100] -M the average number of micro-shocks per firm [100] -D the type of micro-shock distribution [0] 0:normal 1:uniform 2:gamma -d the shape parameter of the Gamma distribution -m the mean of the micro-shock distribution [0.0] -v the variance of the micro shock distribution [.01] -T the number of simulation steps [1]
The program prints the rate of growth of each firm at each period.
bose_size
This is essentially the same as bose_growth_ with the only difference that together with the growth rate also the size of each firm is printed at each rime step.
bose
This C program analyzes the growth rates probability distribution \(p(x;M,N)\) defined above.
This program takes as input the parameters N,M and a specification for the density g. Both Gamma and Gaussian distributions are available as micro-shock distribution. However, they are always considered of unit variance and mean zero. The options setting the model parameter are (default values are specified in square brackets):
-n the number of firms [100] -m the number of shocks [0] -t the typeof shocks: [0] 0 gaussian >0 Gamma distributed, value defines the shape parameter -N the number of points to plot [100]
The output of the program is chosen with the option -O
-O set the type of output [0] 0. growth rates distribution: x,F_m(x) 1. growth rates density: x,f_m(x) 2. Laplace distribution and density: x,F_L(x),f_L(x) 3. deviation from Laplace distribution: x,D(x) 4. max deviation from Laplace and critical sample: argmaxD(x),maxD(x),N(.5),N(.05),N(.01)
D is the absolute deviation of the density of the model from a Laplace density
\[ D(x) = |F_m(x) - F_L(x)| \]
The parameter \(N()\) printed by the option -O 4
is the effective
number of points to discriminate with confidence f the model
distribution from the Laplace, using the Kolmogorov-Smirnov
statistics. It's the solution of:
\[ (\sqrt{N/2}+.12+.11/\sqrt{N/2}) N(f) = Q_{ks}^{-1} (f) \]
where \(Q_{ks}^{-1}\) is the inverse distribution of the K.-S. statistics.
bose_step1
This Python script is intended to check the convergence toward a Laplace density (i.e. symmetric exponential) of the sum of Gaussian variates whose number follows a geometric distribution.
Notice that for a geometric distribution
\[ \text{Prob}\{x=k\} = (1-a) \, a^k \]
and
\[ \text{Prob}\{x \leq N\} = 1-a^{N+1} \]
so that this variate can be generated by::
\[ x = \left[ \frac{log(1-\epsilon)}{log(a)} \right] \]
where \(\epsilon\) is an uniform distribution in \([0,1)\) and \([x]\)
stands for the integer part of \(x\) (i.e. the C
function floor()
).
bose_step2
This Python script is written to check how the Bose-Einstein partition of M micro-shocks across N firms generates a geometric distribution of shocks for each single firm.
Bibliography
- G.Bottazzi and A. Secchi (2002) "On The Laplace Distribution of Firms Growth Rates" L.E.M. Working Paper n. 2002-20
- G.Bottazzi, A.Secchi "Why are distributions of firm growth rates tent-shaped?", Economic Letters vol. 80 pp.415-420, 2003.
- G.Bottazzi, A. Secchi "A Stochastic Model of Firm Growth", Physica A vol. 324 pp. 213-129, 2003.
- G.Bottazzi, A. Secchi "Explaining the distribution of firms growth rates", The RAND Journal of Economics, 37, pp. 235-256, 2006.