Why universal portfolio (by T.Cover) always give uniform allocation

Here I use the the open-source project Universal-Portfolio on Github https://github.com/Marigold/universal-portfolios to test the up algorithm given by T.Cover. However, I find that up algorithm always gives the (almost) uniform allocation on all assets in the portfolio for all time.

It is well known that universal portfolio is given by

$$\hat{b}_1=(\frac{1}{m},...,\frac{1}{m}), ~ \hat{b}_{k+1} = \frac{\int b S_k(b)db}{\int S_k(b)db}$$ with $$S_k(b)=\Pi_{i=1}^k b^t\cdot x_i$$ since $x_i$ is the relative performance of the portfolio on i-th day relative to (i-1)-th day, typically all elements of $x_i$ is close to one. Thus the integral $\int bS_k(b)db$, which becomes an uniform summation on all proportion $b$ will give an uniform allocation to $\hat{b}_{k+1}$. It seems nonsense. Does I misunderstand up algorithm ?

• Can you clarify the notation? What is $m$ and what is $k$? Further, the integral in the nominator seems wrong ($db$?). – muffin1974 May 18 '18 at 11:54
• Over time some stocks go up more than than others, and the portfolio will tend to overweight these, I believe. – Alex C May 18 '18 at 12:28
• yes, I have fixed the wrong notation in the integral. – JunjieChen May 22 '18 at 0:55

$$\hat{b}_1=(\frac{1}{m},...,\frac{1}{m})$$
The initial portfolio weighting, $\hat{b}_1$, is uniform over m assets. Each rebalancing step, $k$, however, will not have uniform weightings, unless all of the constant rebalanced portfolios perform the same over time. Cover states that the universal portfolio strategy is an adaptive performance weighted strategy, whereby each of the existing asset portfolio allocations will be re-weighted by the integrated and normalized wealth performance, $S_k(b)$, of all the respective constant rebalanced portfolios over the prior periods. This way, the estimated portfolio weights will redistribute more weight towards the better performing assets over time. And over a long enough time, he shows that the final portfolio wealth, $\hat{S_k}$, should asymptotically approach the best constant rebalanced portfolio wealth, $S_k^*$, (in hindsight). $$\hat{b}_{k+1} = \frac{\int b S_k(b)db}{\int S_k(b)db}$$ with $S_k(b)$ being the portfolio growth over time. $$S_k(b)=\Pi_{i=1}^k b^t\cdot x_i$$
With regards to your question about $x_i$ relative wealth being close to one at each step, be careful not to confuse $x_i$ with $S_k(b)$, in the integrand argument. Notice that $S_k(b)$ is the product of all the prior relative returns, $x_i$, multiplied by their respective portfolio weightings, or the cumulative equity growth. The equity growth, $S_k(b)$, of the assets and constant rebalanced portfolios will likely deviate far from the initial value of 1, over time.