In the presence of a large number of stocks, we examine the problem of computation of a constant rebalanced portfolio that would have made the most wealth on a given sequence of stock returns. A greedy algorithm is presented in which at each step either a new stock is added to the portfolio or the relative weight given to an already included stock is adjusted. We prove that the algorithm computes a portfolio that approaches the maximum wealth portfolio, with drop from the maximal exponent bounded by v/k where v is an empirical volatility and k is the number of steps of the algorithm. Empirically we find that out of thousands of available stocks, only a handful are needed to come close to the maximum wealth constant rebalanced portfolio of all publicly available stocks. This theory provides the basis for a universal portfolio strategy that mixes across subsets of stocks. It provides a sequence of portfolios that evolve in time, and for any T time periods acheives a wealth exponent that drops from the maximum by not more than the square root of V(log M)/T. The relationship of this to past work by Cover and Ordentlick and by Hembolt and Warmuth is discussed.