Backtesting portfolio asset allocation

1 view (last 30 days)
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.

Accepted Answer

Roger Wohlwend
Roger Wohlwend on 29 Jul 2014
Edited: Roger Wohlwend on 29 Jul 2014
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.
  2 Comments
civs
civs on 29 Jul 2014
Hi Roger,
Thank you for your answer. I actually have the matrix of returns already. It is a 3740 x 5 matrix with every column (from 2 to 6) representing the returns of an asset class. The first column (1) has the dates.
But how do I make sure that I get the market value of every portfolio strategy every 10 days? I am assuming the investor bought these portfolios and held them until the end of the period, and there were no withdrawals during the period.
Roger Wohlwend
Roger Wohlwend on 30 Jul 2014
Assuming you have daily data, just take every tenth data point.

Sign in to comment.

More Answers (0)

Categories

Find more on Portfolio Optimization and Asset Allocation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!