MATLAB: Backtesting portfolio asset allocation

asset allocationbacktestingportfolio optimization

Hello,
I have 4 portfolio strategies I want to backtest. The portfolio strategies come from other 2 codes I created (mean-variance and mean-ES portfolio optimization frontier). Each of these strategies are basically just the weights of five different asset classes in the portfolio(s).
I want to compare the profitability of these four strategies for the period Jan 1st 2000 to May 1st 2014 evaluating the market value of the portfolios at every 10-day interval starting from Jan 1st 2000. All this assuming that I invest 1 million USD in every portfolio and hold the portfolio for the whole period mentioned.
My question is: How can I do this?
Thanks.

Best Answer

Assume that each column in the matrix Prices contains the time series of one your asset classes. Then calculate first the returns of the asset classes.
Returns = diff(log(Prices))
Now calculate the historical portfolio returns.
PortfolioReturns = Returns * PortfolioWeights;
Now let's see what happens to your million dollars:
Portfolio = 1e6 * [1; exp(cumsum(PortfolioReturns))]
Repeat this calculation for every portfolio.