1. Craft an all-weather portfolio. Pick your own portfolio of stocks following an investment theme that has stood and will stand the test of time. Extract the data from Yahoo Finance/Refinitiv/any other platforms and explore the statistical distribution of each stock's past 5-year returns.
2. Build an equally-weighted all-weather portfolio of your stock picks. Then, deep dive into the return characteristics of the portfolio (i.e., annualized portfolio return and volatility, portfolio's Sharpe ratio, portfolio's daily return profile - mean, volatility, skewness, kurtosis). Finally, draw the cumulative return of your all-weather portfolio for the past five years.
3. Repeat (2) but with the maximum Sharpe portfolio and minimum volatility portfolio.
4. [Optional Bonus] With PyPortfolioOpt, how can you further improve your all-weather portfolio construction?
Hint: The Black-Litterman model (https://pyportfolioopt.readthedocs.io/en/latest/BlackLitterman.html) to express subjective views and L2 regularisation to alleviate extreme portfolio allocation (i.e., weights).