Next Article in Journal
Financial Vision-Based Reinforcement Learning Trading Strategy
Previous Article in Journal
A New Semiparametric Regression Framework for Analyzing Non-Linear Data
Order Article Reprints
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:

General Equilibrium with Price Adjustments—A Dynamic Programming Approach

Ministry of Finance, 00023 Helsinki, Finland
Analytics 2022, 1(1), 27-34;
Received: 20 May 2022 / Revised: 13 June 2022 / Accepted: 1 July 2022 / Published: 6 July 2022


This research article develops a dynamic framework for the Walrasian pure exchange economy and thus extends the static Walrasian general equilibrium theory into a dynamic one with price adjustments. An evolution equation for the price vector is derived from dynamic programming considerations. The economy tries to move from disequilibrium to general equilibrium by minimizing certain cost functional. The cost functional measures transactions costs and the total expenditure of agents when they optimize individually. Price determination is directly related to a gradient search. The general equilibrium is shown to be stable in the sense of Lyapunov if price adjustments can be large, when needed. The conditional stability could be one reason for volatility clustering in financial time series.

1. Introduction

The fundamental framework of theoretical economics is the Walrasian general economic equilibrium. Economic equilibrium is a rather general and abstract concept, which is a state where nobody is willing to move or alter her policy. Equilibrium is a concept, which originated from the 19th century physical sciences, as seen in the historical roots of the methodology of economics [1]. The modern theory of economic equilibrium, including the welfare theorems, is the rigorous equivalent of the ‘invisible hand’ of Adam Smith. In particular, the welfare theorems provide that a general equilibrium is Pareto-efficient [2]. Although the father of modern economics is usually considered to be Adam Smith, the first rigorous economic theory on general equilibrium was put forward by Léon Walras in the late 19th century [3]. The major breakthrough was in 1954, when the existence of competitive equilibrium was proven by Kenneth Arrow and Gérard Debreu, see [4]. In spite of the fame of Debreu and Arrow, John von Neumann [5] contributed to the theory of equilibrium greatly as well. The existence theorem [4], based on topological fixed-point considerations like the Nash equilibrium, for a competitive equilibrium is a substantial achievement; nevertheless, it does not indicate anything about the dynamic workings of a market economy and we know very little about the adjustment process of prices towards equilibrium as such. It is remarkable how much the narrative in political deliberations in the public sphere is based on the assumption of balancing of demand and supply, although little is known about the price adjustment process towards such an equilibrium [6]. The canonical theory since the 1940s assumes that there is a ‘trial and error’ or ‘tâtonnement’ process, where a Walrasian ‘auctioneer’ adjusts the prices so that excess demand is driven to zero. Even though this seems rather innocent, Herbert Scarf [7] has shown that tâtonnement dynamics is not generally globally stable, see also [8]. A globally stable equilibrium (assuming it exists) means in this context that if one starts with some initial set of prices and excess demands, the dynamics will always lead to an equilibrium. The lack of a stable equilibrium is a major problem, as it implies that in general there is no market clearing. It is actually rather peculiar that economic theory contains such an essential pathology, given how it is assumed that demand and supply will balance each other. Therefore, we would need to advance on the dynamic adjustment process, because we know rather little about theoretical economies.
In terms of notation, we use implicit summation notation so that when the same index is shown as an upper and lower index, we will sum the components over that index, for example
p i p i = i = 1 l p i p i .
Components with two indices are matrices. One of the most important objects in general equilibrium theory is the excess demand function Z i p i : R + l R l . The excess demand function depends on prices p i s : R R + l of commodities and it describes the total excess demand of commodity, i , with respect to the current total endowment of agents. Note that excess demand might be also negative for some commodities. Total demand is the sum of utility-maximizing bundles of individual agents of commodities. General equilibrium thus prevails when excess demand vanishes for all commodities. The process towards a possible market equilibrium is set forth by the adjustment of relative prices of commodities. In general equilibrium prices do not change anymore and the market clears. The ‘tâtonnement’ process was introduced in [9], where a Walrasian ‘auctioneer’ adjusts the prices so that an excess demand function is driven to zero according to the following dynamics
d p i d s = c i Z i p i ,
where s 0 is time and c i > 0 is a rate parameter affecting the speed of price adjustment towards equilibrium prices. The problem with this ad hoc model is that it does not follow intrinsically from any optimization scheme so that the adjustment process is not derived from a set of behavioral assumptions. In other words, tâtonnement does not have proper microfoundations. Nevertheless, from standard microeconomic theory [10], we know that the excess demand of the exchange economy satisfies Walras’ Law (value of excess demand is zero), so that
p i Z i p i = 0 .
Furthermore, we may assume that the market is invariant under scaling of prices, i.e., only relative prices of commodities matter. It is a natural economic assumption, as it does not matter for agents if we scale all prices equally. Therefore, excess demand is homogeneous of degree zero in prices, i.e., Z i α p i = Z i p i For all α > 0 .
We can thus fix the length of the price vector p i p i = 1 from which we have
p i d p i d s = 0 .
One research strand has the approach of so-called non-tâtonnement exchange processes. This means that trading occurs outside equilibrium, while the process continues its search via some algorithm. The pioneers in this field are [11]. There has been a consistent line of research in non-tâtonnement through last decades, although thin, regarding Walrasian exchange and adjustment of prices. In [12], non-tâtonnement processes are considered, where a Walrasian exchange process is determined endogenously by a competitive mechanism.
The present model has the starting point that trading occurs only in equilibrium when all markets clear although individual optimization is implicitly assumed via the expenditure functions. For more recent examples from literature, see [13,14,15]. For a game theoretic approach to price adjustments in general equilibrium, see [16]. For a large survey on the theme, see [17]. For a good exposition of general equilibrium theory, see [10].

2. The Model Economy

The model in the present work needs first some basic assumptions. The exchange economy consists of a set of economic decision makers or agents j = 1 , , n . with some sufficiently well-behaved, rational, continuous, and non-satiated preferences [10]. In classical demand theory, rational preferences mean that on the consumption set X   R + l , we have a preference relation X   x   X that is both complete and transitive so that completeness means: for all x , y     X we have either x y , y x or both. Transitivity means the following: for all x , y , z     X if x y and y z then x z . Preferences are continuous, if they are preserved under limits so that for any sequence of pairs x n ,   y n n = 1 with x n   y n for all n , x = lim n x n   , y = lim n y n , we have x y .
Preferences are locally non-satiated, if for all x     X and ε > 0   x y < ε there is some y   X so that y x . There is a set of i = 1 , , l tradable commodities and Walrasian demands x j i s for each agent at each point in time.
Thus, we have a demand function x j i s : R R + l describing how much there is demand for commodity i from agent j at time t s T . There is a price vector p i s evolving in time. The preferences of agents are described by concave utility functions u j : X R . The utility function represents the preferences of the agents in the sense that x ≽ y   u x u y , see [10].

2.1. Individual Optimization: The Primal Problem and the Dual Problem

The price dynamics towards an equilibrium point require analyzing the individual behavior of the economic agents. The individual market participants have the objective to exchange resources optimally with each other. A priori, we do not know whether an equilibrium can be achieved given an initial allocation of resources. This is the essence of the stability problem in general equilibrium theory [6].
In microeconomic theory, the consumer problem can be described either via the primal problem, which gives the Walrasian demand function x j i s :
x j i s = a r g m a x X j i s X u X j i s | p i s X j i s p i s w j i
where w j i   R + l is the initial endowment of commodity i for agent j . Alternatively, we have the dual problem which gives the so-called Hicksian demand function h j i s :
h j i s = a r g m i n H j i s X p i s H j i s |   u ( H j i s )   U R
where U is the value of utility given by the primal problem (for indirect utility function, see [10]). In other words, in the dual problem the agent tries to minimize the cost of achieving the required utility level obtained via the primal problem. In the primal problem, agents maximize utility given the resource constraints. Assume that all agents are in an optimal position in terms of Hicksian demand. This implies that the expenditure function e j = p i s h j i s > 0 corresponds to the minimal cost for each agent, given prices and required level of utility.

2.2. The Dynamic Optimization Program for the Economy as a Whole

The basic assumption of the present model is that the economy starts with some initial set of prices, p i t and the agents have some initial optimal demand for commodities h j i t and respective optimal expenditure e j . The economy then tries to find a continuous path of prices optimally in such a way that the running cost related to the price evolution is minimized while the economy moves towards general equilibrium.
Phenomenologically, one can assume that—at each time instant—the agents announce their demands corresponding to the minimal expenditure, given prices and the level of minimum utility. The market then adjusts prices in such a way that the transactions costs related to the price changes and the aggregated optimal expenditure are minimized cumulatively over time, as the system moves towards equilibrium. In the equilibrium at terminal time T , the prices do not change and total demand correponds to total supply in such a way that the total excess demand vanishes.
The dynamic program then takes the following form with these assumptions
min v i t T 1 2 m v i v i + λ j e j d s
with the constraint v i = d p i d s with some initial price vector p i t . In words, this dynamic minimization program tries to find an optimal trajectory for prices, given the individual expenditure functions and a quadratic common penalty cost related to the time-derivative of the price vector of this optimal control problem. This running penalty cost in terms of the time derivative of the price vector can be understood as a transaction cost for changing prices outside equilibrium. This importance or weight of this transactional cost is reflected in the parameter m > 0 . The constant vector λ j > 0 is a market aggregation parameter which defines the relative weights of individual expenditure functions when the aggregate expenditure cost is determined. It can be assumed to be—for example— 1 for all agents. The expenditure is a natural running cost, as finally in the equilibrium the agents must trade optimally. Moreover, expenditures are intercomparable, as they are denominated in monetary units or with respect some numeraire, so the sum of expenditures across agents is well-defined. In case of utilities, the situation would be different.
The Hamiltonian is given by
H = 1 2 m v i v i + λ j e j + J p i v i .
Using dynamic programming, the necessary stationarity condition (minimum) is given by setting the partial derivative of the Hamiltonian with respect to the control variable v i to zero, from which one obtains
m v i = J p i
This gives the optimal direction for the economy to adjust prices in order to minimize the running cost each time instant. Note that the value function J = min v i t T 1 2 m v i v i + λ j e j d s depends on the state as well as on time.
The optimal direction is the negative gradient of the value function, so it is the direction where the cost functional has the steepest descent. As we do not have a general functional specification for the expenditure function, we will not solve for the value function explicitly. However, what is relevant here is to construct an algorithm, in principle, for how to change the prices optimally in order to achieve market equilibrium.
The full Hamilton–Jacobi–Bellman partial differential equation (PDE) is then given by
J t = 1 2 m i J i J λ j e j .
where the gradient operators refer to partial derivatives with respect to prices (the state variable). The PDE above is in general nonlinear. Solving for the value function gives the optimal policy through the negative gradient (9).

3. Price Dynamics and Lyapunov Stability of the Economy

The PDE governing the dynamics for the value function is given by
J t = 1 2 m i J i J λ j e j .
Differentiating with respect to prices and using the definition of optimal policy, we obtain the evolution equation for the price ‘velocity’,
m v i t + 1 2 m i v i v i = i λ j e j .
This PDE gives the dynamics for the price adjustments. If we can solve for the price trajectories, we can also solve for the excess demand function at each time instant, as it depends on prices.
Note that as the Hamilton–Jacobi–Bellman PDE is solved backwards; in order to study Lyapunov stability issues, we should invert the equation in time, as the prices evolve forward in time. The price dynamics PDE above can be related directly to Hicksian demand functions by using Shephard’s Lemma [10]. Shephard’s Lemma relates the expenditure function and the Hicksian demand functions via the price gradient
h i j = i e j
so that the price or market driving term on the right-hand side is a weighted sum of the Hicksian demands across agents
m v i t + 1 2 m i v i v i = λ j h i j .
The sum of Hicksian demands drives the market for each commodity in the sense that the time derivative on the left side of the equation depends on it.
The relevant boundary condition for the Hamilton–Jacobi–Bellman PDE is obtained by assuming that at terminal time T the system is in general equilibrium. We thus must have that the time derivative of the price vector vanishes. This implies that in general equilibrium if it exists, we must have
v i T = 0 .
Furthermore, total demand must equal total supply in equilibrium so that
j = 1 n h i j T = j = 1 n w i j .
For all commodities, i , the market must be in balance as above. As there is no production, the total amount of each commodity is constant and agents just exchange goods with each other.

Conditions for Lyapunov Stability of the Economy

Using Lyapunov’s direct method, we conjecture that the Lyapunov function is just the value function J . If we invert the Hamilton–Jacobi–Bellman (HJB) equation and note that the time derivative of the value function gives
d J d s = J s + i J v i .
By inserting the negative partial time derivative of the value function from above into the inverted HJB equation, we have
d J d s = 1 2 m i J i J + λ j e j + i J v i
thus, Lyapunov stability requires the following to hold:
d J d s = λ j e j 3 2 m v i v i < 0
The system is stable as long as the squared price-velocity of the system is large enough. In other words, the optimal control must be large enough compared to the expenditure given the price configuration. In addition, for the value function to properly be a Lyapunov function, we need to have J T = 0 so that the Lyapunov function vanishes in general equilibrium. This holds due to the fact that the optimization program only considers the running cost. For all prices, the aggregated expenditure is assumed positive, so that the usual conditions for a Lyapunov function are indeed satisfied.

4. Conclusions

Even though it is sometimes assumed lightly that demand and supply balance each other and that market equilibrium is reachable via some price adjustment mechanism, this is not always the case. Price adjustments can be chaotic [18], or the price trajectories can behave quite bizarrely. In the present model, the price adjustment in the economy takes place due to optimizing behavior of the economy as a whole.
The stability of the economic system can be achieved if we allow for large price fluctuations. In the present model, transaction costs related to fluctuations are related to the time derivative of prices. Such menu-costs have been shown to be important in economic dynamics (see [19]). The analysis of the model implies that convergence to market equilibrium sometimes demands fast and abrupt changes in prices. The model predicts this from the conditions on Lyapunov stability. In natural economies, high volatilities in prices are therefore expected. In financial markets, this is indeed the case and the model could explain—at least partly—why we witness volatility clustering in financial data and other economic time series as well [20]. If abrupt price changes are necessary for equilibrium-seeking, it could also be one explanation for why we witness fat tails and multi-fractality in financial time series [21]. The tractable model presented in this paper demonstrates how a simple price adjustment mechanism with simple assumptions is actually nonlinear. This constructive feature underlines the fact that even theoretical pure exchange economies are complex systems, which can have nonlinear features. Real economies are decentralized systems where individual heterogeneous agents interact in the most complex ways.
The evolution equation for the price ‘velocity’ vector (and thus for the excess demand function) derived from the model is a nonlinear PDE, which is solved backwards from the market equilibrium with the terminal condition that the excess demand function is to vanish in equilibrium. The use of expenditure functions reflects the feature of the model that the underlying agents are optimizing themselves. The time derivative of the price ‘velocity’ vector is driven by the total Hicksian demand aggregated across the agents. The model is generally very complex computationally, given that the number of commodities and agents could be very large. The model could be extended in principle by considering some more general form for transactions costs, but such assumptions could easily make the model non-tractable. Moreover, the aggregation of individual agents’ expenditure functions could be carried out in many ways, which of course will drastically affect the dynamics in terms of the PDE describing the evolution of prices in the economy.
On a historical note, the intellectual debate on the feasibility of socialism versus competitive markets was flourishing in the 1930s and 1940s. The debate was about the feasibility of central economic planning and whether some central planner could, in principle, adjust prices in way that some social optimum or a Pareto efficient allocation could be achieved. For one, there was Ludwig von Mises [22] and Friedrich von Hayek [23], who argued that market determined prices were essential in order to make rational decisions on allocation. In terms of central planning, one would thus essentially need to know the exact preferences of each decision maker, and in particular, the marginal utilities of each agent in a pure exchange. On the other hand, in 1936, Oskar Lange proposed a model for a socialist economy which was a variant of Walrasian general equilibrium. This model is presented in [24]. According to the present model, a nonlinear system of coupled PDEs could prove impossible for the central planner to solve, even with supercomputers. The economic calculation problem is thus directly related to the curse of the dimensionality problem in dynamic programming [25].
As the Hamilton–Jacobi–Bellman partial differential equation for the value function is strongly nonlinear in terms of computing a numerical solution, only a very small theoretical economy is practically computable in decent time. As the number of commodities and agents becomes large, the curse of dimensionality means that the amount of computing needed grows exponentially in the number of commodities and agents. This is a feature of the present model economy as a complex system; in real life, the heterogeneous agents do the computing somehow themselves in parallel when making their decisions to buy commodities. This feature can be seen as an argument against central planning of a command economy. The present model is nevertheless just an example of how the optimal determination of prices in terms of economic planning can be computationally difficult if it is to be carried out using a dynamic programming technique. Perhaps market equilibrium could be reached almost optimally by some computational trial-and-error-algorithm utilized by the central planner. The results are nevertheless an indication of how economic calculation can be computationally hard if we assume that the market is acting as if it was a system using dynamic programming.
The results of the present study indicate that a market economy can behave as a complex nonlinear system, and that global stability cannot be guaranteed for even rather straightforward price dynamics based on dynamic programming considerations. On the other hand, it seems that high volatility could be a necessary social cost for the market to clear. The exact stability criteria depend on the expenditure and utility functions of the decision-makers. The benefit of using Lyapunov’s direct method is due to the natural link to the value function of the dynamic programming problem. Moreover, it gives directly global stability criteria as opposed to local criteria based on linearization around equilibrium point. Global criteria are more useful, as in disequilibrium the initial prices can be very far from equilibrium prices.
In terms of practical implications, the results suggest that investors should focus even more on volatility management and risk management, as the results indicate that high volatility is a natural feature of theoretical economies.


This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.


  1. Mirowski, P. More Heat than Light, Economics as Social Physics, Physics as Nature’s Economics; Cambridge University Press: Cambridge, UK, 1989. [Google Scholar]
  2. Arrow, K.J. An Extension of the Basic Theorems of Classical Welfare Economics. Berkeley Symp. Math. Stat. Probab. 1951, 2, 507–532. [Google Scholar]
  3. Walras, L. Elements of Pure Economics; Routledge: London, UK, 2003; (1874). [Google Scholar]
  4. Arrow, K.J.; Debreu, G. Existence of an Equilibrium for a Competitive Economy. Econometrica 1954, 22, 265–290. [Google Scholar] [CrossRef]
  5. von Neumann, J.V. A Model of General Economic Equilibrium. Rev. Econ. Stud. 1945, 13, 1–9. [Google Scholar] [CrossRef]
  6. Smale, S. Dynamics in General Equilibrium Theory. Am. Econ. Rev. 1976, 66, 288–294. Available online: (accessed on 15 May 2022).
  7. Scarf, H. Some Examples of Global Instability of the Competitive Equilibrium. Int. Econ. Rev. 1960, 1, 157–172. [Google Scholar] [CrossRef][Green Version]
  8. Gale, D. A Note on Global Instability of Competitive Equilibrium. Nav. Res. Logist. Q. 1963, 10, 81–87. [Google Scholar] [CrossRef]
  9. Samuelson, P. Foundations of Economic Analysis; Harvard University Press: Cambridge, MA, USA, 1947. [Google Scholar]
  10. Mas-Colell, A.; Whinston, M.; Green, J. Microeconomic Theory; Oxford University Press: Oxford, UK, 1995. [Google Scholar]
  11. Hahn, F.H.; Negishi, T. A Theorem on Non-Tatonnement Stability. Econometrica 1962, 30, 463–469. [Google Scholar] [CrossRef]
  12. Champsaur, P.; Cornet, B. Walrasian exchange processes. In Economic Decision Making, Games, Econometrics and Optimisation; Elsevier Sciences Publishers B.V.: Amsterdam, The Netherlands, 1990. [Google Scholar]
  13. Balasko, Y. Out-of-equilibrium price dynamics. Econ. Theory 2007, 33, 413–435. Available online: (accessed on 15 May 2022).
  14. Bonnisseau, J.-M.; Nguenamadji, O. Discrete Walrasian exchange process. Econ. Theory 2013, 52, 1091–1100. Available online: (accessed on 15 May 2022).
  15. Goeree, J.K.; Lindsay, L. Market design and the stability of general equilibrium. J. Econ. Theory 2016, 165, 37–68. [Google Scholar] [CrossRef][Green Version]
  16. Mandel, A.; Gintis, H. Decentralized Pricing and the equivalence between Nash and Walrasian equilibrium. J. Math. Econ. 2016, 63, 84–92. [Google Scholar] [CrossRef][Green Version]
  17. Fisher, F.M. Disequilibrium Foundations of Equilibrium Economics (Econometric Society Monographs); Cambridge University Press: Cambridge, UK, 1983. [Google Scholar] [CrossRef]
  18. Bala, V.; Majumdar, M. Chaotic Tatonnement. Econ. Theory 1992, 2, 437–445. Available online: (accessed on 15 May 2022).
  19. Danziger, L. A Dynamic Economy with Costly Price Adjustments. Am. Econ. Rev. 1999, 89, 878–901. Available online: (accessed on 15 May 2022).
  20. Bentes, S.R.; Menezes, R.; Mendes, D.A. Long memory and volatility clustering: Is the empirical evidence consistent across stock markets? Phys. A Stat. Mech. Its Appl. 2008, 387, 3826–3830. [Google Scholar] [CrossRef][Green Version]
  21. Ran, M.; Tang, Z.; Chen, W. The Influence of Trading Volume, Market Trend, and Monetary Policy on Characteristics of the Chinese Stock Exchange: An Econophysics Perspective. Open Phys. 2019, 17, 985–998. [Google Scholar] [CrossRef]
  22. von Mises, L. Die Wirtschaftsrechnung im sozialistischen Gemeinwesen. Arch. Für Soz 1920, 47, 86–121. [Google Scholar]
  23. von Hayek, F. Individualism and Economic Order; University of Chicago Press: Chicago, IL, USA, 1948. [Google Scholar]
  24. Lange, O. On the Economic Theory of Socialism: Part One. Rev. Econ. Stud. 1936, 4, 53–71. [Google Scholar] [CrossRef]
  25. Bellman, R. Dynamic Programming; Princeton University Press: Princeton, NJ, USA, 1957. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Lindgren, J. General Equilibrium with Price Adjustments—A Dynamic Programming Approach. Analytics 2022, 1, 27-34.

AMA Style

Lindgren J. General Equilibrium with Price Adjustments—A Dynamic Programming Approach. Analytics. 2022; 1(1):27-34.

Chicago/Turabian Style

Lindgren, Jussi. 2022. "General Equilibrium with Price Adjustments—A Dynamic Programming Approach" Analytics 1, no. 1: 27-34.

Article Metrics

Back to TopTop