1. What is the main objective of traditional portfolio optimization?
The main objective of traditional portfolio optimization is to construct a portfolio that either maximizes expected returns at a specific risk level or minimizes risk for a given level of expected returns. This process involves selecting financial assets meticulously to align with an investor's goals while considering their tolerance for risk. Asset allocation, a crucial aspect of this process, entails distributing an investor's portfolio across various asset classes (such as stocks, bonds, and cash) based on their risk tolerance and investment objectives. Multiple studies have highlighted the increasing interest in sustainable investments, where investors incorporate Environmental, Social, and Governance (ESG) factors into their decision-making processes. MOPO-LSI, an open-source Multi-Objective Portfolio Optimization Library for Sustainable Investments, integrates ESG factors into portfolio optimization to generate long-term financial returns while promoting sustainable and responsible practices.
read more
2. What are the objectives in MOPO-LSI library?
The objectives in the MOPO-LSI library involve constructing a financial portfolio that maximizes positive ESG scores, minimizes negative ESG scores, and manages tracking error. The tracking error quantifies the deviation from standard benchmarks at a specific risk level, such as aggressive, moderate, or conservative. Maintaining the tracking error within a specified range ensures that the portfolio remains within the desired risk level chosen by the user. The library offers portfolio solutions in two scenarios: when client preferences are known and when client preferences are unknown. When preferences are known, the optimization task can be transformed into a single-objective optimization using the weighted sum method. The library also imposes multiple constraints to obtain feasible and practical solutions, such as the summation of fund allocations being close to 1, tracking error being smaller than a pre-defined threshold, and ensuring that positive ESG scores in the solution are no smaller than the benchmark, and negative ESG scores are no larger than the benchmark. The library utilizes an embedded conic solver to solve the quadratic convex optimization problem and employs multi-objective evolutionary algorithms (MOEAs) to optimize specific goals when client preferences are not known. The output is a Pareto set of non-dominated solutions, which can be further analyzed using multi-criteria decision-making methods to select a single optimal solution. The library also provides 2D/3D visualizations to facilitate user observation and understanding of the chosen solution.
read more
3. What are the steps in MOPO-LSI workflow?
The MOPO-LSI workflow consists of the following steps: 1. Define hyperparameters in configuration files. 2. Run MOPO-LSI using 'python run.py' or 'python run.py-config your.yaml'. 3. Load system configurations from 'yaml' folder. 4. Load user configurations from 'user.yaml'. 5. Load data sets from 'system.yaml'. 6. Initialize optimizer using 'model' parameter. 7. Run optimization using MOO algorithms or optimization solvers. 8. Get optimization results. 9. Analyze solutions and compare with benchmarks. 10. Visualize non-dominated solutions and hypervolumes.
read more
4. What risk levels can be declared in User.yaml?
In User.yaml, the risk levels that can be declared are conservative, moderate, and aggressive. These risk levels are used to determine the specific risk preference of the user, which can impact the portfolio's risk management and investment strategy. The conservative risk level indicates a preference for lower-risk investments, while the aggressive risk level suggests a willingness to take on higher-risk investments. The moderate risk level represents a balanced approach between risk and return. By declaring a specific risk level, the user can align their investment decisions with their risk tolerance and financial goals.
read more