Stochastic Programming - Multistage Portfolio Optimization

Multistage Portfolio Optimization

We now present an example from finance of multi-stage stochastic programming. Suppose that at time we have initial capital to invest in assets. Suppose further that we are allowed to rebalance our portfolio at times but without injecting additional cash into it. At each period we make a decision about redistributing the current wealth among the assets. Let be the initial amounts invested in the n assets. We require that each is nonnegative and that the balance equation should hold.

Consider the total returns for each period . This forms a vector-valued random process . At time period, we can rebalance the portfolio by specifying the amounts invested in the respective assets. At that time the returns in the first period is realized so it is reasonable to use this information in the rebalancing decision. Thus, the second-stage decisions, at time, are actually functions of realization of the random vector, i.e., . Similarly, at time the decision is a function of the available information given by the history of the random process up to time . A sequence of functions, with being constant, defines an implementable policy of the decision process. It is said that such policy is feasible if it satisfies the model constraints with probability 1, i.e., the nonnegativity constraints, and the balance of wealth constraints,


\sum_{i=1}^{n}x_{it}(\xi_{}) = W_t,

where in period the wealth is given by


W_t = \sum_{i=1}^{n}\xi_{it} x_{i,t-1}(\xi_{}),

which depends on the realization of the random process and the decisions up to time .

Suppose the objective is to maximize the expected utility of this wealth at the last period, that is, to consider the problem


\max E.

This is a multistage stochastic programming problem, where stages are numbered from to . Optimization is performed over all implementable and feasible policies. To complete the problem description one also need to define the probability distribution of the random process . This can be done in various ways. For example, one can construct a particular scenario tree defining time evolution of the process. If at every stage the random return of each asset is allowed to have two continuations, independent of other assets, then the total number of scenarios is .

In order to write dynamic programming equations, one can consider the above multistage problem backward in time. At the last stage, a realization of the random process is known and has been chosen. Therefore, one need to solve the following problem


\begin{array}{lrclr}
\min\limits_{x_{T-1}} & E}] & \\
\text{subject to} & W_T &=& \sum_{i=1}^{n}\xi_{iT}x_{i,T-1} \\ &\sum_{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\
		 & x_{T-1} &\geq& 0
\end{array}

where denotes the conditional expectation of given . The optimal value of the above problem depends on and and is denoted .

Similarly, at stages, one should solve the problem


\begin{array}{lrclr}
\min\limits_{x_{t}} & E})|\xi_{}] & \\
\text{subject to} & W_{t+1} &=& \sum_{i=1}^{n}\xi_{i,t+1}x_{i,t} \\ &\sum_{i=1}^{n}x_{i,t}&=&W_{t}\\
		 & x_{t} &\geq& 0
\end{array}

whose optimal value is denoted by . Finally, at stage, one solves the problem


\begin{array}{lrclr}
\min\limits_{x_{0}} & E})] & \\
\text{subject to} & W_{1} &=& \sum_{i=1}^{n}\xi_{i,1}x_{i0} \\ &\sum_{i=1}^{n}x_{i0}&=&W_{0}\\
		 & x_{0} &\geq& 0
\end{array}

Read more about this topic:  Stochastic Programming