Acadlore takes over the publication of JORIT from 2025 Vol. 4, No. 3. The preceding volumes were published under a CC-BY 4.0 license by the previous owner, and displayed here as agreed between Acadlore and the owner.
Static and Dynamic Convergence in a Recursive Dynamic Computable General Equilibrium Model: Proposal of a Simplified Approach and Application in GAMS
Abstract:
This study proposes a new simplified technique allowing to pass from the static to the dynamic framework of computable general equilibrium models (CGEM). Emphasis is placed on the treatment of convergence which can be constant or variable. We show that in convergence with variable coefficient, the definition of an adjustment parameter is necessary and makes it possible to operate the right choice of the values which correspond to the studied economy.
1. Introduction
In real life, most of the actions we take are based on expectations. This is what earned the criticism formulated by Milton Friedman on the Keynesian model in his permanent income theory. This type of behavior is all the truer at government level as they are constantly speculating about the future of the economy and its various agents. The economic and financial crisis of the 1970s and 1980s, which plunged many countries, especially developing ones, into a spiral of economic underperformance prompted governments to make a large modeling effort in order to make projections and guide decisions in matters of economic policy based on national accounts data. It is in this vein that one can find a viable benchmark for the development of the dynamic version of computable general equilibrium models (CGEM).
Before the dynamic CGEMs experienced this remarkable expansion since the beginning of the 2010 decade, economists found a way around when it came to describing the behavior of investment, known as the vector in essence of the dynamic. They generally treat future capital as the reserve that households make for their future consumption i.e., savings (Cardenete et al., 2017). Recognizing that CGEMs have the ability to make simulations as opposed to forecasts does not in any case exclude them from being used for the anticipations of economic agents. This model could be used, for example, to plan the actions and measures to be taken to mitigate an upsurge in the effects of a resurgence of the Covid-19 pandemic.
In general, dynamic models derive their theoretical foundations from the work of Kalecki (1935) and Goodwin (1948). At the empirical level, a large literature has been developed on this type of model since the work of Palsev (2004). The search for the dynamic solution is based on two main methods: the numerical method and the iterative method of the approximate solution (Smith et al., 2016). These two approaches are based on techniques for solving systems of differential equations. As for the types of dynamics commonly encountered, we distinguish sequential dynamics from recursive dynamics. In sequential dynamics, the solutions obtained at one period serve as a database for the following year. In the recursive dynamic adopted in this work, each period is solved statically (Mbanda and Chitiga-Mabugu, 2017).
However, it is clear that a striking and above all practical description of the way in which the dynamic aspect is implemented is sorely lacking in work. Therefore, a novice who is interested in this aspect of modeling faces enormous difficulties in carrying out his project. This is the reason why the present study proposes to develop a new simplified technique allowing to pass from the static framework to the dynamic framework with an application in the GAMS software. Emphasis is placed on converging the solution around the balanced growth path. For its control, we define a convergence parameter whose choice of values depends on two factors: first, it can be constant or variable and second, it must conform to the structural characteristics of the economy studied.
That said, Section 2 is devoted to the description of the static model. Section 3 explains how to move from the static framework to the dynamic framework. Section 4 describes the convergence of the solutions. Section 5 summarizes the steps for implementing dynamics, then Section 6 describes a practical example. The GAMS codes to reproduce the results if necessary are provided in the appendices. it must conform to the structural characteristics of the economy studied.
2. Description of the Model
The model we developed here is inspired from Hosoe et al. (2010) with some adjustments made in light of the work of Decaluwé et al. (2001). It considers two factors of production (capital and labor) and assumes that labor is mobile between activity branches while capital is specific to each branch.
There are two categories of private agents (households and non-profit institutions) who offer the factors of production against remuneration, which constitutes their main source of income. This income is then spent on the purchase of goods and services and the rest is devoted to savings;
The utility of households is captured by a consumption function of the Cobb Douglas type;
The total mobilization of agents' savings (households, government and the rest of the world) follows the Keynesian postulate, i.e., it makes it possible to define the potential level of investment which ensures the savings-investment balance;
State revenue comes exclusively from the indirect tax collected on goods and services;
One part of these receipts is used in government expenditures and the rest represents its savings;
Rest of the world savings are determined by the current account balance (imports minus exports);
Firms’ behavior is not captured explicitly. They buy the factors of production and exploit them to produce
the goods and services available in the economy;
The production technology follows the Armington CET specification;
The intermediate consumption of the branches follows a Leontief-type technology based on the technical coefficients of the input-output matrix;
The added value of the branches follows the Cobb Douglas specification with constant returns to scale;
The import function follows an Armington CES specification;
There is a composite demand made up of domestic demand and foreign demand (exports) as well as the composite supply is made up of domestic supply and foreign supply (imports).
The social accounting matrix (SAM) contains nine accounts in total. We have two activity accounts (A1 and A2), four current institution accounts (the household, HH; the non-profit institutions, ISBN; the government, G, and the rest of the world, ROW), two factors of production (capital, KD and labor, LD) and an accumulation account (ACC) created to record savings and investments. This matrix is built from the IO table (Table 1) which establishes the balance between resources and employment of products (The structure of this table is adapted from the Eora database which has the advantage to provide data on 190 countries in the world.). To move from RET to SAM, we assume that the total factor supply is redistributed to households, HH and non-profit institutions, ISBN proportionally to their respective shares of consumption expenditure. The distribution coefficient $\vartheta_h$ is thus determined by: $\vartheta_h=$ $\frac{\sum_j C p_{h, j}}{\sum_h \sum_i C p_{h, i}}$ and the income from factors earned by the $h$ 's private agent is computed as: $Y F_{h, k}=\vartheta_h \cdot \sum_j F F_{k, j}$.
For illustration, $\vartheta_{\prime h h^{\prime}}=\frac{10+15}{(10+15)+(5+10)}=0.625$ and $\vartheta_{\prime i s b n^{\prime}}=\frac{5+10}{(10+15)+(5+10)}=0.375$ which makes it possible to calculate:
$\begin{aligned} & Y F_{\prime h h^{\prime}, ' l d^{\prime}}=\vartheta_{\prime h h^{\prime}}\left(F F_{\prime l d^{\prime},{ }_{\prime}^{\prime} A 1^{\prime}}+F F_{\prime l d^{\prime},{ }_{\prime}^{\prime} A 2^{\prime},}\right)=0.625(10+20)=18.75 \\ & Y F_{\prime h h^{\prime}, ' k d^{\prime}}=\vartheta_{\prime h h^{\prime}}\left(F F_{\prime k d^{\prime},{ }^{\prime} A 1^{\prime}}+F F_{\prime k d^{\prime},{ }^{\prime} A 2^{\prime},}\right)=0.625(15+10)=15.625\end{aligned}$
Each agent's savings is determined by the difference between the agent's total income and expenditure. Finally, the volume of investment is deduced as the difference between the total output of each branch and the corresponding composite demand. This last entry makes it possible to balance the rest of the SAM accounts.
A1 | A2 | HH | ISBN | G | INV | EX | Stock | TE | |
A1 | 40 | 15 | 10 | 5 | 20 | 15 | 10 | -5 | 110 |
A2 | 25 | 35 | 15 | 10 | 15 | 10 | 20 | -15 | 115 |
LD | 10 | 20 | Sectors: 1 &2 | Stock change: Stock | Exports: EX | ||||
K.D. | 15 | 10 | Household: HH | Labor: LD | Total resources: TR | ||||
TX | 5 | 10 | Non-profit institutions: ISBN | Capital: K.D. | Total employments: TE | ||||
M | 15 | 25 | Government: G | Tax: TX | |||||
TR | 110 | 115 | Investment: INV | Imports: M |
A1 | A2 | LD | K.D. | HH | ISBN | G | ROW | ACC | Total | |
A1 | 40 | 15 | 10 | 5 | 20 | 10 | 10 | 110 | ||
A2 | 25 | 35 | 15 | 10 | 15 | 20 | -5 | 115 | ||
LD | 10 | 20 | 30 | |||||||
K.D. | 15 | 10 | 25 | |||||||
HH | 18.75 | 15.625 | 34.375 | |||||||
ISBN | 11.25 | 9.375 | 20.625 | |||||||
G | 5 | 10 | 15 | |||||||
ROW | 15 | 25 | 40 | |||||||
ACC | 9.375 | 5.625 | -20 | 10 | 5 | |||||
Total | 110 | 115 | 30 | 25 | 34.375 | 20.625 | 15 | 40 | 5 |
The equations used in this study, determined on the basis of the previous hypotheses, are presented in appendix 1 , the index $t$ referring to time. To replicate the benchmark, each equation is calibrated using a parameter whose value is calculated upstream using the initial data from the SAM. For example, to determine the value of sectoral value added, $V A_j=S_j . F F_{L D . j}{ }^{\alpha_i} . F F_{K D . j}{ }^{\left(1-\alpha_i\right)}$, the technological parameters of the Cobb Douglas function $S_j$ are determined upstream by $S_j=V A 0_j / F F 0_{L D . j}{ }^{\alpha_i} \cdot F F 0_{K D . j}{ }^{\left(1-\alpha_i\right)} F F 0_{L D . j} F F 0_{K D . j}$ with $F F 0_{L D . j}$ and $F F 0_{K D . j}$ the initial values of the labor and capital factors respectively (These values being taken from the SAM) and $\alpha_i$ the elasticity of labor factor (The entire calibration is given in the GAMS code in the appendix).
Regarding the closure of the model, it is first necessary to define the different sets:
$i=j \subset I=\{A 1, A 2\}$ which is the set of industries with $A i$ the i's industry;
$h=n h \subset H=\{H H, I S B N\}$ which is the set of categories of private agents with $H H$, households and $I S B N$, non-profit institutions;
$k \subset K=\{L D, K D\}$ which is the set of factors of production with $L D$ the labor and $K D$ the capital;
$t=\{1 * 30\}$ which is the time horizon;
Sim $=\{1,10,20,30\}$ which represents the division of the horizon $t$ into 4 sub-periods of 10 years each;
$t_2=\{1 * 10\}$ which represents the first decade of the horizon.
We therefore have a total of 2 activity branches, 2 categories of private agents, 2 factors of production over a 30-year horizon. As shown in the appendix, the model contains a total of 2070 variables and 1770 equations. To make the model square, 270 variables are fixed with 30 (the wage rate) fixed as numeraires. There are therefore 1770 endogenous variables and 270 exogenous variables. These exogenous variables which constitute the closure of the model are given as follows: $F F_{r, k, j} ; P m_{r, i} ; P W E_{r, i} ; \varepsilon_r$. The main scenario is to cancel the rate of customs duties on the import of products $\tau m_{r, i}$.
3. Static and Dynamic Framework
To pass from the static framework to the dynamic framework, we use the behavior of the investment. For this, we start from two variants of capital. On the one hand, we have the accumulation of the capital stock $\left(K S_t\right)$ and the capital earnings $\left(K_t\right)$ determined at period $t$ (Caron, 2014).
The accumulation of capital stock at period $t+1\left(K S_{t+1}\right)$ is determined by:
where: $I_t$ the volume of investment at period $t$ and $\delta$ the depreciation rate of capital.
However, this model rather tracks capital earnings.
The capital earnings $K_t$ is determined by:
where: $\rho$ the capital rate of return.
By multiplying each side of the equation by (1) $\rho$, we obtain the increase in capital earnings given by equation 3:
We assume that labor grows at the rate of population growth (𝑔). It is shown that the other variables grow at the same rate 𝑔. To take only the case of labor, we have:
Or $L_t=L_0(1+g)^t$ with $L_0$ the initial level of labor given in the base SAM.
Thus, making the model dynamic will consist in establishing two equivalent entries of the increase in capital, more precisely the profit linked to the capital exploitation.
On the one hand, the capital $K_t$ must also grow at the rate $g$ to ensure the employment-resources balance of the SAM accounts, i.e., we have:
On the other hand, $K_t$ must be calibrated by equation (3).
The equivalence between equations (3) and (5) makes it possible to establish that:
$(1-\delta) K_t+\rho I_t=(1+g) K_t$
To ensure the previous equality holds, the knowledge of the parameters $\delta$ and $g$ which will be fixed at the basis, makes it possible to calculate the capital rate of return $\rho$.
We thus have:
Since the value of $\rho$ remains constant over time, it must be calculated from the initial investment and capital values provided in the SAM. Let $I_0$ the total volume of investment provided in the column total of the SAM accumulation account (ACC), and $K_0$, the initial capital stock provided in the row total of the SAM capital account $(K D)$.
We get for $t=0$
The SAM in Table 2 corresponds to the data for the initial period $(t=0)$. We apply the formulas given in the previous section to find the SAM at period 1.
Assume a population growth rate $g=0.02$; a depreciation capital rate $\delta=0.01$. The initial stock of capital is $K_0=25$, and the initial volume of investment is $I_0=5$. Therefore, we can calculate the capital rate of return:
$\rho=\frac{(g+\delta) K_0}{I_0}=\frac{(0.02+0.01) 25}{5}=0.15$
Since the variables increase at rate $g$, we have for example the labor supply of sector A1 which goes from 10 to $10(1+0.02)=12.2$. The same formula is applied to all the values of the SAM except the total of the KD account of value 25 where we apply the formula (3) instead:
For $t=1, K_1=(1-\delta) K_0+\rho I_0=(1-0.01) 25+0.15(5)=24.75+0.75=25.5$.
We can check that this value is in conformity with the formula (5). Indeed, we have $K_1=K_0(1+g)=$ $25(1.02)=25.5$.
1 | 2 | LD | K.D. | HH | ISBN | G | ROW | ACC | Total | |
1 | 40.8 | 15.3 | 10.2 | 5.1 | 20.4 | 10.2 | 10.2 | 112.2 | ||
2 | 25.5 | 35.7 | 15.3 | 10.2 | 15.3 | 20.4 | -5.1 | 117.3 | ||
LD | 10.2 | 20.4 | 30.6 | |||||||
K.D. | 15.3 | 10.2 | 25.5 | |||||||
HH | 19.125 | 15.9375 | 35.0625 | |||||||
ISBN | 11.475 | 9.5625 | 21.0375 | |||||||
G | 5.1 | 10.2 | 15.3 | |||||||
ROW | 15.3 | 25.5 | 40.8 | |||||||
ACC | 9.5625 | 5.7375 | -20.4 | 10.2 | 5.1 | |||||
Total | 112.2 | 117.3 | 30.6 | 25.5 | 35.0625 | 21.0375 | 15.3 | 40.8 | 5.1 |
4. Convergence of Variables
Note that the model operates in recursive mode as opposed to sequential mode. Recursive dynamics means that at each period, the model solves statically (Mbanda and Chitiga-Mabugu, 2017) unlike the sequential case where the results of each period form the basis of the calibration for the following period.
To ensure the convergence of the variables at the stationary state, it is necessary to define a convergence parameter $(\xi)$ of nonzero value and to adjust the rate of labor growth by $\xi(1+g)$. The equation (4) becomes:
The choice of the value of $\xi$ depends on the trend taken by the variables in the medium and long term.
i) If $|\xi|<1$ and $\lim_{t \rightarrow+\infty} Lt=0$ then the phenomenon converges to 0 ;
ii) If $|\xi|>1$ and $\lim_{t \rightarrow+\infty} Lt= \pm \infty$ then the phenomenon diverges.
Two cases of convergence are possible: convergence with constant coefficient and convergence with variable coefficient. The choice of one or the other form of convergence must be made according to the behavior of the economy studied.
Convergence with constant coefficient
In constant coefficient convergence, the convergence parameter $\xi$ does not depend on time. Its value is fixed according to rules i) and ii) above. For application, see the GAMS code in Appendix 2;
Convergence with variable coefficient
Variable coefficient convergence requires modification of the dynamic parameters of the model. We also need a constant value adjustment parameter $\aleph$. The convergence coefficient $\xi$ now depends on the time horizon $t$, i.e., $\xi_t$. The steps to follow are:
Only the growth rate of labor which is also applied to capital is used. The definition of the depreciation and capital return rates are no longer useful.
Calibration is done as follows: The value of the adjustment parameter $\xi_t$ and of the convergence parameter $\aleph$ is fixed beforehand at the initial date $\xi_0$ and we have:
For the application, see the GAMS code in Appendix 3.
5. Summary of the Steps for Implementing the Dynamic Model
The steps differ depending on whether the convergence coefficient is constant or variable.
Case of a convergence with constant coefficient
i) Build the static model;
ii) Define the set $t$ for the time horizon;
iii) Add the index $t$ to the parameters, variables and equations of the static model;
iv) Keep constant the scale parameters and the elasticities of the CES, CET, Cobb Douglas and Leontief functions as well as the price unit fixed;
v) Declare and define capital depreciation rates($\bar{\delta}$), rate of capital return ($\rho$) and growth rate of labor (g);
vi) Calibrate the rate $\rho$ by applying the formula (6);
vii) Declare and set the convergence parameter (Conver);
viii) Grow the parameters directly from the SAM at the rate $g$;
ix) Initialize the labor demand according to the equation (4) and the demand for capital according to the equation (5);
x) Perform the simulations.
Case of a convergence with variable coefficient
The study of convergence with time-varying parameter depends on the initial value of $\xi_0$ and the convergence coefficient ${\aleph}$. The steps remain the same as in the constant case except points v) where only the rate ${g}$ is necessary, vi) and ix). The different scenarios are as follows:
If $\left|\xi_0\right|<1$ and $\aleph>1$, there is convergence if $\left|\xi_t \aleph\right|<1$. Thereby, $\lim_{t \rightarrow+\infty}\left|\xi_t \aleph\right|=0$.
If $\left|\xi_0\right|<1$ and $\aleph>1$, there is a discrepancy if $\left|\xi_t \aleph\right|>1$. Thereby, $\lim_{t \rightarrow+\infty}\left|\xi_t \aleph\right|= \pm \infty$.
If $\left|\xi_0\right|<1$ and $\aleph<1$, there is convergence if
If $\left|\xi_0\right|>1$ and $\aleph<1$, there is convergence if $\left|\xi_t \aleph\right|<1$. Thereby, $\lim_{t \rightarrow+\infty}\left|\xi_t \aleph\right|=0$.
If $\left|\xi_0\right|>1$ and $\aleph>1$, there is a discrepancy.
If $\aleph=1$, we obtain the convergence with constant coefficient.
6. Case of a Convergence with Variable Coefficient
The simulation can be done in three ways: either from the base year, or at constant or variable time intervals, or after a certain number of periods. Figure 1 and Figure 2 show the results expressed as a percentage over the entire 30-year period. A description of the implementation of the simulation after a certain number of periods and even over specific years is provided in the GAMS codes in the appendix. It is given as a comment (either on lines that start with a star, or between the \$ontext and \$offtext commands). Four variables are chosen in particular, the public consumption in product 1 , the investment of sector 1 , the exports of sector 1 and the GDP (You can reproduce the entire results by copying the GAMS codes provided in the appendix). These results correspond to the impact of the complete cancellation of the customs tariff. The balanced growth state corresponds to the convergence coefficient $\xi_0=1$;
With regard to Figure 1, it corresponds to the results of the convergence for $\left|\xi_t \aleph\right|=0.9$. Three scenarios are performed. The first (S1) corresponds to $\xi_t=0.875$ and $\aleph=1.001$, the second scenario (S2) corresponds to $\xi_t=0.552$ and $\aleph=1.017$, the third scenario (S3) corresponds to $\xi_t=0.149$ and $\aleph=1.064$. It appears from this graph that the smaller the convergence coefficient, the greater the convergence speed. While it takes more than 30 years for the S1 scenario to see the variables converge, it takes less than 10 for the S3 scenario. The choice of parameters must, however, be guided by structural factors specific to the economy under study in order to reflect reality as closely as possible.

As for Figure 2, it corresponds to the results of the convergence for $\left|\xi_t{\aleph}\right|=1.05$. Three scenarios are also tested. The first (SS1) corresponds to $\xi_t=1.05$ and $\aleph=1$, the second scenario (SS2) corresponds to $\xi_t=$ 0.786 and $\aleph=1.01$, the third scenario (SS3) corresponds to $\xi_t=0.908$ et $\aleph=1.005$. We now face with a situation of discrepancy of variables. This graph shows that the smaller the convergence coefficient, the greater the variability around the balanced growth path. At state SS2 which corresponds to the smallest value of $\xi_t$, we have either a compact or convex evolution with more visible extrema.

7. Conclusion
We have proposed in this article to develop a simplified approach to dynamic modeling in computable general equilibrium with an application on a fictitious economy programmed in the GAMS software. A description of the static model with the background of the procedure for developing the social accounting matrix was made first. The simplicity of this matrix lies in the possibility it offers to exploit the Eora database which provides input- output data on 190 countries in the world and also offers the possibility of conducting studies on several countries (bilateral model, regional model, etc.). After this, the study focused on two dynamic convergence approaches: we have thus defined a convergence parameter which makes it possible to distinguish static convergence from dynamic convergence. We show that the choice of one or the other technique must be made in respect of certain structural characteristics specific to the economy under study.
Appendix 1: Model description
List of variables
Variables | Description | Total |
List of endogenous variables | ||
𝑍𝑖,𝑗,𝑡 | Intermediate consumption of branches | 480 |
𝑋𝑖,𝑡 | Sector output | 60 |
𝑉𝐴𝑖,𝑡 | Sectoral added value | 60 |
𝐹𝑘,𝑡 | Household endowment with k factor | 60 |
𝐶𝑝ℎ,𝑖,𝑡 | Consumption of the product by the household h𝑖 | 120 |
𝐶𝑔𝑖,𝑡 | Consumption of the product by the government 𝑖 | 60 |
𝐼𝑁𝑉𝑖,𝑡 | Sector investment | 60 |
𝑇𝑋𝑖,𝑡 | Indirect tax on the product𝑖 | 60 |
𝐸𝑋𝑖,𝑡 | Sectoral exports | 60 |
𝑀𝑖,𝑡 | Sectoral imports | 60 |
𝐷𝑖,𝑡 | Domestic product demand 𝑖 | 60 |
𝑄𝑖,𝑡 | Composite product demand 𝑖 | 60 |
𝑇𝑀𝑖,𝑡 | Import tariff on the product 𝑖 | 60 |
𝑃𝑖,𝑡 | Acquisition price of goods and services | 60 |
𝑃𝑣𝑎𝑖,𝑡 | Price of value added of goods and services | 60 |
𝑃𝑥𝑖,𝑡 | Producer price of the product 𝑖 | 60 |
𝑃𝑑𝑖,𝑡 | Domestic product price 𝑖 | 60 |
𝑃𝑒𝑖,𝑡 | Export prices of goods and services | 60 |
𝑃𝑊𝑀𝑖,𝑡 | World import price of the product 𝑖 | 60 |
𝑟𝑖,𝑡 | Acquisition price of a unit of capital in the branch 𝑖 | 60 |
𝑌𝑝ℎ,𝑡 | household income ℎ | 60 |
𝑆𝑝ℎ,𝑡 | Household savings ℎ | 60 |
𝑈𝑈ℎ,𝑡 | Household utility ℎ | 60 |
𝐸𝑉ℎ,𝑡 | Household Equivalent Variation ℎ | 60 |
𝐶𝑉ℎ,𝑡 | Compensating household variation ℎ | 60 |
𝑌𝑔𝑡 | Government revenue | 30 |
𝑆𝑔𝑡 | Government savings | 30 |
𝑆𝑓𝑡 | Current account balance | 30 |
𝐺𝐷𝑃𝑡 | GDP at basic price | 30 |
𝐼𝑛𝑣𝑑𝑦𝑛𝑡 | Total investment | 30 |
Total number of endogenous variables | 1.770 | |
Numerary | ||
𝑊𝑡 | Acquisition price of a unit of labor | 30 |
Exogenous variables | ||
𝐹𝐹𝑘,𝑗,𝑡 | Factor 𝑘 employed in the sector 𝑗 | 120 |
𝜀𝑡 | Exchange rate | 30 |
𝑃𝑚𝑖,𝑡 | Local product price 𝑖 imported | 60 |
𝑃𝑊𝐸𝑖,𝑡 | World price of exported goods and services | 60 |
Total number of exogenous variables | 270 | |
TOTAL | 2.040 |
List of parameters
Settings | Description |
𝐴𝑖,𝑗,𝑡 | Technical coefficient (Leontief function) |
𝜏𝑚𝑖,𝑡 | Import tariff rate |
𝜏𝑥𝑖,𝑡 | Indirect output tax rate𝑖 |
𝜗ℎ,𝑡 | Share of household consumption in total |
𝛼𝑖,𝑡 | Elasticity of factor demand in the branch𝑖 |
𝛽ℎ,𝑖,𝑡 | Product demand elasticity𝑖 |
𝛾𝑖,𝑡 | Technology coefficient of CES type import function |
𝜆𝑖,𝑡 | Share of total savings used in sector investment𝑖 |
𝛿𝑚𝑖,𝑡 | Import’s function scale parameter, Armington override |
𝛿𝑒𝑖,𝑡 | Transform function scale parameter, Armington substitution |
𝑆𝑠𝑝ℎ,𝑡 | Share of income going to household savings |
𝑆𝑠𝑔𝑡 | Share of income going to government savings |
𝑆𝑖,𝑡 | Technological coefficient, function of the added value of the Cobb Douglas type |
𝐵𝑖,𝑡 | Technological coefficient, CES type production function |
𝐴𝐼𝐼𝑗,𝑡 | Coefficient of value added in total output |
𝜑𝑖,𝑡 | Elasticity of substitution of the export function |
𝜌𝑖,𝑡 | Import Function Substitution Elasticity |
List of equations
Nomenclature | Equations | Total |
Intermediate consumption | $Z_{i . j, t}=A_{i . j, t} \cdot X_{j, t}$ | 120 |
Sector output | $X_{i, t}=B_{i, t} \cdot\left[\delta e_{i, t} \cdot E X_{i, t} \varphi_{i, t}+\left(1-\delta e_{i, t}\right) D_{i, t} \varphi_{i, t}\right]^{\frac{1}{\varphi_{i, t}}}$ | 60 |
Added value | $V A_{j, t}=S_{j, t} \cdot F F_{L D . j, t} \cdot F F_{K D . j, t}^{\left(1-\alpha_{i, t}\right)}$ | 60 |
Job application | $F F_{L D . j, t}=\frac{\alpha_i}{W_t} P V A_{j, t} \cdot V A_{j, t}$ | 60 |
Capital demand | $F F_{K D . j, t}=\frac{1-\alpha_{i, t}}{r_{i, t}} P V A_{j, t} \cdot V A_{j, t}$ | 60 |
Household income | $Y p_{h, t}=\vartheta_{h, t} \cdot \sum_j P V A_{j, t} \cdot V A_{j, t}$ | 60 |
Government revenue | $Y g_t=\sum_i T X_{i, t}$ | 30 |
Household savings | $S p_{h, t}=S S_{p, t} \cdot Y p_{h, t}$ | 60 |
Government savings | $S g_t=S S g_t \cdot Y g_t$ | 30 |
Household consumption | $C p_{h, i, t}=\frac{\beta_{h, i, t}}{P_{i, t}} Y p_{h, t}$ | 120 |
Public consumption | $C g_{i, t}=\frac{\mu_{i, t}}{P_{i, t}} Y g_t$ | 60 |
Indirect tax | $T X_{i, t}=\tau x_{i, t} \cdot X_{i, t} \cdot P_{i, t}$ | 60 |
Sector investment | $I n v_{i, t}=\frac{\lambda_{i, t}}{P_{i, t}}\left(\sum_h S p_{h, t}+S g_t+\varepsilon_t \cdot S f_t\right)$ | 60 |
Sectoral exports | $E X_{i, t}=\left[\frac{B_{i, t}{ }^{\varphi_{i, t}} \cdot \delta e_{i, t} \cdot P x_{i, t}\left(1+\tau x_{i, t}\right)}{P e_{i, t}}\right]^{\frac{1}{1-\varphi_{i, t}}} \cdot X_{i, t}$ | 60 |
Sectoral imports | $M_{i, t}=\left[\frac{\gamma_{i, t}{ }^P i_{i, t} \cdot \delta m_{i, t} \cdot P_{i, t}}{\left(1+\tau m_{i, t}\right) \cdot P m_{i, t}}\right]^{\frac{1}{1-\rho_{i, t}}} \cdot Q_{i, t}$ | 60 |
Composite request | $Q_{i, t}=\left[\delta m_{i, t} \cdot M_{i, t}{ }^{\rho_{i, t}}+\left(1-\delta m_{i, t}\right) \cdot D_{i, t}{ }^{\rho_{i, t}}\right]^{\frac{1}{\rho_{i, t}}}$ | 60 |
Domestic demand | $D_{i, t}=\left[\frac{B_{i, t}{ }^{\varphi_{i, t}} \cdot\left(1-\delta e_{i, t}\right) \cdot P x_{i, t}\left(1+\tau x_{i, t}\right)}{P d_{i, t}}\right]^{\frac{1}{1-\varphi_{i, t}}} \cdot X_{i, t}$ | 60 |
Import tariff | $T M_{i, t}=\tau m_{i, t} \cdot M_{i, t}$ | 60 |
Producer price | $P x_{j, t}=A I I_{j, t} \cdot P V A_{j, t}+\sum_i P_{j, t} \cdot A_{i, j, t}$ | 60 |
Import price | $P m_{i, t}=P w m_{i, t} \cdot \varepsilon_t$ | 60 |
Export price | $P e_{i, t}=P w e_{i, t} \cdot \varepsilon_t$ | 60 |
Domestic product prices | $P d_{i, t}=\frac{\left[P_{i, t} Q_{i, t}-P m_{i, t} M_{i, t}\left(1+\tau m_{i, t}\right)\right]}{Q_{i, t}}$ | 60 |
Total investment | $I n v d y n_t=\sum_i I n v_{i, t}$ | 30 |
GDP | $G D P_t=\sum_j P V A_{j, t} \cdot V A_{j, t}+\sum_j T X_{j, t}$ | 30 |
Usefulness | $U U_{h, t}=\prod_i C p_{h \cdot i, t} \beta_{h \cdot i, t}$ | 60 |
Equivalent variation | $E V_{h, t}=Y p_{h, t} \prod_i\left(\frac{p 0_{i, t}}{p_{i, t}}\right)^{\beta_{h \cdot i, t}}-Y p 0_{h, t}$ | 60 |
Compensating variation | $C V_{h, t}=Y p 0_{h, t} \prod_i\left(\frac{p_{i, t}}{p 0_{i, t}}\right)^{\beta_{h, i, t}}-Y p_{h, t}$ | 60 |
Balances | ||
Balance in the goods and services market | $X_{i, t}\left(1+\tau x_{i, t}\right)+M_{i, t}=Q_{i, t}+E X_{i, t}$ | 60 |
Equilibrium in the factor market | $F_{k, t}=\sum_j F F_{k \cdot j, t}$ | 60 |
Current account balance | $\sum_i P w m_{i, t} \cdot M_{i, t}=S f_t+\sum_i P w e_{i, t} \cdot E X_{i, t}$ | 30 |
Total number of equations | 1770 |
Appendix 2: GAMS code for the constant convergence
$title Application of a simple recursive dynamic CGE model
*This programme is provided by Rodrigue N Tchoffo, Phd in Economics
*University of Dschang, Cameroon
option limRow = 230, limCol = 275;
option decimals=4;
SET u SAM accounts / A1,A2,LD,KD,HH,ISBN,G,ROW,ACC, TOT/
i(u) Activities / A1,A2 /
h(u) Private agents / HH Households
ISBN Non-profit Institutions /
k(u) Factor endowment / LD, KD /
t Time horizon / 1*30 /
Sim(t) Specific years / 1,10,20,30 /
T2(t) First decade / 1*10 / ;
alias(u,v);
alias(i,j);
alias(H, Nh);
parameter
Z0(i,j,t) Intermediate consumption
X0(j,t) Output production
F0(k,t) Total supply of factor k
A(i,j,t) Technical coefficient
VA0(j,t) Value added
Cp0(h,J,t) Consumption of good j by private agent h
FF0(k,j,t) Factor k used in sector j
Cg0(i,t) Government consumption
EX0(i,t) Exports of good i
M0(i,t) Imports of good i
Q0(i,t) Composite output in sector i
D0(i,t) Domestic demand of good i
TX0(i,t) Tax on product i
INV0(i,t) Investment of sector i
TM0(i,t) Import tariff on good i
taum(i,t) Import rate tariff on good i
taux(i,t) Indirect tax rate on good i collected on output x
Sf0(t) Foreign savings
Yp0(h,t) Income of private agent h
Yg0(t) Government income
Sp0(h,t) Savings of private agent h
Sg0(t) Government Savings
Cp0(h,j,t) Consumption of good i by private agent h
Cg0(i,t) Government expenditures in good i
GDP0(t) GDP in the production optic
UU0(h,t) Household utility
theta(h,t) Share of households consumption in the total
div Scale parameter of SAM
conver Convergence parameter for the dynamic
gdy Rate of labour
;
gdy = 0.02 ;
conver = 1 ;
Table SAM(u,v) Social accounting matrix
A1 | A2 | LD | KD | HH | ISBN | G | ROW | ACC | TOT | |
A1 | 40 | 15 | 10 | 5 | 20 | 10 | 10 | 110 | ||
A2 | 25 | 35 | 15 | 10 | 15 | 20 | -5 | 115 | ||
LD | 10 | 20 | 30 | |||||||
KD | 15 | 10 | 25 | |||||||
HH | 18.75 | 15.625 | 34.375 | |||||||
ISBN | 11.25 | 9.375 | 20.625 | |||||||
G | 5 | 10 | 15 | |||||||
ROW | 15 | 25 | 40 | |||||||
ACC | 9.375 | 5.625 | -20 | 10 | 5 | |||||
TOT | 110 | 115 | 30 | 25 | 34.375 | 20.625 | 15 | 40 | 5 | |
; |
Table PRO(*,j) Import tariff rate
A1 A2
taum 0.158 0.052
;
div = 1E1 ;
SAM(u,v) = SAM(u,v)/div ;
Cp0(h,J,t) = SAM(J, h)*(conver*(1+ gdy))**(ord(t)- 1) ;
FF0(k,j,t) = SAM(k,j)*(conver*(1+ gdy))**(ord(t)- 1) ;
Z0(i,j,t) = SAM(i,j)*(conver*(1+ gdy))**(ord(t)- 1) ;
Cg0(i,t) = SAM(i,'G') (conver(1+ gdy))**(ord(t)- 1) ;
EX0(i,t) = SAM(i,'row')*(conver*(1+ gdy))**(ord(t)- 1) ;
M0(i,t) = SAM('row', i)*(conver*(1+ gdy))**(ord(t)- 1) ;
TX0(i,t) = SAM('G', i)*(conver*(1+ gdy))**(ord(t)- 1) ;
INV0(i,t) = SAM(i,'acc')*(conver*(1+ gdy))**(ord(t)- 1) ;
VA0(j,t) = Sum(k, FF0(k,j,t));
X0(j,t) = sum(i,Z0(i,j,t)) + VA0(j,t) ;
F0(k,t) = SAM('tot',k)*(conver*(1+ gdy))**(ord(t)- 1);
A(i,j,t) = Z0(i,j,t)/X0(j,t);
Yg0(t) = sum(j, Tx0(j,t)) ;
Yp0(h,t) = sum(k, SAM(h,k))*(conver*(1+ gdy))**(ord(t)- 1);
Sp0(h,t) = SAM('acc',h)*(conver*(1+ gdy))**(ord(t)- 1) ;
Sg0(t) = SAM('acc','g')*(conver*(1+ gdy))**(ord(t)- 1) ;
Sf0(t) = SAM('acc','row')*(conver*(1+ gdy))**(ord(t)- 1) ;
taum(i,t) = Pro('taum', i)*(conver*(1+ gdy))**(ord(t)- 1);
taux(i,t) = Tx0(i,t)/X0(i,t) ;
TM0(i,t) = taum(i,t)*M0(i,t);
D0(i,t) = (1+taux(i,t))*X0(i,t) - EX0(i,t);
Q0(i,t) = D0(i,t) + M0(i,t)*(1+taum(i,t));
theta(h,t) = Yp0(h,t)/sum(nh,Yp0(nh,t));
Display Z0,Cp0,Sf0,FF0,M0,EX0,TX0,D0,Q0,INV0,VA0,X0,F0
Sp0,Sg0,Yg0,Yp0,theta,TM0,Cg0;
Parameter
Ssp(h,t) Share of income for private savings
Ssg(t) Share of income for the Government savings
beta(h,i,t) Share of income consumed by the household in good i
mu(i,t) Share of Government revenue consumed in good i
Tmx(i,t) Share of indirect tax on total output
alpha(i,t) Elasticity of the demand factor in sector i
lambda(i,t) Share of total savings used in investment
B(i,t) Technological coefficient of the CES production function (Armington)
Gamma(i,t) Technological coefficient of the CES Importation function (Armington)
deltam(i,t) Share parameter of Armington substitution import function
deltae(i,t) Share parameter of Armington substitution export function
phi(i,t) Elasticity of substitution of exportation function
rho(i,t) Elasticity of substitution of importation function
S(i,t) Technological coefficient Cobb Douglas VA function
Aii(j,t) Value added coefficient in total output
;
Ssp(h,t) = Sp0(h,t)/Yp0(h,t);
Ssg(t) = Sg0(t)/Yg0(t);
beta(h,i,t) = Cp0(h,i,t)/Yp0(h,t) ;
mu(i,t) = Cg0(i,t)/Yg0(t) ;
alpha(i,t) = FF0('Ld', i,t)/VA0(i,t);
lambda(i,t) = INV0(i,t)/(sum(h,Sp0(h,t)) + Sg0(t) + sf0(t));
S(i,t) = VA0(i,t)/(FF0('Ld', i,t)**alpha(i,t)*FF0('kd', i,t)**(1-alpha(i,t))) ;
Aii(j,t) = VA0(j,t)/ X0(j,t);
Phi(i,t) = 0.3;
Rho(i,t) = 0.3;
Deltae(i,t) = EX0(i,t)**(1-phi(i,t))/(EX0(i,t)**(1-phi(i,t)) + D0(i,t)**(1-phi(i,t)));
Deltam(i,t) = (1+taum(i,t))*M0(i,t)**(1-rho(i,t))/((1+taum(i,t))*M0(i,t)**(1-rho(i,t)) + D0(i,t)**(1-rho(i,t)));
B(i,t) = X0(i,t)/(deltae(i,t)*EX0(i,t)**phi(i,t) + (1 - deltae(i,t))*D0(i,t)**phi(i,t))**(1/phi(i,t));
gamma(i,t) = Q0(i,t)/(deltam(i,t)*M0(i,t)**rho(i,t) + (1 - deltam(i,t))*D0(i,t)**rho(i,t))**(1/rho(i,t));
GDP0(t) = Sum(j, VA0(j,t) + Tx0(j,t));
UU0(h,t) = prod(i, Cp0(h,i,t)**(beta(h,i,t)));
Display theta,alpha,Aii,S,Ssp,Ssg,beta,
mu,deltae,deltam,B,Gamma,UU0,GDP0;
*========================For dynamic=============================
Parameter
Invdyn0(t) Initial investment
deltady Capital rate of return
rhody Earnings rate of capital
;
Invdyn0(t) = Sum(i, Inv0(i,t));
deltady = 0.01 ;
rhody = F0('kd', '1')*((1+gdy)*conver + deltady -1)/ Invdyn0('1') ;
display Invdyn0,rhody;
Variable
Z(i,j,t) Intermediate consumption
X(j,t) Output production
F(k,t) Demand consumption for households
VA(j,t) Value added
FF(k,j,t) Factor k used in sector j
Yp(h,t) Income of private agent h
Yg(t) Government revenue
Sp(h,t) Savings of private agent h
Sg(t) Government Savings
Cp(h,j,t) Consumption of good i by private agent h
Cg(i,t) Government expenditures in good i
Tx(i,t) Indirect tax on product i
Inv(i,t) Investment of sector i
EX(i,t) Exports of good i
M(i,t) Imports of good i
Q(i,t) Composite output in sector i
D(i,t) Domestic demand of good i
TM(i,t) Import tariff on good i
GDP(t) GDP in production optic
p(i,t) Composite output of good i
px(i,t) Producer prix on good i
pva(i,t) Value added price of good i
pm(i,t) Import price of good i
pe(i,t) Export price of good i
pd(i,t) Domestic price of good i
w(t) Labour price
r(i,t) Capital price of good i
epsilon Exchange rate
pwe(i,t) World exported price of good i
pwm(i,t) World imported price of good i
Sf(t) Foreign savings
UU(h,t) Household utility
Ev(h,t) Equivalent variation for household h
Cv(h,t) Compensatory variation for household h
Invdyn(t) Initial investment
;
Equation
EqZ(i,j,t) Intermediate consumption
EqX(i,t) Output production
EqVA(j,t) Value added
EqFF(k,j,t) Labour Factor used in sector j
EqFFC(k,j,t) Capital Factor used in sector j
EqYp(h,t) Income of private agent h
EqYg(t) Government income
EqSp(h,t) Savings of private agent h
EqSg(t) Government Savings
EqCp(h,i,t) Consumption of good i by private agent h
EqCg(i,t) Government expenditures in good i
EqTx(i,t) Tax on product i
Eqp(i,t) Good and services market equilibrium
EqEX(i,t) Exports of good i
EqM(i,t) Imports of good i
EqQ(i,t) Composite output in sector i
EqD(i,t) Domestic demand of good i
EqGDP(t) GDP in production optic
Eqpx(j,t) Output price of good j
Eqpm(i,t) Import price of good i
Eqpe(i,t) Export price of good i
Eqinv(i,t) Investment of sector i
EqSf(t) Foreign savings
Eqpd(i,t) Domestic price of good i
EqTM(i,t) Import tariff on good i
EqF(k,t) Equilibrium on the factor market
EqUU(h,t) Household utility
eqvar(h,t) Equivalent variation for household h
eqCV(h,t) Compensatory variation
EqInvdyn(t) Initial investment
;
EqZ(i,j,t).. Z(i,j,t) =E= A(i,j,t)*X(j,t) ;
EqX(i,t).. X(i,t) =E= B(i,t)*(deltae(i,t)*EX(i,t)**phi(i,t) + (1 - deltae(i,t))*D(i,t)**phi(i,t))**(1/phi(i,t));
EqVA(j,t).. VA(j,t) =E= S(j,t)*(FF('Ld', j,t)**alpha(j,t)*FF('kd', j,t)**(1-alpha(j,t))) ;
EqFF('Ld',j,t).. w(t)*FF('Ld',j,t) =E= alpha(j,t)*pva(j,t)*VA(j,t);
EqFFC('kd',j,t).. r(j,t)*FF('kd',j,t) =E= (1-alpha(j,t))*pva(j,t)*VA(j,t);
EqYp(h,t).. Yp(h,t) =E= theta(h,t)*sum(i, pva(i,t)*va(i,t)) ;
EqYg(t).. Yg(t) =E= sum(i, Tx(i,t)) ;
EqSp(h,t).. Sp(h,t) =E= Ssp(h,t)*Yp(h,t) ;
EqSg(t).. Sg(t) =E= Ssg(t)*Yg(t) ;
EqCp(h,i,t).. Cp(h,i,t)*p(i,t) =E= beta(h,i,t)*Yp(h,t) ;
EqCg(i,t).. Cg(i,t)*p(i,t) =E= mu(i,t)*Yg(t) ;
EqTx(i,t).. Tx(i,t) =E= Taux(i,t)*X(i,t)*px(i,t) ;
Eqinv(i,t).. p(i,t)*INV(i,t) =E= lambda(i,t)*(sum(h,Sp(h,t)) + epsilon(t)*Sf(t) + sg(t));
*=========================International trade==========================
EqEX(i,t).. EX(i,t) =E= (B(i,t)**phi(i,t)*deltae(i,t)*px(i,t)*(1+taux(i,t))/pe(i,t))**(1/(1 - phi(i,t)))*X(i,t) ;
EqM(i,t).. M(i,t)=E=(gamma(i,t)**rho(i,t)*deltam(i,t)*p(i,t)/((1+taum(i,t))*pm(i,t)))**(1/(1-rho(i,t)))*Q(i,t) ;
EqQ(i,t).. Q(i,t) =E=gamma(i,t)*(deltam(i,t)*M(i,t)**rho(i,t) + (1-deltam(i,t))*D(i,t)**rho(i,t))**(1/rho(i,t)) ;
EqD(i,t).. D(i,t) =E= ((B(i,t)**phi(i,t)*(1-deltae(i,t))*px(i,t)*(1+taux(i,t)))/pd(i,t))**(1/(1 - phi(i,t)))*X(i,t) ;
EqTM(i,t).. Tm(i,t) =E= taum(i,t)*M(i,t);
Eqpx(j,t).. Px(j,t) =E= Aii(j,t)*pva(j,t) + sum(i, A(i,j,t)*p(j,t));
Eqpm(i,t).. pm(i,t) =E= pwm(i,t)*epsilon(t);
Eqpe(i,t).. pe(i,t) =E= pwe(i,t)*epsilon(t);
Eqpd(i,t).. Pd(i,t) =E= (P(i,t)*Q(i,t) - pm(i,t)*M(i,t)*(1+taum(i,t)))/D(i,t);
Eqp(i,t).. px(i,t)*X(i,t)*(1+ taux(i,t)) + pm(i,t)*M(i,t) =E= sum(h, p(i,t)*Cp(h,i,t)) + p(i,t)*(Cg(i,t) + Inv(i,t) + Ex(i,t) + sum(j, Z(i,j,t))) ;
EqSf(t).. Sf(t) + sum(i, Pwe(i,t)*EX(i,t)) =E= sum(i, Pwm(i,t)*M(i,t));
EqGDP(t).. GDP(t) =E= sum(j,pva(j,t)*va(j,t) + tx(j,t));
EqF(k,t).. F(k,t) =E= Sum(j, FF(k,j,t));
EqUU(h,t).. UU(h,t) =E= prod(i, Cp(h,i,t)**beta(h,i,t));
eqvar(h,t).. Ev(h,t) =E= yp(h,t)*prod(i,(1/p(i,t))**beta(h,i,t))-yp0(h,t);
eqCV(h,t).. Cv(h,t) =E= yp0(h,t)*prod(i, p(i,t)**beta(h,i,t))-yp(h,t);
EqInvdyn(t).. Invdyn(t) =E= Sum(i, Inv(i,t));
*=====================Initialization of variables=======================
Z.L(i,j,t) = Z0(i,j,t);
X.L(j,t) = X0(j,t) ;
VA.l(j,t) = VA0(j,t) ;
Yp.l(h,t) = Yp0(h,t) ;
Yg.l(t) = Yg0(t) ;
Sp.l(h,t) = Sp0(h,t) ;
Sg.l(t) = Sg0(t) ;
Cp.l(h,j,t) = Cp0(h,j,t) ;
Inv.l(i,t) = Inv0(i,t);
Tx.l(i,t) = Tx0(i,t) ;
EX.l(i,t) = EX0(i,t) ;
Q.l(i,t) = Q0(i,t) ;
D.l(i,t) = D0(i,t) ;
GDP.l(t) = GDP0(t);
p.l(i,t) = 1 ;
px.l(i,t) = 1 ;
pva.l(i,t) = 1 ;
pe.l(i,t) = 1 ;
pd.l(i,t) = 1 ;
r.l(i,t) = 1 ;
Cg.l(i,t) = Cg0(i,t) ;
M.L(i,t) = M0(i,t) ;
TM.L(i,t) = TM0(i,t) ;
Sf.l(t) = Sf0(t);
pwm.l(i,t) = 1 ;
UU.l(h,t) = UU0(h,t);
ev.l(h,t) = 0;
Cv.l(h,t) = 0;
Invdyn.l(t) = Invdyn0(t) ;
*===============================Numeraire====================================
w.FX(t) = 1 ;
*==========================Exogenous variables================================
epsilon.fx(t) = 1 ;
pwe.fx(i,t) = 1 ;
FF.fx(k,j,t) = FF0(k,j,t);
pm.fx(i,t) = 1 ;
*===========================Section dynamique================================
F.l('ld', '1') = F0('ld', '1') ;
loop(t,
F.l('ld', t)$( ord(t) gt 1 ) = F.l('ld', t-1)*conver*(1+gdy) ;
);
F.l('kd', '1') = F0('kd', '1') ;
loop(t,
F.l('kd', t) $( ord(t) gt 1 ) = (F.l('kd', t-1)*(1-deltady) + Rhody*InvDyn.l(t-1)) ;
);
*============================================================================
Model DYN /all/;
option NLP=CONOPT4 ;
Solve DYN Using CNS;
*=======Simulations in this section are applied after a 10 years’ period=====
*This is done with respect to the subset T2
taum(i,t) = taum(i,t)*0 ;
$ontext
The following line applies simulations from year 10 (You will just activate the program)
taum(i,t) $ (t.val gt 10 ) = taum(i,t)*0 ;
An alternative way is the following
loop(t,
taum(i,t) $ (ord(t) gt card(t3) ) = taum(i,t)*0 ;
);
$offtext
$ontext
The following line applies simulations at specific dates (you just need to change
time to the appropriate one in set sim)
taum(i,sim) = taum(i,sim)0 ;
$offtext
Solve DYN Using CNS;
*====================================END======================================
*===========================For results in percentage=========================
Parameter
gZ(i,j,t) Growth of intermediate consumption
gX(j,t) Growth of sectoral output
gVA(j,t) Growth of Value added
gYp(h,t) Growth of income of private agent h
gYg(t) Growth of Government income
gF(k,t) Growth of k' total factor endowment
gSp(h,t) Growth of savings of private agent h
gSg(t) Growth of Government Savings
gCp(h,j,t) Growth of consumption of good i by private agent h
gCg(i,t) Growth of Government expenditures in good i
gTx(i,t) Growth of indirect tax on product i
gInv(i,t) Growth of investment of sector i
gEX(i,t) Growth of exports of good i
gM(i,t) Growth of imports of good i
gQ(i,t) Growth of composite output in sector i
gD(i,t) Growth of domestic demand of good i
gGDP(t) Growth of GDP in production optic
gp(i,t) Growth of composite price of good i
gpx(i,t) Growth of producer prix on good i
gpva(i,t) Growth of value added price of good i
gpm(i,t) Growth of import price of good i
gpe(i,t) Growth of export price of good i
gpd(i,t) Growth of domestic price of good i
gr(i,t) Growth of capital price of good i
gSf(t) Growth of foreign savings
gTM(i,t) Growth of import tariff on good i
gUU(h,t) Growth of household utility
;
gZ(i,j,t) = 100*(Z.l(i,j,t) / Z0(i,j,t) - 1) ;
gX(j,t) = 100*(X.l(j,t) / X0(j,t) - 1) ;
gVA(j,t) = 100*(VA.l(j,t) / VA0(j,t) - 1) ;
gUU(h,t) = 100*(UU.l(h,t) / UU0(h,t) - 1) ;
gZ(i,j,t) = 100*(Z.l(i,j,t) / Z0(i,j,t) - 1) ;
gX(j,t) = 100*(X.l(j,t) / X0(j,t) - 1) ;
gVA(j,t) = 100*(VA.l(j,t) / VA0(j,t) - 1) ;
gYp(h,t) = 100*(Yp.l(h,t) / Yp0(h,t) - 1) ;
gYg(t) = 100*(Yg.l(t) / Yg0(t) - 1) ;
gSp(h,t) = 100*(Sp.l(h,t) / Sp0(h,t) - 1) ;
gF(k,t) = 100*(F.l(k,t) / F0(k,t) - 1) ;
gSg(t) = 100*(Sg.l(t) / Sg0(t) - 1) ;
gCp(h,j,t) = 100*(Cp.l(h,j,t)/ Cp0(h,j,t)- 1) ;
gCg(i,t) = 100*(Cg.l(i,t) / Cg0(i,t) - 1) ;
gTx(i,t) = 100*(Tx.l(i,t) / Tx0(i,t) - 1) ;
gInv(i,t) = 100*(Inv.l(i,t) / Inv0(i,t) - 1) ;
gEX(i,t) = 100*(EX.l(i,t) / EX0(i,t) - 1) ;
gM(i,t) = 100*(M.l(i,t) / M0(i,t) - 1) ;
gTM(i,t) = 100*(TM.l(i,t) / TM0(i,t) - 1) ;
gQ(i,t) = 100*(Q.l(i,t) / Q0(i,t) - 1) ;
gD(i,t) = 100*(D.l(i,t) / D0(i,t) - 1) ;
gGDP(t) = 100*(GDP.l(t) / GDP0(t) - 1) ;
gSf(t) = 100*(Sf.l(t) / Sf0(t) - 1) ;
gp(i,t) = 100*(p.l(i,t) - 1) ;
gpx(i,t) = 100*(px.l(i,t) - 1) ;
gpva(i,t) = 100*(pva.l(i,t) - 1) ;
gpm(i,t) = 100*(pm.l(i,t) - 1) ;
gpe(i,t) = 100*(pe.l(i,t) - 1) ;
gpd(i,t) = 100*(pd.l(i,t) - 1) ;
gr(i,t) = 100*(r.l(i,t) - 1) ;
execute_unload 'result.gdx',CV,ev,gZ,gX,gVA,gUU,gTm,gX,gYp,gYg, gSp,gSg,
gCp,gCg,gTx,gInv,gF,gEX,gQ,gD,gm,gGDP,gp,gpx,gpva,gpm,gpe,gpd,gr,gSf ;
execute '=gdx2xls result.gdx RES_SIMEQ.xlsx';
Appendix 3: GAMS code for the variable convergence
$title Application of a simple recursive dynamic CGE model
*This programme is provided by Rodrigue N Tchoffo, Phd in Economics
*University of Dschang, Cameroon
option limRow = 230, limCol = 275;
option decimals=4;
SET u SAM accounts / A1,A2,LD,KD,HH,ISBN,G,ROW,ACC, TOT/
i(u) Activities / A1,A2 /
h(u) Private agents / HH Households
ISBN Non-profit Institutions /
k(u) Factor endowment / LD, KD /
t Time horizon / 1*30 /
Sim(t) Specific years / 1,10,20,30 /
T2(t) First decade / 1*10 / ;
alias(u,v);
alias(i,j);
alias(H, Nh);
parameter
Z0(i,j,t) Intermediate consumption
X0(j,t) Output production
F0(k,t) Total supply of factor k
A(i,j,t) Technical coefficient
VA0(j,t) Value added
Cp0(h,J,t) Consumption of good j by private agent h
FF0(k,j,t) Factor k used in sector j
Cg0(i,t) Government consumption
EX0(i,t) Exports of good i
M0(i,t) Imports of good i
Q0(i,t) Composite output in sector i
D0(i,t) Domestic demand of good i
TX0(i,t) Tax on product i
INV0(i,t) Investment of sector i
TM0(i,t) Import tariff on good i
taum(i,t) Import rate tariff on good i
taux(i,t) Indirect tax rate on good i collected on output x
Sf0(t) Foreign savings
Yp0(h,t) Income of private agent h
Yg0(t) Government income
Sp0(h,t) Savings of private agent h
Sg0(t) Government Savings
Cp0(h,j,t) Consumption of good i by private agent h
Cg0(i,t) Government expenditures in good i
GDP0(t) GDP in the production optic
UU0(h,t) Household utility
Invdyn0(t) Initial investment ;
theta(h,t) Share of households consumption in the total
div Scale parameter of SAM
conver(t) Convergence parameter for the dynamic
Adjust Adjustment parameter
gdy Rate of labour
;
gdy = 0.02 ;
Adjust = 1.001 ;
conver('1') = 0.875 ;
loop(t,
conver(t) $(ord(t) gt 1) = conver(t-1)*Adjust ;
);
display conver;
Table SAM(u,v) Social accounting matrix
A1 | A2 | LD | KD | HH | ISBN | G | ROW | ACC | TOT | |
A1 | 40 | 15 | 10 | 5 | 20 | 10 | 10 | 110 | ||
A2 | 25 | 35 | 15 | 10 | 15 | 20 | -5 | 115 | ||
LD | 10 | 20 | 30 | |||||||
KD | 15 | 10 | 25 | |||||||
HH | 18.75 | 15.625 | 34.375 | |||||||
ISBN | 11.25 | 9.375 | 20.625 | |||||||
G | 5 | 10 | 15 | |||||||
ROW | 15 | 25 | 40 | |||||||
ACC | 9.375 | 5.625 | -20 | 10 | 5 | |||||
TOT | 110 | 115 | 30 | 25 | 34.375 | 20.625 | 15 | 40 | 5 | |
; |
Table PRO(*,j) Import tariff rate
A1 A2
taum 0.158 0.052
;
div = 1E1 ;
SAM(u,v) = SAM(u,v)/div ;
Cp0(h,J,t) = SAM(J, h)*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
FF0(k,j,t) = SAM(k,j)*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
Z0(i,j,t) = SAM(i,j)*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
Cg0(i,t) = SAM(i,'G') (conver(t)(1+ gdy))**(ord(t)- 1) ;
EX0(i,t) = SAM(i,'row')*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
M0(i,t) = SAM('row', i)*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
TX0(i,t) = SAM('G', i)*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
INV0(i,t) = SAM(i,'acc')*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
VA0(j,t) = Sum(k, FF0(k,j,t));
X0(j,t) = sum(i,Z0(i,j,t)) + VA0(j,t) ;
F0(k,t) = SAM('tot',k)*(conver(t)*(1+ gdy))**(ord(t)- 1);
A(i,j,t) = Z0(i,j,t)/X0(j,t);
Yg0(t) = Sum(j, Tx0(j,t)) ;
Yp0(h,t) = Sum(k, SAM(h,k))*(conver(t)*(1+ gdy))**(ord(t)- 1);
Sp0(h,t) = SAM('acc',h)*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
Sg0(t) = SAM('acc','g')*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
Sf0(t) = SAM('acc','row')*(conver(t)*(1+ gdy))**(ord(t)- 1) ;
taum(i,t) = Pro('taum', i)*(conver(t)*(1+ gdy))**(ord(t)- 1);
taux(i,t) = Tx0(i,t)/X0(i,t) ;
TM0(i,t) = taum(i,t)*M0(i,t);
D0(i,t) = (1+taux(i,t))*X0(i,t) - EX0(i,t);
Q0(i,t) = D0(i,t) + M0(i,t)*(1+taum(i,t));
theta(h,t) = Yp0(h,t)/sum(nh,Yp0(nh,t));
Invdyn0(t) = Sum(i, Inv0(i,t));
Display Z0,Cp0,Sf0,FF0,M0,EX0,TX0,D0,Q0,INV0,VA0,X0,F0
Sp0,Sg0,Yg0,Yp0,theta,TM0,Cg0;
Parameter
Ssp(h,t) Share of income for private savings
Ssg(t) Share of income for the Government savings
beta(h,i,t) Share of income consumed by the household in good i
mu(i,t) Share of Government revenue consumed in good i
Tmx(i,t) Share of indirect tax on total output
alpha(i,t) Elasticity of the demand factor in sector i
lambda(i,t) Share of total savings used in investment
B(i,t) Technological coefficient of the CES production function (Armington)
Gamma(i,t) Technological coefficient of the CES Importation function (Armington)
deltam(i,t) Share parameter of Armington substitution import function
deltae(i,t) Share parameter of Armington substitution export function
phi(i,t) Elasticity of substitution of exportation function
rho(i,t) Elasticity of substitution of importation function
S(i,t) Technological coefficient Cobb Douglas VA function
Aii(j,t) Value added coefficient in total output
;
Ssp(h,t) = Sp0(h,t)/Yp0(h,t);
Ssg(t) = Sg0(t)/Yg0(t);
beta(h,i,t) = Cp0(h,i,t)/Yp0(h,t) ;
mu(i,t) = Cg0(i,t)/Yg0(t) ;
alpha(i,t) = FF0('Ld', i,t)/VA0(i,t);
lambda(i,t) = INV0(i,t)/(sum(h,Sp0(h,t)) + Sg0(t) + sf0(t));
S(i,t) = VA0(i,t)/(FF0('Ld', i,t)**alpha(i,t)*FF0('kd', i,t)**(1-alpha(i,t))) ;
Aii(j,t) = VA0(j,t)/ X0(j,t);
Phi(i,t) = 0.3;
Rho(i,t) = 0.3;
Deltae(i,t) = EX0(i,t)**(1-phi(i,t))/(EX0(i,t)**(1-phi(i,t)) + D0(i,t)**(1-phi(i,t)));
Deltam(i,t) = (1+taum(i,t))*M0(i,t)**(1-rho(i,t))/((1+taum(i,t))*M0(i,t)**(1-rho(i,t)) + D0(i,t)**(1-rho(i,t)));
B(i,t) = X0(i,t)/(deltae(i,t)*EX0(i,t)**phi(i,t) + (1 - deltae(i,t))*D0(i,t)**phi(i,t))**(1/phi(i,t));
gamma(i,t) = Q0(i,t)/(deltam(i,t)*M0(i,t)**rho(i,t) + (1 - deltam(i,t))*D0(i,t)**rho(i,t))**(1/rho(i,t));
GDP0(t) = Sum(j, VA0(j,t) + Tx0(j,t));
UU0(h,t) = prod(i, Cp0(h,i,t)**(beta(h,i,t)));
Display theta,alpha,Aii,S,Ssp,Ssg,beta,
mu,deltae,deltam,B,Gamma,UU0,GDP0;
*========================For dynamic=============================
Variable
Z(i,j,t) Intermediate consumption
X(j,t) Output production
F(k,t) Demand consumption for households
VA(j,t) Value added
FF(k,j,t) Factor k used in sector j
Yp(h,t) Income of private agent h
Yg(t) Government revenue
Sp(h,t) Savings of private agent h
Sg(t) Government Savings
Cp(h,j,t) Consumption of good i by private agent h
Cg(i,t) Government expenditures in good i
Tx(i,t) Indirect tax on product i
Inv(i,t) Investment of sector i
EX(i,t) Exports of good i
M(i,t) Imports of good i
Q(i,t) Composite output in sector i
D(i,t) Domestic demand of good i
TM(i,t) Import tariff on good i
GDP(t) GDP in production optic
p(i,t) Composite output of good i
px(i,t) Producer prix on good i
pva(i,t) Value added price of good i
pm(i,t) Import price of good i
pe(i,t) Export price of good i
pd(i,t) Domestic price of good i
w(t) Labour price
r(i,t) Capital price of good i
epsilon Exchange rate
pwe(i,t) World exported price of good i
pwm(i,t) World imported price of good i
Sf(t) Foreign savings
UU(h,t) Household utility
Ev(h,t) Equivalent variation for household h
Cv(h,t) Compensatory variation for household h
Invdyn(t) Initial investment
;
Equation
EqZ(i,j,t) Intermediate consumption
EqX(i,t) Output production
EqVA(j,t) Value added
EqFF(k,j,t) Labour Factor used in sector j
EqFFC(k,j,t) Capital Factor used in sector j
EqYp(h,t) Income of private agent h
EqYg(t) Government income
EqSp(h,t) Savings of private agent h
EqSg(t) Government Savings
EqCp(h,i,t) Consumption of good i by private agent h
EqCg(i,t) Government expenditures in good i
EqTx(i,t) Tax on product i
Eqp(i,t) Good and services market equilibrium
EqEX(i,t) Exports of good i
EqM(i,t) Imports of good i
EqQ(i,t) Composite output in sector i
EqD(i,t) Domestic demand of good i
EqGDP(t) GDP in production optic
Eqpx(j,t) Output price of good j
Eqpm(i,t) Import price of good i
Eqpe(i,t) Export price of good i
Eqinv(i,t) Investment of sector i
EqSf(t) Foreign savings
Eqpd(i,t) Domestic price of good i
EqTM(i,t) Import tariff on good i
EqF(k,t) Equilibrium on the factor market
EqUU(h,t) Household utility
eqvar(h,t) Equivalent variation for household h
eqCV(h,t) Compensatory variation
EqInvdyn(t) Initial investment
;
EqZ(i,j,t).. Z(i,j,t) =E= A(i,j,t)*X(j,t) ;
EqX(i,t).. X(i,t) =E= B(i,t)*(deltae(i,t)*EX(i,t)**phi(i,t) + (1 - deltae(i,t))*D(i,t)**phi(i,t))**(1/phi(i,t));
EqVA(j,t).. VA(j,t) =E= S(j,t)*(FF('Ld', j,t)**alpha(j,t)*FF('kd', j,t)**(1-alpha(j,t))) ;
EqFF('Ld',j,t).. w(t)*FF('Ld',j,t) =E= alpha(j,t)*pva(j,t)*VA(j,t);
EqFFC('kd',j,t).. r(j,t)*FF('kd',j,t) =E= (1-alpha(j,t))*pva(j,t)*VA(j,t);
EqYp(h,t).. Yp(h,t) =E= theta(h,t)*sum(i, pva(i,t)*va(i,t)) ;
EqYg(t).. Yg(t) =E= sum(i, Tx(i,t)) ;
EqSp(h,t).. Sp(h,t) =E= Ssp(h,t)*Yp(h,t) ;
EqSg(t).. Sg(t) =E= Ssg(t)*Yg(t) ;
EqCp(h,i,t).. Cp(h,i,t)*p(i,t) =E= beta(h,i,t)*Yp(h,t) ;
EqCg(i,t).. Cg(i,t)*p(i,t) =E= mu(i,t)*Yg(t) ;
EqTx(i,t).. Tx(i,t) =E= Taux(i,t)*X(i,t)*px(i,t) ;
Eqinv(i,t).. p(i,t)*INV(i,t) =E= lambda(i,t)*(sum(h,Sp(h,t)) + epsilon(t)*Sf(t) + sg(t));
EqEX(i,t).. EX(i,t) =E= (B(i,t)**phi(i,t)*deltae(i,t)*px(i,t)*(1+taux(i,t))/pe(i,t))**(1/(1 - phi(i,t)))*X(i,t) ;
EqM(i,t).. M(i,t)=E=(gamma(i,t)**rho(i,t)*deltam(i,t)*p(i,t)/((1+taum(i,t))*pm(i,t)))**(1/(1-rho(i,t)))*Q(i,t) ;
EqQ(i,t).. Q(i,t) =E=gamma(i,t)*(deltam(i,t)*M(i,t)**rho(i,t) + (1-deltam(i,t))*D(i,t)**rho(i,t))**(1/rho(i,t)) ;
EqD(i,t).. D(i,t) =E= ((B(i,t)**phi(i,t)*(1-deltae(i,t))*px(i,t)*(1+taux(i,t)))/pd(i,t))**(1/(1 - phi(i,t)))*X(i,t) ;
EqTM(i,t).. Tm(i,t) =E= taum(i,t)*M(i,t);
Eqpx(j,t).. Px(j,t) =E= Aii(j,t)*pva(j,t) + sum(i, A(i,j,t)*p(j,t));
Eqpm(i,t).. pm(i,t) =E= pwm(i,t)*epsilon(t);
Eqpe(i,t).. pe(i,t) =E= pwe(i,t)*epsilon(t);
Eqpd(i,t).. Pd(i,t) =E= (P(i,t)*Q(i,t) - pm(i,t)*M(i,t)*(1+taum(i,t)))/D(i,t);
Eqp(i,t).. px(i,t)*X(i,t)*(1+ taux(i,t)) + pm(i,t)*M(i,t) =E= sum(h, p(i,t)*Cp(h,i,t)) + p(i,t)*(Cg(i,t) + Inv(i,t) + Ex(i,t) + sum(j, Z(i,j,t))) ;
EqSf(t).. Sf(t) + sum(i, Pwe(i,t)*EX(i,t)) =E= sum(i, Pwm(i,t)*M(i,t));
EqGDP(t).. GDP(t) =E= sum(j,pva(j,t)*va(j,t) + tx(j,t));
EqF(k,t).. F(k,t) =E= Sum(j, FF(k,j,t));
EqUU(h,t).. UU(h,t) =E= prod(i, Cp(h,i,t)**beta(h,i,t));
Eqvar(h,t).. Ev(h,t) =E= yp(h,t)*prod(i,(1/p(i,t))**beta(h,i,t))-yp0(h,t);
EqCV(h,t).. Cv(h,t) =E= yp0(h,t)*prod(i, p(i,t)**beta(h,i,t))-yp(h,t);
EqInvdyn(t).. Invdyn(t) =E= Sum(i, Inv(i,t));
*=====================Initialization of variables=======================
Z.L(i,j,t) = Z0(i,j,t);
X.L(j,t) = X0(j,t) ;
VA.l(j,t) = VA0(j,t) ;
Yp.l(h,t) = Yp0(h,t) ;
Yg.l(t) = Yg0(t) ;
Sp.l(h,t) = Sp0(h,t) ;
Sg.l(t) = Sg0(t) ;
Cp.l(h,j,t) = Cp0(h,j,t) ;
Inv.l(i,t) = Inv0(i,t);
Tx.l(i,t) = Tx0(i,t) ;
EX.l(i,t) = EX0(i,t) ;
Q.l(i,t) = Q0(i,t) ;
D.l(i,t) = D0(i,t) ;
GDP.l(t) = GDP0(t);
p.l(i,t) = 1 ;
px.l(i,t) = 1 ;
pva.l(i,t) = 1 ;
pe.l(i,t) = 1 ;
pd.l(i,t) = 1 ;
r.l(i,t) = 1 ;
Cg.l(i,t) = Cg0(i,t) ;
M.L(i,t) = M0(i,t) ;
TM.L(i,t) = TM0(i,t) ;
Sf.l(t) = Sf0(t);
pwm.l(i,t) = 1 ;
UU.l(h,t) = UU0(h,t);
F.l(k, t) = F0(k, t) ;
ev.l(h,t) = 0;
Cv.l(h,t) = 0;
Invdyn.l(t) = Invdyn0(t) ;
*===============================Numeraire====================================
w.FX(t) = 1 ;
*==========================Exogenous variables================================
epsilon.fx(t) = 1 ;
pwe.fx(i,t) = 1 ;
FF.fx(k,j,t) = FF0(k,j,t);
pm.fx(i,t) = 1 ;
$ontext
*===========================Section dynamique================================
F.l('ld', '1') = F0('ld', '1') ;
loop(t,
F.l('ld', t)$( ord(t) gt 1 ) = F.l('ld', t-1)*conver(t)*(1+gdy) ;
);
F.l('kd', '1') = F0('kd', '1') ;
loop(t,
F.l('kd', t) $( ord(t) gt 1 ) = (F.l('kd', t-1)*(1-deltady(t)) + Rhody(t)*InvDyn.l(t-1)) ;
$offtext
*============================================================================
Model DYN /all/;
option NLP=CONOPT4 ;
Solve DYN Using CNS;
*=======Simulations in this section are applied after a 10 years’ period=====
*This is done with respect to the subset T2
$ontext
The following line applies simulations from year 10 (You will just activate the program)
taum(i,t) $ (t.val gt 10 ) = taum(i,t)*0 ;
An alternative way is the following
loop(t,
taum(i,t) $ (ord(t) gt card(t3) ) = taum(i,t)*0 ;
);
$offtext
$ontext
The following line applies simulations at specific dates (you just need to change
time to the appropriate one in set sim)
taum(i,sim) = taum(i,sim)0 ;
$offtext
taum(i,t) = taum(i,t)*0 ;
Solve DYN Using CNS;
*====================================END======================================
*==============================For results in percentage==============================
Parameter
gZ(i,j,t) Growth of intermediate consumption
gX(j,t) Growth of sectoral output
gVA(j,t) Growth of Value added
gYp(h,t) Growth of income of private agent h
gYg(t) Growth of Government income
gF(k,t) Growth of k' total factor endowment
gSp(h,t) Growth of savings of private agent h
gSg(t) Growth of Government Savings
gCp(h,j,t) Growth of consumption of good i by private agent h
gCg(i,t) Growth of Government expenditures in good i
gTx(i,t) Growth of indirect tax on product i
gInv(i,t) Growth of investment of sector i
gEX(i,t) Growth of exports of good i
gM(i,t) Growth of imports of good i
gQ(i,t) Growth of composite output in sector i
gD(i,t) Growth of domestic demand of good i
gGDP(t) Growth of GDP in production optic
gp(i,t) Growth of composite price of good i
gpx(i,t) Growth of producer prix on good i
gpva(i,t) Growth of value added price of good i
gpm(i,t) Growth of import price of good i
gpe(i,t) Growth of export price of good i
gpd(i,t) Growth of domestic price of good i
gr(i,t) Growth of capital price of good i
gSf(t) Growth of foreign savings
gTM(i,t) Growth of import tariff on good i
gUU(h,t) Growth of household utility
;
gZ(i,j,t) = 100*(Z.l(i,j,t) / Z0(i,j,t) - 1) ;
gX(j,t) = 100*(X.l(j,t) / X0(j,t) - 1) ;
gVA(j,t) = 100*(VA.l(j,t) / VA0(j,t) - 1) ;
gUU(h,t) = 100*(UU.l(h,t) / UU0(h,t) - 1) ;
gZ(i,j,t) = 100*(Z.l(i,j,t) / Z0(i,j,t) - 1) ;
gX(j,t) = 100*(X.l(j,t) / X0(j,t) - 1) ;
gVA(j,t) = 100*(VA.l(j,t) / VA0(j,t) - 1) ;
gYp(h,t) = 100*(Yp.l(h,t) / Yp0(h,t) - 1) ;
gYg(t) = 100*(Yg.l(t) / Yg0(t) - 1) ;
gSp(h,t) = 100*(Sp.l(h,t) / Sp0(h,t) - 1) ;
gF(k,t) = 100*(F.l(k,t) / F0(k,t) - 1) ;
gSg(t) = 100*(Sg.l(t) / Sg0(t) - 1) ;
gCp(h,j,t) = 100*(Cp.l(h,j,t)/ Cp0(h,j,t)- 1) ;
gCg(i,t) = 100*(Cg.l(i,t) / Cg0(i,t) - 1) ;
gTx(i,t) = 100*(Tx.l(i,t) / Tx0(i,t) - 1) ;
gInv(i,t) = 100*(Inv.l(i,t) / Inv0(i,t) - 1) ;
gEX(i,t) = 100*(EX.l(i,t) / EX0(i,t) - 1) ;
gM(i,t) = 100*(M.l(i,t) / M0(i,t) - 1) ;
gTM(i,t) = 100*(TM.l(i,t) / TM0(i,t) - 1) ;
gQ(i,t) = 100*(Q.l(i,t) / Q0(i,t) - 1) ;
gD(i,t) = 100*(D.l(i,t) / D0(i,t) - 1) ;
gGDP(t) = 100*(GDP.l(t) / GDP0(t) - 1) ;
gSf(t) = 100*(Sf.l(t) / Sf0(t) - 1) ;
gp(i,t) = 100*(p.l(i,t) - 1) ;
gpx(i,t) = 100*(px.l(i,t) - 1) ;
gpva(i,t) = 100*(pva.l(i,t) - 1) ;
gpm(i,t) = 100*(pm.l(i,t) - 1) ;
gpe(i,t) = 100*(pe.l(i,t) - 1) ;
gpd(i,t) = 100*(pd.l(i,t) - 1) ;
gr(i,t) = 100*(r.l(i,t) - 1) ;
execute_unload 'result.gdx',CV,ev,gZ,gX,gVA,gUU,gTm,gX,gYp,gYg, gSp,gSg,
gCp,gCg,gTx,gInv,gF,gEX,gQ,gD,gm,gGDP,gp,gpx,gpva,gpm,gpe,gpd,gr,gSf ;
execute '=gdx2xls result.gdx RES_IMVAR_1.7_0.7.xlsx';
