janboone/applied-economics

Game theoretic model about International Environmental agreement

Closed this issue · 4 comments

We have a simple model of abatement cooperation (Barrett 1994):

Pollution is emitted by $N$ identical countries, each of them receives current abatement benefit $B_i$, which depends on the current total abatement $Q = \Sigma q_i$ as follows: $B_i(Q) = \frac{b \left(aQ - \frac{Q^2}{2}\right)}{N}$ where $B_i(Q)$ is country $i$'s abatement benefit, $a>0$, $b>0$ is the slope of the global marginal benefit function, and $Q$ is global abatement.

$B'_i(0) = ab/N, \quad B'_i(a) = 0$

Abatement costs for a country $i$ depend only on $i$'s abatement level:
$C_i(q_i) = \frac{cq_i^2}{2}$ where $C_i(q_i)$ is $i$'s abatement cost, $q_i$ is $i$'s abatement, $c$ is the slope of each country's marginal abatement cost curve.

So, $i$'s net benefit $\pi_i$ equals to $\pi_i = B_i(Q) - C_i(q_i)$

While global net benefit is
$\Pi = \Sigma \pi_i$

Under the cooperation, countries want to maximize $\Pi$ by choosing $Q$. According to the FOC, this can be achieved by equalizing each country's marginal cost of abatement $MC_i = cq_i$ and the global marginal benefit of abatement $MB = b(a-Q)$.

$\alpha N$ countries sign an International environmental agreement (IEA). Let $q_s$ ($q_n$) denote the abatement of a signatory (nonsignatory). Since all countries that did not join the IEA are identical, $Q_n = (1-\alpha)Nq_n$. They maximize $\pi_n$ by choosing $q_n$. Again, $MB_i = MC_i$, so $b(a-Q_s-Q_n))/N = cq_n$.
$Q_n(\alpha, Q_s) = \frac{(1-\alpha)(a-Q_s)}{\gamma+1-\alpha}$

While signatories will choose $Q_s$ to maximize $\Pi_s$.
$Q_s^*(\alpha) = \frac{a \alpha^2 N \gamma }{(\gamma + 1 - \alpha)^2 + \alpha^2 N \gamma}$

Now we can substitute $Q_s^{\star}$ into $Q_n(\alpha, Q_s)$ and receive that
$Q^{\star}_n(\alpha) = \frac{a(1-\alpha)(\gamma + 1 - \alpha)}{(\gamma + 1 - \alpha)^2 + \alpha^2 N \gamma}$

It is assumed that the nonsignatory countries decision cannot affect the signatories quantities, however it is possible the other way around so that signatories are maybe some kind of stackelberg leaders(?). We tried to model this in python while relaxing the symmetry assumption and allowing for differences e.g. in the benefits from abatement between countries.

x0 = np.zeros(10)
def cooperative_abatement(N, b, c, a):
def Profit(q):
total_benefits = 0
for i in range(N):
total_benefits += -(b*(a*sum(q)-(sum(q)*2)/2))/N + (c(q[i]**2))/2
return total_benefits
return sp.optimize.minimize(Profit,x0)

Above, we defined an abatement function that includes a "profit" function with the negative benefits and the postive costs so that we can maximize for the list of quantities q. We then get 10 quantities of abatement when calling the example parameter specification of the paper:

cooperative_abatement(10, 1, 0.25, 100)

However we are then not sure it this is an appropriate way of modelling as it is for us much harder to do it for the noncooperative case in which all countries for them alone maximize their benefits minus costs. We tried to do it by summing only the costs and adding once the benefits so we have a function where for each individual quantity it can be maximized.

x0 = np.zeros(10)
def noncooperative_abatement(N, b, c, a):
def Profit(q):
total_costs = 0
for i in range(N):
total_costs += (c*(q[i]*2))/2
return total_costs -(b
(a*sum(q)-(sum(q)**2)/2))/N
return sp.optimize.minimize(Profit,x0)

This gives us the right individual noncooperative quantities but not the right profit as we now obviously take all costs into consideration, so the profits are lower.

Unfortunately, we are stuck with the programming of the Self-enforcing agreement as we now would like to maximize the profit of the nonsignatory countries (which is depending on the quantity of the signatory countries" use this optimal quantity function in the profit maximization of the signatory countries and maximize everything at the same time. While it is quite easy to solve it analytically as seen above, we are note sure how to have this double maximization from signatories and nonsignatories at the same time.

We thought about fixing first the share of countries that joins the agreement $\alpha$ and then to sum up the benefits and costs for all signatory countries containing the optimal quantity functions of the nonsignatory countries. We have also seen the n-Cournot case in the screencasts but we don't know how to translate it to our case.

Thank you very much!

Your definition of cooperative_abatement is actually too complicated. You can stick more closely to what we did in class.

For the cooperative case, we choose $Q$ to maximize $NB_i(Q)-Nc_i(Q/N)$.

In the non-cooperative case, the non-cooperative fringe chooses $Q_f(Q)$ (reaction function of the fringe to the choice Q; this is indeed a Stackelberg leader case).

Hence, start with one fringe player who does not cooperate. This is relatively simple and you can check your code.

Then consider two fringe players.

For a given level $Q_c$ set by cooperative group, player i from the fringe has benefit function $B_i(Q_c+q_jq_i)$ where j is the other firm in the fringe. For each level of $Q_c$ you can determine the "duopoly" equilibrium choice $Q_f=q_i+q_j$.

The final step is to change the cooperative benefit function to $B_i(Q+Q_f(Q))$ and then maximize this benefit minus costs as we did above.

Does this help?

Thank you very much. This helps! Fringe players in this context means players that do not cooperate right? And why are their quantities multiplied in the benefit function and not added to each other?

Indeed, the fringe does not cooperate.

That is indeed a typo; this should be: $B_i(Q_c + q_i + q_j)$; well spotted!

Alright. Thank you very much for the help and the explanations!