PortfolioAnalytics is an R package for portfolio optimization with a modular design that lets you mix and match constraints, objectives, and solvers. You define assets, add constraints and objectives, run the optimization, and analyze results. Custom moment functions and objective functions give you flexibility beyond preset problem types.
Chapters
Portfolio analytics was designed specifically to address the problems discussed in the previous video and exercises. Key components of the architecture of Portfolio analytics are modularity and flexibility. The multiple types and modularity of constraints and objectives allow you to add, remove, and combine multiple constraint and objective types very easily. An objective function can be defined as any valid R function. This means that you are not limited to a specific type or set of problems like objective functions. You can define custom moment functions as any valid R function. Visualization helps to build intuition about the problem and understand the feasible space of portfolios. Another key benefit is that Portfolio analytics supports several solvers and allows you to specify different solvers with minimal or no changes to the portfolio specification. This diagram is a high level representation of a portfolio optimization framework. The inputs are the assets, constraints, objectives and moments of asset returns. The assets, constraints and objectives are defined by the portfolio manager. The workflow in Portfolio analytics follows this diagram. First you specify a portfolio of assets, then add constraints and objectives to the portfolio specification. Next you run the optimization given the portfolio specification and estimates of asset return moments. The final step is to analyze the optimal portfolio which is the output of the solver. In the next chapters of this course, we will go through each component in detail. Good luck.