Entropy Pooling Fundamentals
August 2026 edition of the Portfolio Construction newsletter, clarifying some Sequential Entropy Pooling (SeqEP) misconceptions.
I recently had a surreal experience with Entropy Pooling (EP) where someone made a long series of fundamentally wrong claims.
I continued the dialog with this person, after clarifying the initial wrong claims with a practical Python example, just to discover more fundamental EP misconceptions.
Somehow Entropy Pooling (EP) and Sequential Entropy Pooling (SeqEP) seem to be methods that are hard for many people to fully grasp. However, since the methods are incredibly powerful, an increasing number of people seemingly want to portray themselves as Entropy Pooling experts despite having limited experience and understanding. Therefore, you should be careful who you listen to when it comes to Entropy Pooling.
If you want a quick and intuitive introduction to Entropy Pooling, watch the video below:
Chapter 5 of the Portfolio Construction and Risk Management book gives a thorough presentation of Entropy Pooling and its nuances. Lecture 6: Entropy Pooling and Lecture 7: Sequential Entropy Pooling from the Applied Quantitative Investment Management course gives a thorough walkthrough of this chapter and its accompanying Python code.
Full relative entropy minimization problem
A misconception that revealed itself when I continued the dialogue with the person who made the initial wrong claims was that this person did not understand what is meant by “solving the full relative entropy minimization problem”. This person appeared to think that if you solve the primal problem with linear constraints on the posterior probabilities, then it was “the full problem”.
However, whether you solve the primal or the dual problem with linear constraints on the posterior probabilities, you are solving the same fundamental problem. The main difference is that the primal problem has a much higher dimension and therefore is typically much slower and less stable to solve. The remaining part of this section formally explains all this.
When we are solving the Entropy Pooling problem, we find the solution of
The above is a convex objective with a convex set of constraints. Hence, the problem is an instance of convex programming, solved in a fast and stable way by this Python code.
The issue with the primal formulation is that it is very high dimensional. Typically, we have S=10000 paths or scenarios.
Hence, the original suggestion is to solve the dual problem given by
where
and then recover the solution to the primal problem through
You can read about all the details in Chapter 5 of the Portfolio Construction and Risk Management book, and you can find Python code that performs these computations here.
The main point is that no matter if we solve the dual or the primal problem, it is the same posterior probabilities that we find. The dual is simply more convenient and efficient for us to solve in this case. Hence, just because someone solves the primal problem, they do not solve “the full relative entropy minimization problem”.
The full relative entropy problem would allow us to formulate the view constraints as non-linear functions of the posterior probabilities
However, this problem is very hard to solve in practice in a fast and stable way. This is the reason that the original Entropy Pooling is formulated with linear constraints on the posterior probabilities, i.e., because we can solve it in a fast and stable way.
Note that we can formulate constraints as non-linear functions of the market, but it must be done in a way where the view is linear in the posterior probabilities. For example, a variance view is given by
The original Entropy Pooling suggestion is to fix the mean parameter to the prior value when formulating the variance view. However, this can introduce some strong implicit views. Therefore, Sequential Entropy Pooling (SeqEP) was developed to overcome this issue.
The purpose of Sequential Entropy Pooling (SeqEP) is to approximate the full relative entropy minimization problem better than the original EP suggestion. This is also what we experience in practice, where the relative entropy typically becomes much lower when we use SeqEP compared to EP.
Hopefully, the above clarifies some fundamental misconceptions about the Entropy Pooling dual problem and SeqEP. If you want to study all of the above carefully, see Chapter 5 of the Portfolio Construction and Risk Management book.
Popular posts recap
Below is a popular Notes recap since the previous newsletter.
Simulating high-dimensional markets with Time- and State-Dependent Resampling:
Portfolio optimization with consistent parameter uncertainty for derivative portfolios:
Case study with the important point on focusing on the ratio between the tail risk and return:
Python example debunking false CVaR Entropy Pooling view claims:








