Replacing ESG portfolio tilts with optimization

How our proprietary portfolio optimizer improves upon the industry standard approach


With Direct Indexing (DI), instead of buying a fund that tracks a stock index (such as an index ETF), we buy the individual stocks. DI can increase after-tax returns through tax loss harvesting. Another benefit, which is not applicable just to taxable accounts, is the ability to customize a portfolio for Environmental, Social, and Governance (ESG) concerns1. For example, a client may want to decrease holdings in high-carbon-footprint stocks relative to the weights in the index being tracked2


The industry standard approach to improve the ESG score of a portfolio is to “tilt” the weights of stocks relative to their weight in the index. For example, if Chevron is 4% of the index, we reduce the target percentage, but not so much as to cause too much tracking error – so perhaps we settle on 3%. In general, index constituents are tilted up (for “good” stocks) or down (for “bad” stocks) as needed, the total is normalized to add up to 100%, which effectively creates a new custom index. The tilt can also vary so that “somewhat bad” stocks get affected less than “very bad” ones3.

Tilts have a simple qualitative explanation: “we bought less of this undesirable stock“. They also work with simple (non-optimization-based) software: you can do a regular portfolio rebalance on this new custom tilted index. Finally, tilts work well enough if we can actually get to a portfolio that resembles the tilted one.

However, that is not always possible for several reasons. Perhaps we cannot sell the overweight stocks (or buy the underweight ones) because we want to avoid wash sales or capital gains. This can be a problem when we combine DI with tax-loss harvesting, which results in more trading, and hence more situations where wash sales and capital gains must be avoided.

Sidebar – optimization

Optimization is, at its core, a rigorous way to evaluate tradeoffs between goals that may conflict. Our software currently (Jan. 2021) supports 5 such goals:

  • Tracking: the portfolio should be similar4 to a target.
  • Tax: avoid realizing capital gains; attempt to realize capital losses.
  • Transaction cost: reduce trading, and prefer trading securities that are cheaper to trade.
  • Holding cost: e.g. prefer holding ETFs with lower expense ratios.
  • ESG: prefer higher portfolio-wide (i.e. weighted by holdings) ESG scores.

ESG “goals”: an improvement over tilts

Clients care about the portfolio-level ESG scores. Their specific stock-level holdings are only a means to that end. Of course, one coarse way to reduce carbon footprint of the entire portfolio is to tell the system to reduce each high-carbon-footprint stock. However, it is not the same.

Extending our food analogy, if adding an ESG goal to portfolio optimization is like making a meal with the best combination of cost and healthiness, tilts are like instructions to use half as much ham and ranch dressing. Tilts sound right, and usually push outcomes in the right direction, but they do not directly address the high-level goal. This can result in suboptimal outcomes that are not intuitive to foresee.


Say both Chevron (CVX) and Exxon Mobil (XOM) both have a target of 4%, but have been tilted down to a target of 3% because they both have a high carbon footprint. Assume there are only two choices5:

  1. 2.6% CVX, 3.4% XOM
  2. 3.0% CVX, 3.0% XOM

A simple approach that uses tilts would always prefer #2: CVX is underweight its tilted target of 3%, and XOM is overweight its tilted target of 3%. Of course, CVX and XOM are both underweight their original (untilted) target of 4%, so intuitively #1 and #2 should be equally desirable6.

One may say “OK, the system really prefers one of the two portfolios, but they are equivalent, so I don’t care in the end.” However, the problem becomes more evident in the presence of other – possibly conflicting – portfolio goals. Take a situation where it is actually preferable to move from #2 to #1, such as realizing a loss by selling CVX from 3% to 2.6%, and buying XOM instead, to 3.4% of the total portfolio. Compared to their respective targets of 4%, CVX would become more underweight, but XOM would become less underweight, so the effect on tracking would roughly balance out.

The optimization approach would say “tracking doesn’t really change, and the tax outcome is better, so let’s trade”. With tilts, even if a sophisticated optimization system were to be used (vs. a simple rules-based “rebalancer”), the system would think that improving the tax situation would also increase the expected tracking error, and (erroneously) avoid trading.


Our proprietary portfolio optimizer, developed over the last 5 years, allows ESG scores to be considered alongside other portfolio goals. This is a more natural way to specify how much a client cares about maximizing a specific ESG score. It also results in better investing outcomes, especially in situations where the best achievable portfolio cannot get too close to the ideal.


  1. Socially Responsible Investing (SRI) typically reflects a client’s personal values, whereas ESG focuses on objective aspects, such as having a cybersecurity policy. This distinction is not relevant in this post.
  2. This post focuses on portfolios that track a stock index, but the approach discussed can apply to any portfolio target.
  3. Exclusion filters are also common: instead of holding less of a “bad” stock, the client may want to hold none of it. However, they are effectively an extreme tilt (all the way down to zero), so we will not discuss them here. 
  4. We actually further break down tracking to cover two interpretations of ‘similar’: ‘looks similar’ (adheres to the nominal target percentages) and ‘has similar behavior’ (has similar factor exposures as per a factor-based risk model).
  5. We assume this to simplify the example; normally, there will be infinite possible portfolios. In this case, if both 3%/3% and 2.6%/3.4% are possible, then e.g. 2.9%/3.1% will also be possible, as will 2.8%/3.2%, etc.
  6. In practice, the misallocation penalties may not be linear (proportional): in our system, they increase faster as we move further away we go from the target. The idea is that we don’t care as much about 4% becoming 3.5% (e.g. due to price movement) as much as we care about 3.5% becoming 3% (which means we’re really starting to drift). The shape of the misallocation penalty function is highly customizable in our system. This detail does not invalidate our main argument, though.

Author: Rowboat Advisors

Rowboat Advisors builds software for sophisticated and fully automated portfolio management for the financial advisor industry.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s