Skip to content

Tracking Error Optimizer

This optimization should be used when a client's portfolio has drifted away from the model portfolio assigned to the client.  The idea is to find the minimal amount of trades required to bring the portfolio within a prescribed tracking error constraint from the model.

Mathematically it is defined as:

\[\begin{array}{lll}\relax{min} \ \sum_{i} \ \ \overline{1}_{|t_{i}|} \\ \\ \relax{s.t.} && \left[ \ \relax{w}_{model} - (\relax{w}_{client} + \relax{t}) \ \right]^{T} \times \ \Sigma \ \times \left[ \ \relax{w}_{model} - (\relax{w}_{client} + \relax{t}) \ \right]\le \overline{\text{TE}}^{2}\\ \\&&\sum_{i} \relax{t}_{i} = 0 \\ \\&&\relax{t}_{i} \ge \relax{w}_{client} \\ \\ &&\relax{\small{other LCs}} \end{array}\]

Where \(\overline{1}_{|t_{i}|}\) is an indicator vector with ones when a security is traded and zeros elsewhere. By minimizing this indicator we are minimizing the amount of securities traded. This is a cardinality objective that requires a mixed-integer solver.

The constraints are:

  • Tracking error constraint:
\[\left[ \ \relax{w}_{model} - (\relax{w}_{client} + \relax{t}) \ \right]^{T} \times \ \Sigma \ \times \left[ \ \relax{w}_{model} - (\relax{w}_{client} + \relax{t}) \ \right]\le \overline{\text{TE}}^{2}\]

where \(\Sigma\) is the covariance between unique positions from model and client combined.  TE is the tracking error threshold.

  • Self financing trades:
\[\sum_{i} \relax{t}_{i} = 0\]

Purchases have to be done with proceeds from sales.

  • Long only:
\[\relax{t}_{i} \ge -\relax{w}_{client} , \forall i\]

Maximum sale for a position is the weight of the position in the portfolio.

  • Other linear constraints:

To be supplied by user as per constraint definition