I am new to the world of investing, so please excuse the clumsy wording of the question... there is probably a better term for what I am looking for or maybe this is even a known/classic problem. If so, please kindly point me in the right direction ;-)
Motivation
Investment strategies are compared against "the market", which is usually some weighted index of some / all securities in a given universe. However, the choice of market portfolio is somewhat arbitrary when it can be defined by the investor. A comparison of the alpha / performance of two investors' strategies could be quite difficult when one investor benchmarks her strategy against market portfolio A, while another benchmarks it against market portfolio B.
Thinking about this problem I ended up with the following idea: Why not compare every strategy against the hypothetical optimal return that could be achieved within the relevant universe and time frame if one had a crystal ball, i.e. by magically buying / selling the combination of securities that would lead to maximum return?
For each set of investment constraints, there is (usually) only one such optimal strategy and thus the "Crystal Ball Return" would be the ideal reference for objective comparisons of investment strategies.
The Problem
For the sake of simplicity let's assume we have a universe that consists of n
stocks (with end-of-day prices) and are looking at an investment time frame of d
trading days. We're investing a pre-defined amount of money m
(enough to buy at least one of each stock) and there is small but non-negligible fee f
for every transaction. We can change the portfolio (buy/sell stocks) once a day, but we don't have to. All returns are compounded.
UPDATE: To keep it simple (and the returns bounded), short selling is not allowed.
My question is:
How does one efficiently calculate the sequence of buy/sell actions that leads to the maximum possible return?
To me this smells like dynamic programming, however, maybe I am missing something. The problem formulation seems so commonplace that I'm hoping there is a seminal paper / solution you can point me to.
If you provide a solution, please try to give some indication of its time / space complexity. Thank you.
Note: On first thoughts, fees seem to be a necessary constraint, since without them the optimal strategy would simply be to move all the money on a daily basis into the stock that's growing the most.