Quadratic Transaction Costs in Certainty-Equivalent Portfolio Rebalancing
Summary
The document formulates a mean–variance portfolio choice problem in which moving from current weights to new weights incurs a quadratic transaction cost. It expresses the certainty-equivalent objective using expected returns, covariance risk, and risk aversion, then rewrites the decision in terms of a weight change constrained to sum to zero. The resulting quadratic optimization can be solved with first-order conditions and a Lagrange multiplier for the budget constraint.
The central lesson is an algebra correction: the multiplier-adjusted term in the proposed optimal weight-change expression must be a scalar projection, not the matrix expression that led the questioner to conclude rebalancing is always zero. The responses provide a closed-form route through the KKT conditions, though one answer differs in the factor applied to the quadratic term and gradient. The setup also assumes the stated quadratic cost and mean–variance model; it does not address constraints such as long-only weights or provide empirical tests.
Key ideas
- Quadratic trading costs add a penalty on the difference between new and current portfolio weights.
- The rebalancing problem can be expressed as a constrained quadratic optimization over weight changes.
- A Lagrange multiplier enforces that the weight changes sum to zero.
- The corrected solution includes a scalar constraint adjustment, so the proposed derivation does not imply that rebalancing always vanishes.
- The result depends on the mean–variance objective and the specified transaction-cost model.
Tags
Full text
# Maximum Certainty Equivalent Portfolio with Transaction Costs
# Maximum Certainty Equivalent Portfolio with Transaction Costs
Out of curiosity I tried to compute the portfolio weights of a maximum certainty equivalent allocation, however, by incorporating (quadratic) transaction costs. However, my result is not as intuitive as I thought =( I would be happy for each and every hint to solve this problem:
Let the parameters of the return distribution be $\Sigma$ and $\mu$. The current allocation vector is $\omega_c$. The risk aversion factor of the investor is defined as $\gamma$. When shifting his wealth to allocation $\alpha$, the investor pays a fee of the form $T = c(\alpha - \omega_c)'(\alpha - \omega_c)$ with some parameter $c$, therefore transaction costs increase quadratically by factor $c$. Therefore, at time point $t+1$ the investor expects the portfolio returns to be $$\mu_\text{PF} = \alpha'\mu - T(\alpha,\omega_c)$$ and the corresponding variance of the portfolio $$\sigma^2_\text{PF} = \alpha'\Sigma\alpha.$$ In one line, the allocation is chosen as the solution to the maximization problem $$\alpha^* = \arg \max _{\sum \alpha = 1} \alpha'\mu - T(\alpha,\omega_c) - \frac{\gamma}{2}\alpha'\Sigma\alpha.$$ Equivalently, we have: $$\alpha^* = \omega_c + \arg \max _{\sum \Delta = 0} (\omega_c+\Delta)'\mu - c\Delta'\Delta - \frac{\gamma}{2}(\omega_c+\Delta)'\Sigma(\omega_c+\Delta).$$ $$ \Delta^* = \arg \max _{\sum \Delta = 0} \underbrace{\omega_c '\mu - \frac{\gamma}{2}\omega_c'\Sigma\omega_c}_{CE(\omega_c)} +\Delta'\mu - c\Delta'\Delta - \frac{\gamma}{2}\Delta'\Sigma\Delta - \gamma \Delta'\Sigma\omega_c.$$ $$ \Delta^* = \arg \max _{\sum \Delta = 0} \Delta'\mu - \Delta'\underbrace{(c I + \frac{\gamma}{2}\Sigma)}_{:=A}\Delta - \gamma \Delta'\Sigma\omega_c.$$
The first-order conditions take the form: $$\mu - 2A\Delta - \gamma \Sigma\omega_c -\lambda\iota= 0$$ $$ \iota ' \Delta = 0$$ It follows that $$A^{-1} (\mu-\gamma \Sigma \omega_c - \lambda \iota) = 2\Delta$$ Evaluating $\iota'\Delta = 0$ with $\Delta$ as above results in $$\lambda = \frac{1}{\iota' A^{-1}\iota}\iota'A^{-1}[\mu - \gamma \Sigma \omega_c]$$ Plug-in gives $$\Delta = A^{-1} (I - \frac{1}{\iota'A^{-1}\iota} \iota' A^{-1}\iota) (\mu-\gamma \Sigma \omega_c ) = 0\iota.$$ In other words, no matter how sub-optimal the current allocation and irrespective of the sice of $c$, there will never be any rebalancing. I do not believe this result but I also do not see the mistake in my computations. Anyone an idea, where did I miss something/ did something wrong?
## Answer by krise (score 6, accepted)
https://quant.stackexchange.com/a/30550
Seems like a small mistake in the last equation. It should read
$\Delta^* = A^{-1} \left[\mu-\gamma \Sigma \omega_c - \frac{1}{\iota'A^{-1}\iota} \iota' A^{-1}(\mu-\gamma \Sigma \omega_c )\iota\right]$,
which is not equivalent to your result.
## Answer by Quantuple (score 4)
https://quant.stackexchange.com/a/30551
You would like to solve the following optimisation problem:
\begin{gather} \Delta^* = \arg \max_\Delta \Delta^T\mu - \Delta^T A \Delta - \gamma \Delta^T \Sigma\omega_c\\ \text{subject to:}\quad \Delta^T \mathbf{1} = 0 \end{gather}
Build the Lagrangian $$ \mathcal{L}(\Delta,\lambda) = \Delta^T\mu - \Delta^T A \Delta - \gamma \Delta^T \Sigma\omega_c - \lambda(\Delta^T \mathbf{1}) $$
First order KKT conditions then yield:
$$\partial_\Delta \mathcal{L}(\Delta^*,\lambda^*) = \mu - A\Delta^* - \gamma\Sigma\omega_c - \lambda^*\mathbf{1} = \mathbf{0} \tag{1}$$
along with $\partial_\lambda \mathcal{L}(\Delta^*,\lambda^*)=0$ (which is precisely the constraint equation)
$(1)$ is equivalent to writing $$ \Delta^* = A^{-1}(\mu-\lambda^*\mathbf{1} - \gamma\Sigma\omega_c) \tag{2}$$
Plugging this into the constraint equation then gives: \begin{align} &(\mu-\lambda^*\mathbf{1} - \gamma\Sigma\omega_c)^T(A^{-1})^T \mathbf{1} = 0 \\ &\mu^T (A^{-1})^T \mathbf{1} -\lambda^*\mathbf{1}^T (A^{-1})^T \mathbf{1} -\gamma\omega_c^T\Sigma^T (A^{-1})^T \mathbf{1} = 0 \end{align} Noting that $A := \frac{\gamma}{2}\Sigma + cI$ is symmetric, i.e. $(A^{-1})^T = A^{-1}$ further yields, as you mention: $$ \lambda^* = \frac{1}{\mathbf{1}^T A^{-1} \mathbf{1} } \mathbf{1}^T A^{-1} (\mu -\gamma \Sigma \omega_c ) \tag{3}$$ Plugging $(3)$ into $(2)$ finally gives: $$ \Delta^* = A^{-1}\left( \mu - \gamma\Sigma\omega_c - \frac{1}{\mathbf{1}^T A^{-1} \mathbf{1} } \mathbf{1}^T A^{-1} (\mu -\gamma \Sigma \omega_c ) \mathbf{1} \right) $$Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.