Chapter 7 Duopoly O. Afonso, P. B. Vasconcelos
Computational Economics: a concise introduction
O. Afonso, P. B. Vasconcelos
Computational Economics
1 / 21
Overview 1
Introduction
2
Economic model
3
Numerical solution
4
Computational implementation
5
Numerical results and simulation
6
Highlights
7
Main references
O. Afonso, P. B. Vasconcelos
Computational Economics
2 / 21
Introduction
Oligopoly markets consist of a small number of firms that dominate the market, selling differentiated or homogenous products. There are different ways of modelling oligopolies, depending on the way firms interact in the market. Firms choose quantity and then price adjusts so that demand equals supply – these are the Cournot and Stackelberg models. Firms choose the prices and then consumers choose from which firm to buy – this is the Bertrand model.
To understand the Nash equilibrium the focus is on the duopoly case, in which the market has only two firms. The economic problem is based on Gandolfo (2010), Perloff (2013) and Varian (1992), while the mathematical and computational support is based on Demmel (1997) and Bai et al. (2000).
O. Afonso, P. B. Vasconcelos
Computational Economics
3 / 21
Economic model
Cournot, Stackelberg and Bertrand models of duopoly markets Consider a static case with two firms, duopoly, each with a marginal cost MC and with total (inverse) demand 1 Q d − (Q1 + Q2 ) , P= a where P is the price, Q d is the autonomous demand, a > 0 is the sensitivity of the demand to price and Qi is the quantity offered by firm i, i = 1, 2. The total revenue, TRi , is 1 Q d − (Q1 + Q2 ) Qi , TRi (Q1 , Q2 ) = P × Qi = a and thus the marginal revenue, MRi , is 1 MRi (Q1 , Q2 ) = Q d − (Q1 + Q2 + Qi ) . a Then, firm i maximises profits by setting marginal revenue equal to marginal cost, MRi = MC. O. Afonso, P. B. Vasconcelos
Computational Economics
4 / 21
Economic model
Cournot
The Cournot equilibrium (P ∗ , Q ∗ ), Q ∗ = Q1∗ + Q2∗ is computed as follows: 1
The best response of firm 1 to firm 2’s decisions should be obtained; from MR1 = MC and given Q2 , it results Q1∗ (Q2 ) = 21 (Q d − aMC) − 21 Q2 .
2
The best response of firm 2 to firm 1’s decision is computed; similarly, to firm 2, it results Q2∗ (Q1 ) = 21 (Q d − aMC) − 12 Q1 .
3
The Cournot equilibrium occurs when Q1∗ is replaced in Q2∗ (and vice versa): Q1∗ = Q2∗ = 31 (Q d − aMC).
O. Afonso, P. B. Vasconcelos
Computational Economics
5 / 21
Economic model
Stackelberg To compute the Stackelberg equilibrium (P ∗ , Q ∗ ), suppose that firm 1 is the leader (it decides first) and firm 2 is the follower; the sequential mechanism is as follows: 1
Similar to step 2 in Cournot, the best response of firm 2 to leader firm 1 decision is computed; Q2∗ (Q1 ) = 21 (Q d − aMC) − 12 Q1 .
2
Firm 1’s total revenue, given firm 2’s best response, is obtained: 1 2 3
3
TR1 (Q1 , Q2∗ ) = 21 (Q d + aMC) − 21 Q1 , MR1 (Q1 , Q2∗ ) = −Q1 /a + (Q d + aMC)/(2a), from MR1 = MC, Q1∗ = 21 (Q d − aMC).
Finally, given firm 1’s optimal decision, Q2∗ is obtained using firm 2’s best response function Q2∗ (Q1∗ ) = 14 (Q d − aMC).
The firm leader produces more in the Stackelberg equilibrium than the follower due to the first-mover advantage.
O. Afonso, P. B. Vasconcelos
Computational Economics
6 / 21
Economic model
Bertrand Firms compete by setting prices and thus the (Nash) equilibrium is such that the prices are equal to the marginal costs: P1∗ = MC and P2∗ = MC. Prices different from P1∗ and P2∗ cannot be an equilibrium. 1
P < MC: at least one firm will earn negative profits and thus the firms have an incentive to deviate.
2
MC = P1 < P2 : firm 1 can deviate by setting prices so that MC < P10 < P2 and make higher profits; at this new price P10 , firm 1 does not lose any customers, but is selling at a higher price.
3
MC < P1 < P2 : firm 1 has an incentive to deviate by setting P1 < P10 < P2 , so that it does not lose any customers, but sells at a higher price. moreover, firm 2 can also deviate by setting MC < P20 < P1 in order to grab the whole market and sells at a price above the marginal cost.
4
MC < P1 = P2 : firm 1, for example, has an incentive to deviate by setting MC < P10 < P1 to capture all the market by charging lower price.
O. Afonso, P. B. Vasconcelos
Computational Economics
7 / 21
Economic model
Discrete dynamics Cournot duopoly game Consider two firms, i = 1, 2, producing a homogeneous good at time t observe the other firm’s output and assume that this quantity stays unchanged in the next time period, t + 1; thus, Pt =
1 Qd − Qd,t , a a
where P is the price of the good, Q d > 0 is the independent/autonomous quantity demanded, Qd is the quantity demanded, which is also the quantity produced, Q1,t + Q2,t , and a > 0 is the sensitivity of the demand to price. Linear total cost curves TC = TC1 = TC2 are considered for each firm, and thus the marginal cost MC is constant. Thus, each firm has an ex-ante market price based on the belief that the other firm’s output remains fixed: Pi,t+1 = O. Afonso, P. B. Vasconcelos
Qd 1 − (Qi,t+1 + Qj,t ) , j 6= i. a a Computational Economics
8 / 21
Economic model
Discrete dynamics Cournot duopoly game Firm i determines Qi,t+1 to maximise its expected profits: πi,t+1 = Pi,t+1 Qi,t+1 − TC =
Qd 1 2 Qi,t+1 − Qi,t+1 + Qi,t+1 Qj,t − TC. a a
The first-order conditions for an interior maximum are: ∂πi,t+1 Q d − aMC 1 = 0 ⇒ Qi,t+1 = − Qj,t + , i, j = 1, 2, i 6= j, ∂Qi,t+1 2 2 which is a nonhomogeneous first-order difference system. In matricial form Qt+1 = AQt + g where A =
0 − 12
O. Afonso, P. B. Vasconcelos
− 21 0
Q1,t , Qt = and g = Q2,t
Computational Economics
(1) "
Q d −aMC 2 Q d −aMC 2
# .
9 / 21
Economic model
Discrete dynamics Cournot duopoly game
The study of the homogeneous system, Qt+1 = AQt , provides insight on the convergence of the process. Convergence is ruled by the eigenvalues of A, which is equivalent to obtain the roots of the characteristic equation det(A − λI) = 0. For the present case λ1 , λ2 = ± 12 , and hence, the movement is convergent towards the equilibrium solution: Q1∗ = Q2∗ = (Q d − MC)/(3a).
O. Afonso, P. B. Vasconcelos
Computational Economics
10 / 21
Numerical solution
System of difference equations Consider a first–order 2×2 system Yt+1 = AYt + g(t) where Yt = [y1,t , y2,t ]T , A is a 2×2 (transition) matrix of constants and g(t) = [g1 (t), y2 (t)]T . To access the convergence characteristics of the solution, the focus is on the homogeneous part, g1 (t) = g2 (t) = 0. k1 Suppose Yt = λt with k1 and k2 constants is a solution; then for λ 6= 0, k2 k1 (A − λI) = 0, k2 leading to the characteristic equation λ2 − trace(A) + det(A) = 0; its roots, λ1 and λ2 , are the eigenvalues of matrix A. The generalisation for n × n systems is immediate although the presence of more than two eigenvalues can lead to more complex behaviour over time. Depending on the eigenvalues, different types of solution results, and thus different stability conditions. In particular, the system is convergent if and only if all eigenvalues have absolute value less than 1. O. Afonso, P. B. Vasconcelos
Computational Economics
11 / 21
Numerical solution
Eigenvalue problem An eigenvalue problem consists in computing solutions, scalars λ and nonzero x, of the matrix equation Eigenvalue problem Ax = λx
(2)
where A is n × n, the scalar λ is an eigenvalue, x 6= 0 is the corresponding (right) eigenvector and (λ, x) is an eigenpair. The set of all eigenvalues of A is called the spectrum of A. Eigenvectors are invariant directions under multiplication by A. Eigenvalues can be interpreted as the n roots of the characteristic polynomial p(λ) = det(A − λI), and a particular λi as the representation of A in the subspace spanned by the correspoof dimension ding xi , i = 1, ..., n. Real matrices can have complex eigenvalues, which occur in conjugate pairs. O. Afonso, P. B. Vasconcelos
Computational Economics
12 / 21
Numerical solution
Eigenvalue computations in practice Numerical algorithms for computing eigenvalues can be divided into: transformation methods, which, first, reduce the original matrix A to a form from which the eigenvalues can be computed; iterative methods, which, first, reduce matrix A into one of much smaller order and then use techniques to extract the eigenpairs from the smaller subspace where the problem was projected. While the former are suited for small dimension matrices and compute all eigenpairs, the latter are adequate to large dimensional problems and compute a subset of the spectrum. MATLAB/Octave: Compute all eigenpairs of a small/moderate size matrix A: [V,D]=eig(A), where D is a diagonal matrix of eigenvalues and V a matrix whose columns are the respective eigenvectors. Compute all a subset of eigenpairs from a large sparse matrix A: [V,D] = eigs(A).
O. Afonso, P. B. Vasconcelos
Computational Economics
13 / 21
Computational implementation
The following baseline values are considered: Q d = 1000, a = 10 and MC = 10.
O. Afonso, P. B. Vasconcelos
Computational Economics
14 / 21
Computational implementation
Presentation and parameters %% D i s c r e t e dynamic Cournot duopoly game % Implemented by : P . B . Vasconcelos and O. Afonso clear ; clc ; disp ( ’−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ’ ) ; disp ( ’ D i s c r e t e dynamic Cournot duopoly game ’); disp ( ’−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ’ ) ; %% parameters a = 1 0 ; % s e n s i t i v i t y o f t h e demand t o p r i c e MC_bar = 1 0 ; % m a r g i n a l c o s t common t o both f i r m s %% exogenous v a r i a b l e s Qd_bar = 1000; % independent / autonomous q u a n t i t y demanded %% model A = [ 0 −0.5; −0.5 0 ] ; g = [ ( Qd_bar−a∗MC_bar ) / 2 ; ( Qd_bar−a∗MC_bar ) / 2 ] ; f p r i n t f ( ’ Qt+1 = AQt + g \ n ’ ) disp ( ’A = ’ ) , disp ( A ) ; disp ( ’ g = ’ ) , disp ( g ) ;
O. Afonso, P. B. Vasconcelos
Computational Economics
15 / 21
Computational implementation
Solution %% compute t h e endogenous v a r i a b l e s tmax = 100; t o l = 1e−4; % maximum nb o f p e r i o d s t = 1 ; Q( : , t ) = [ 2 5 ; 2 5 ] ; disp ( ’ t Q1, t Q2, t ’ ) f p r i n t f ( ’ %d \ t %5.2 f %5.2 f \ n ’ , t −1,Q( 1 , t ) ,Q( 2 , t ) ) t = 2; Q( : , t ) = A∗Q( : , t −1)+g ; f p r i n t f ( ’ %d \ t %5.2 f
%5.2 f \ n ’ , t −1,Q( 1 , t ) ,Q( 2 , t ) )
while t t o l ∗norm (Q( : , t ) ) t = t +1; Q( : , t ) = A∗Q( : , t −1)+g ; f p r i n t f ( ’ %d \ t %5.2 f %5.2 f \ n ’ , t −1,Q( 1 , t ) ,Q( 2 , t ) ) end %% phase diagram c o u r n o t _ p l o t (Q)
O. Afonso, P. B. Vasconcelos
Computational Economics
16 / 21
Computational implementation
Plot the solution function c o u r n o t _ p l o t (Q) % Cournot phase diagram q = Q( 1 , : ) ; % f o r Cournot Q1=Q2 xmin = min ( q ) ∗ 0 . 8 ; xmax = max( q ) ∗ 1 . 1 ; xx = [ xmin , xmax ] ; p l o t ( [ 0 , xmax ] , [ 0 , xmax ] ) ; hold on ; f o r t = 1 : length ( q )−1 p l o t ( [ q ( t ) , q ( t ) ] , [ q ( t ) , q ( t +1) ] , ’ r ’ ) ; p l o t ( [ q ( t ) , q ( t +1) ] , [ q ( t +1) , q ( t +1) ] , ’ r ’ ) ; end x l a b e l ( ’Q_{ t } ’ ) ; y l a b e l ( ’Q_{ t +1} ’ ) ; x l i m ( xx ) ; y l i m ( xx ) ; hold o f f end
O. Afonso, P. B. Vasconcelos
Computational Economics
17 / 21
Numerical results and simulation
--------------------------------------------------------Discrete dynamic Cournot duopoly game --------------------------------------------------------Qt+1 = AQt + g A = 0 -0.5000 -0.5000 0 g = 450 450 t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Q1,t 25.00 437.50 231.25 334.38 282.81 308.59 295.70 302.15 298.93 300.54 299.73 300.13 299.93 300.03 299.98 300.01
Q2,t 25.00 437.50 231.25 334.38 282.81 308.59 295.70 302.15 298.93 300.54 299.73 300.13 299.93 300.03 299.98 300.01
O. Afonso, P. B. Vasconcelos
Computational Economics
18 / 21
Numerical results and simulation
450 400 350
Qt+1
300 250 200 150 100 50 50
100
150
200
250 Qt
300
350
400
450
Quantity phase diagram for the dynamic duopoly Cournot game
O. Afonso, P. B. Vasconcelos
Computational Economics
19 / 21
Highlights
Oligopoly markets are characterised by a small number of firms and the focus was on the duopoly case. The dynamic learning process through which each firm refines its own belief of the market behaviour is explored. Stability of systems of difference linear equations is analysed through the eigenvalues of the matrix that represents the linear autonomous system (with constant coefficients); the duopoly equilibrium for the Cournot game with a linear demand and cost functions is stable. Systems of difference equations are exposed and numerical algorithms to compute eigenvalues are briefly introduced; eigenvalues are fundamental to understanding the convergence of the iterative process.
O. Afonso, P. B. Vasconcelos
Computational Economics
20 / 21
Main references
G. Gandolfo Economic dynamics. Springer, 2010. J. M. Perloff Microeconomics: Theory and Applications with Calculus. Prentice Hall; 3rd edition, 2013. H. R. Varian Microeconomic Analysis. W. W. Norton & Company; 3rd edition, 1992. Z. Bai, J. Demmel, J. Dongarra, A. Ruhe, H. van-der-Vorst Templates for the solution of algebraic eigenvalue problems: a practical guide. SIAM, 2000. J. W. Demmel Applied Numerical Linear Algebra. SIAM, 1997. O. Afonso, P. B. Vasconcelos
Computational Economics
21 / 21