/portfolio-optimisation-using-factors

Build a statistical risk model using PCA. Use this model to build a portfolio along with 5 alpha factors. Evaluate alpha-factors using factor-weighted returns, quantile analysis, sharpe ratio, and turnover analysis. Optimize the portfolio using the risk model and alpha factors using multiple optimization formulations.

Primary LanguageJupyter Notebook

Portfolio Optimisation Using Factors

Part of the Udacity nanodegree - AI for Trading

Workings in jupyter notebook portfolio_optimisation.ipynb

Workflow:

  • Build statistical risk model using PCA with 20 factor exposures
  • Use the risk model to predict portfolio risk on an equal weighted portfolio
  • Generate five alpha factors: momentum, overnight sentiment (+smoothed), and mean-reversion (+smoothed)
  • Evaluate factors with: factor return, quantiles, turnover analysis and sharpe-ratios
  • Combine alphas into a single alpha-vector
  • Build three versions of the optimal porfolio using a common set of 5 groups of constraints
    • Weights that maximise alpha (results in a highly concentrated portfolio)
    • A regularised version of the above that penalises high turnover (results in more diversification)
    • One that minimises tracking error from the ideal alpha-maximising porfolio weights (this one resulted in the most diversified porfolio and also had the lowest net-risk-factor exposures)