Assignment - Mean Variance Portfolio Selection Strategies
Introduction -
The purpose of this assignment is to compare computational investment strategies based on minimizing portfolio variance and maximizing Sharpe ratio. You will need to take into account the effect of trading costs.
Questions -
1. Implement investment strategies in MATLAB:
You need to test four portfolio re-balancing strategies:
1. Buy and hold" strategy: it is the simplest strategy where you hold initial portfolio for the entire investment horizon of 2 years. The strategy is already implemented in the function strat_buy_and_hold.
2. Equally weighted" (also known as "1/n") portfolio strategy: asset weights are selected as wti = 1/n, where n is the number of assets. You may need to re-balance your portfolio in each period as the number of shares xti changes even when wti = 1/n stays the same in each period. The strategy should be implemented in the function strat_equally_weighted.
3. "Minimum variance" portfolio strategy: compute minimum variance portfolio for each period and re-balance accordingly. The strategy should be implemented in the function strat_min_variance.
4. "Maximum Sharpe ratio" portfolio strategy: compute a portfolio that maximizes Sharpe ratio for each period and re-balance accordingly. The strategy should be implemented in the function strat_max_Sharpe.
Design and implement a rounding procedure, so that you always trade (buy or sell) an integer number of shares.
Design and implement a validation procedure in your code to test that each of your strategies is feasible (you have enough budget to re-balance portfolio, you correctly compute transaction costs, funds in your cash account are non-negative).
There is a file portf optim.m on the course web-page. You are required to complete the code in the file.
Your MATLAB code should use only CPLEX optimization solver. Make commenting of your code for important logics.
2. Analyze your results:
Produce the following output for the 12 periods (years 2015 and 2016):
Period 1: start date 1/2/2015, end date 2/27/2015
Strategy "Buy and Hold", value begin = $ 1000002.12, value end = $ 1043785.08
Strategy "Equally Weighted Portfolio", value begin = ... , value end = ...
...
Period 12: start date 11/1/2016, end date 12/30/2016
Strategy "Buy and Hold", value begin = $ 1077523.53, value end = $ 1173675.24
Strategy "Equally Weighted Portfolio", value begin = ... , value end = ...
Plot one chart in MATLAB that illustrates the daily value of your portfolio (for each trading strategy) over the years 2015 and 2016 using daily prices provided. Include the chart in your report.
Plot two charts in MATLAB for strategy 3 and 4 to show dynamic changes in portfolio allocations. In each chart, x-axis represents the rolling up time horizon, y-axis denotes portfolio weights between 0 and 1, and distinct lines display the position of selected assets over time periods. You may use these figures to support your analysis or discussion.
Compare your trading strategies and discuss their performance relative to each other. Which strategy would you select for managing your own portfolio and why?
3. Discuss possible improvements to your trading strategies:
Test your MATLAB program for different variations of your strategies, e.g., select "1/n" portfolio at the beginning of period 1 and hold it till the end of period 12 (as if the rebalancing strategy required large transaction costs). Discuss if you are able to achieve better results.
Can you suggest any improvements of the trading strategies that you have implemented?
Attachment:- Assignment Files.rar