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 ?

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

Thomas Cover's original paper, Universal Portfolios, explains the above equations as follows.

$$ \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.

You can find the datasets in his paper, which are readily available by search, and try to run the simulations with the data (a simple two asset example uses Iroquois Brands Ltd. and Kin Ark Corp., which are two NYSE stocks). Expect to see the weight distribution of assets change over time as the paper shows.

I created a plot below, using the two asset asset example from Cover. Notice the dynamic weights change over time as in the Fig. 8.4 of the paper I referenced. You can see that the universal portfolio clearly does not always give uniform allocation.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.