Are Your Portfolio Weights Right?

What do portfolio managers even get paid for? The claim that they don’t beat the market is usually qualified by “once you deduct the cost of management fees”. So, managers are doing something and you pay them for it. One thing that a manager does is determine the value-weights of the assets in your portfolio. They’re deciding whether you should carry a bit more or less exposure to this or that. This post doesn’t help you predict the future. But it does help you to evaluate your portfolio’s past performance (whether due to your decisions or the portfolio manager).

Imagine that you had access to all of the same assets in your portfolio, but that you had changed your value-weights or exposures differently. Maybe you killed it in the market – but what was the alternative? That’s what this post measures. It identifies how your portfolio could have performed better and by how much.

I’ve posted several times recently about portfolio efficient frontiers (here, here, & here). It’s a bit complicated, but we’d like to compare our portfolio to a similar portfolio that we could have adopted instead. Specifically, we want to maximize our return given a constant variance, minimize our variance given a constant return or, if there are reallocation frictions, we’d like to identify the smallest change in our asset weights that would have improved our portfolio’s risk-to-variance mix.

I’ll use a python function from github to help. Below is the command and the result of analyzing a 3-asset portfolio and comparing it to what ‘could have been’.

Continue reading

Portfolio Efficient Frontier Parabolics

Previously, I plotted the possible portfolio variances and returns that can result from different asset weights. I also plotted the efficient frontier, which is the set of possible portfolios that minimize the variance for each portfolio return.* In this post, I elaborate more on the efficient frontier (EF).

To begin, recall from the previous post the possible portfolio returns and variances.

From the above the definitions we can see that the portfolio return depends on the asset weights linearly and that the variance depends on the asset weights quadratically because the two w terms are multiplied. Since the portfolio return can be expressed as a function of the weights, this implies that the variance is also a quadratic function of returns. Therefore, every possible portfolio return-variance pair lies on a parabola. So, it follows that every pair along the efficient frontier also lies on a parabola. Not every pair lies on the same parabola, however – the efficient frontier can be composed on multiple parabolas!

I’ll use the same 3 possible assets from the previous post, below is the image denoting the possible pairs, the EF set, and the variance-minimizing point.

One way to find the EF is to calculate every possible portfolio variance-return pair and then note the greatest return at each variance. That’s a discrete iterative process and it definitely works. One drawback is that as the number of assets can increase the number of possible weight combinations to an intractable number that makes iterative calculations too time consuming. So, we can instead just calculate the frontier parabolas directly. Below is the equation for a frontier parabola and the corresponding graph.

Notice that the above efficient frontier doesn’t appear quite right. First, most obviously, the portion below the variance-minimizing return is inapplicable – I’ve left it to better illustrate the parabola. Near the variance-minimizing point, the frontier fits very nicely. But once the return increases beyond a certain level, the frontier departs from the set of possible portfolio pairs. What gives? The answer is that the parabola is unconstrained by the weights summing to zero. After all, a parabola exists at the entire domain, not just the ones that are feasible for a portfolio. The implication is that the blue curve that extends beyond the possible set includes negative weights for one or more of the assets. What to do?

As we deduced earlier, each pair corresponds to a parabola. So, we just need to find the other parabolas on the frontier. The parabola that we found above includes the covariance matrix of all three assets, even when their weights are negative. The remaining possible parabolas include the covariance matrices of each pair of assets, exhausting the non-singular asset portfolios. The result is a total of four parabolas, pictured below.

Continue reading

Optimal Portfolio Weights

All of us have assets. Together, they experience some average rate of return and the value of our assets changes over time. Maybe you have an idea of what assets you want to hold. But how much of your portfolio should be composed of each? As a matter of finance, we know that not only do the asset returns and volatilities differ, but that diversification can allow us to choose from a menu of risk & reward combinations. This post exemplifies the point.

1) Describe the Assets

I analyze 3 stocks from August 1, 2024 through August 1, 2025: SCHG (Schwab Growth ETF), XLU (Utility ETF), and BRK.B (Berkshire Hathaway). Over this period, each asset has an average return, a variance, and  co-variances of daily returns. The returns can be listed in their own matrix. The covariances are in a matrix with the variances on the diagonal.

The return of the portfolio that is composed of these three stocks is merely the weighted average of the returns. In particular, each return is weighted by the proportion of value that it initially composes in the portfolio. Since daily returns are somewhat correlated, the variance of the daily portfolio returns is not merely equal to the average weighted variances. Stock prices sometimes increase and decrease together, rather than independently.

Since the covariance matrix of returns and the covariance matrix are given, it’s just our job to determine the optimal weights. What does “optimal” mean? This is where financiers fall back onto the language of risk appetite. That’s hard to express in a vacuum. It’s easier, however, if we have a menu of options. Humans are pretty bad at identifying objective details about things. But we are really good at identifying differences between things. So, if we can create a menu of risk-reward combinations, then we’re better able to see how much a bit of reward costs us.

2) Create the Menu

In our simple example of three assets, we have three weights to determine. The weights must sum to one and we’ll limit ourselves to 1% increments. It turns out that this is a finite list. If our portfolio includes 0% SCHG, then the remaining two weights sum to 100%. There are 101 possible pairs that achieve that: (0%, 100%), (1%,99%), (2%,98%), etc. Then, we can increase the weight on SCHG to 1% for which there are 100 possible pairs of the remaining weights: (0%,99%), (1%, 98%), (2%, 97%), etc. We can iterate this process until the SCHG weight reaches 100%. The total number of weight combinations is 5,151. That means that there are 5,151 different possible portfolio returns and variances. The below figure plots each resulting variance-return pair in red.

Continue reading