An efficient mechanism for carbon trading

Here’s a simple mechanism for formulating a carbon-trading market. This won’t be the fanciest thing ever, but it is efficient (defined in a very precise way) and guarantees a cap on total emissions into the infinite future, provided cheating the mechanism isn’t possible.

Primary market pricing

Our goal is to limit total carbon emissions, to, say, \(A\) tons of carbon. Each time period \(t \in \mathbb{N}\) people want to emit carbon, and so we have the natural condition that \(\sum_{t = 0}^{\infty}A_t = A\) as the restriction of the amount of carbon that can be emitted in each time period \(A_t\). Now, if we impose the condition that in each time period there will be precisely \(n\) contracts traded, and that each contract expires at the end of its issued time period, then we can rewrite this condition as

so that the optimization problem can actually be formulated on a per-contract basis with the constraint that \(\sum_{t = 0}^{\infty}a_t = a\). We suppose that each contract amount of carbon \(a_t\) causes some cost \(c_t\) to the planet and society of the form \(c_t = f(a_t)\). Our objective will be to minimize the economic cost associated with the primary sale of carbon emissions contracts on a per-unit-cost basis; that is, if \(p_t \) is the primary sale price of a contract to emit \(a_t\) units of carbon, we require that \(p_t\) has units so that \(p_t c_t\) has units of dollar (or whatever other currency you prefer). It is thus clear that our optimization problem is

where \(b_t\) is a discounting function; we convert the dollar cost of purchasing future contracts into their net present value. Substituting our functional relationship between carbon emitted and social cost, we seek to find \(p_t\) such that

We find that the optimal primary market price is given by

The parameter \(\lambda\) cannot be found in terms of \(a_t\) explicitly and we will treat it as a policy parameter below. For a concrete example of this optimum, assume a rational discount function (assumptions!) given by \(b_t = e^{-t}\) and a quadratic social cost \(c_t = a_t^2\). The optimal primary market price is then given by \( p_t = \lambda e^{t} a_t^{-1} \). A heuristic understanding of why \(\lim_{a_t \rightarrow 0^+}p_t(a_t) = +\infty\) is possible with simple price theory; if demand is essentially perfectly inelastic (at least, for a long amount of time), a decreasing amount of \(a_t\) will naturally lead to large upward price movement.

Primary market sale

I’m not an expert in auction theory, so I’ll propose two simple (and possibly simplistic) ways of auctioning emissions permits in the primary market using this scheme.

  1. Fix the parameter \(\lambda = \lambda_t\) every time period and randomly select \(n\) out of \(m_t\) market participants to pay the amount \(p_t = \lambda_t \left(b_t \frac{df}{da_t} \right)^{-1}\). In this scenario, each market participant signs a contract acknowledging that they are willing to purchase a single contract at \(p_t\), but understand that they may not be selected to purchase the contract. While analytically pleasant, this mechanism is unlikely to work in practice as it relies on the assumption that each market participant is constrained to purchase only one contract per time period–an unlikely condition for, say, a large manufacturer.
  2. Let \(\lambda\) float and have an open market auction. This is the more practical approach and allows for price discovery beyond the fixed part of the price. This will, however, introduce monopoly concerns.

In a realistic case, one might implement a modified version of the second of these two strategies as follows. There would be income tranches \(y_1,…,y_n\) and price multiplier caps on all tranches below \(n\) above which permits could not trade. The highest tranche would be for the “major-league” players and would have no price cap; it would be a true open auction.

These mechanisms don’t address trading issues inherent in the secondary market; I’ll have to come back to that.

Written on July 19, 2017