I would like to take the opportunity to ask for your help on an assignment I'm trying to complete.

For this 'Modern Robo Advisory' course we are asked to solve a (target) goal-based investment challenge in Python which consists in finding the optimal mix (weights) of securities 1 and 2 (securities 1: bonds & 2: structured notes) to achieve at least 10% of returns after 3,4 and 5 years using Mean-Variance Optimization (MVO).

We were given two 1824 (trading days) X 2000 (columns of the security) data sets which are 5 years of daily returns. The column of the data set of bonds and the data set of structured notes are to be taken together as a simulated 2-asset portfolio scenario.

My question is the following: I know how to run an MVO on 2 or more assets with historical returns and find out which is the optimal weight mix to achieve a given % of returns. But in this case, I cannot seem to wrap my head around as to how I would go about running an MVO on 2000 pairs of assets and then deduce the optimal mix of weights.

Thanks in advance for your help

  • $\begingroup$ Hello @Mehdi and welcome to SE. Could you explain what you did here and where you are stuck exactly? Does the problem lie in your understanding of the theory (how to do it for n assets) or more in the technicalities (doing it in Python)? $\endgroup$ – byouness May 15 '18 at 9:01
  • $\begingroup$ Hi @byouness, thanks for your reaction and thank you. Well actually I found some codes online that can generate an Efficient Frontier for multiple assets. Personally I got as far as creating the annual returns and the covariance matrix of the 2000 simulated bonds and structured notes (so again, 2 2000X1824 matrices). Maybe my problem lies both in the understanding of how to do it for n simulations of n assets and the coding part. I hope this clarifies a bit. $\endgroup$ – Mehdi May 15 '18 at 11:34
  • $\begingroup$ Ok @byouness, I think I understand my mistake in thinking about this. The 2 X 2000 simulations of 1824 returns should be averaged across and leave me with 2 vectors of 1824 returns (expected returns of the 2000 simulations) and I should perform MVO on these 2. $\endgroup$ – Mehdi May 15 '18 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.