Cognitive User Interface for Portfolio Optimization

: This paper describes the development of a chatbot as a cognitive user interface for portfolio optimization. The ﬁnancial portfolio optimization chatbot is proposed to provide an easy-to-use interface for portfolio optimization, including a wide range of investment objectives and ﬂexibility to include a variety of constraints representing investment preferences when compared to existing online automated portfolio advisory services. Additionally, the use of a chatbot interface allows investors lacking a background in quantitative ﬁnance and optimization to utilize optimization services. The chatbot is capable of extracting investment preferences from natural text inputs, handling these inputs with a backend ﬁnancial optimization solver, analyzing the results, and communicating the characteristics of the optimized portfolio back to the user. The architecture and design of the chatbot are presented, along with an implementation using the IBM Cloud, SS&C Algorithmics Portfolio Optimizer, and Slack as an example of this approach. The design and implementation using cloud applications provides scalability, potential performance improvements, and could inspire future applications for ﬁnancial optimization services.


Introduction
In financial decision making, optimization is one of the most critical techniques. Since the development of the mean-variance portfolio optimization method that was introduced by Markowitz (1952), both research and practice in finance have become increasingly technical Cornuejols and Tütüncü (2006). While individual investors could potentially benefit from optimizing their portfolios, this would require significant financial literacy Collins (2012), the ability to represent investment preferences as an optimization problem, knowledge of the underlying optimization models, coding techniques to solve the optimization problem, and interpretation of the optimal solutions. These requirements represent a significant barrier preventing individual investors from utilizing optimization techniques.
Most self-service investment advisory tools provide assistance in constructing an investment plan by matching the investor's surveyed risk aversion level with a pre-defined standard portfolio from a set of potential portfolios. These portfolios usually differ only in the composition of stocks, bonds, etc. Investors who do not have complete knowledge of the underlying model and financial markets could find it difficult to incorporate their investment preferences into optimized portfolios. Even for experienced financial advisors, including investment preferences, such as minimizing the exposure to specific industries within the optimization formulation, can be challenging. For example, an investor could have the preference to invest in financial instruments that are associated with higher sustainability or ethical scores. With the appropriate data available, this could be included in the optimization formulation as a target minimum ESG score. The current automatic investment advisory tools that are available are not flexible enough to reflect these common investment preferences in the suggested portfolios.
Individual investors without the required background to construct their own investment portfolios could use financial advisory. Traditional financial advisory could be defined as the provision of professional financial advice for individuals who seek assistance or want to completely delegate their investment decisions Fischer and Gerhardt (2007). Cocca (2016) summarizes the process of financial advisory within private banking, including an analysis of the investment needs and objectives of the client, incorporating the client's risk profile and defining an investment strategy for asset class allocation. This process relies heavily on the experience and skills of the advisors, especially for the identification and formulation of investment needs and preferences. Empirical studies that were conducted by Montmarquette and Viennot-Briot (2019) and Harlow et al. (2020) show that investors who seek financial advisory could better achieve their investment goals, such as investing for retirement, when compared to those who do not use advisory services. Although these services can be beneficial, individual investment preferences are usually not addressed properly in this process. Additionally, advisory services are usually associated with a relatively high cost of service due to significant labour requirements to manually reflect the different preferences in the underlying optimization model. Most existing high scale and low-cost portfolio construction and optimization services are limited to benchmark portfolios, usually consisting of only ETFs, and do not enable individual investors to incorporate preferences other than risk aversion levels or investment horizons. Examples of such benchmark portfolios include target-date funds and online investment advisors, such as Acorns Advisers and BMO SmartFolio. With these tools, users cannot incorporate their objectives and industry based preferences into their investments. Therefore, investors could find these services to be convenient, but hard to customize. Additionally investors cannot incorporate their existing portfolio holdings into these services. There is a lack of high scale and low-cost portfolio construction options which also allow for individual customization available to investors.
Our paper and design of the cognitive user interface for portfolio optimization aims to fill this gap. The goal of our design is to allow users to express their investment preferences using natural language, creating a similar experience to receiving financial advisory services, while maintaining scalability. When compared to the automatic investment advice services that are currently available in online banking and investing, this solution provides the flexibility to accommodate a wide range of investment preferences, in addition to the risk profile and return expectations. The cognitive user interface allows users to directly interact with the online portfolio optimizer, similarly to how they would interact with a human financial advisor (for example, by email or face-to-face talks). This would be beneficial for both the service provider and the users. One typical cognitive user interaction deployment is the integrated system of chatbots. With the recent rapid development of machine learning techniques, chatbots are increasingly used in different areas, including online education da Silva Oliveira et al.  (2018), automated basic personal finance service Okuda and Shoda (2018), health care support Cameron et al. (2017); Su et al. (2017), etc. It would be natural and easy for users to accept this format when we extend the application of chatbots to financial optimization.
In this paper, the design and an example of a deployment method for using a chatbot as a cognitive user interface for portfolio optimization are discussed. This paper is organized, as follows. First, Section 1 provides a background on portfolio optimization in traditional financial advisory and cognitive user interfaces such as chatbots, motivating the usage of chatbots for portfolio optimization. Section 2 introduces the existing platform and cloud applications used to build the financial portfolio optimization chatbot. Section 3 describes the methodology for extracting the information required to form an optimization problem from natural text input from users, the communication with the backend optimizer, and the conversation interface. Section 4 presents a deployed prototype of the system described in this paper. Finally, Section 5 discusses the properties of the system and draws conclusions.

Related Work
In this section, the two cloud applications IBM Watson Assistant and SS&C Algorithmics Portfolio Optimization Service used in the system design and deployment are introduced.

Chatbot and the IBM Watson Assistant
When deployed on a cloud server, Chatbots pass the request of the user to the server and provide a response to the user's request after being activated with keyword capturing Hoy (2018). Various types of chatbots have been developed since the introduction of the idea. Social chatbots mainly interact with users and generate proper responses that provide an emotional connection to the user and satisfy the communication needs of the users Colby et al. (1971); Wallace (2009);Weizenbaum (1966); Zhou et al. (2020). Question and answering chatbots aim at discovering knowledge from a given collection of documents and to provide answers to users' inquiries Chen et al. (2016); da Silva Oliveira et al. (2019); Ranoliya et al. (2017).
During the emergency response to the COVID-19 pandemic, chatbots have been developed and deployed to share up-to-date information, encourage healthy behaviors, assess and control risks, and provide emotional support in multiple languages Martin et al. (2020);Miner et al. (2020). This also indicates an increasing public acceptance of professional advice being communicated through chatbots.
Various works have studied the customer segments that are more likely to use chatbots. Brandtzaeg and Følstad (2017) and Rese et al. (2020) identify the key factors that motivate users to use a chatbot as an interaction interface: timely and efficient service, extended service opening time, low cost, and curiosity about new technologies. Some users even perceive chatbots to be more reliable than their human counterparts. On the other hand, limited technology access and doubts about reliability and quality from other user segments act as deterrents to the adoption of chatbot technology.
The evaluation of chatbot performance is relatively complicated and multiple metrics are proposed to standardize the user's experience with the chatbot Przegalinska et al. (2019); Lee et al. (2018); Jenkins et al. (2007). Unlike social chatbots, the performance of taskoriented chatbots cannot be fairly evaluated by the length of the conversations. Instead, the completion of service and user satisfaction would be a more direct and useful metric. Scalability would be an important metric for cognitive financial optimization because one core advantage of developing and deploying chatbots is the ability to provide service to a large number of users simultaneously. As Lui and Lamb (2018) identified, trust and confidence are the core of wide scale acceptance of automated financial services.
Watson is a popular exemplification of cognitive computing systems Kelly III and Hamm (2013); Ferrucci (2012) and Watson is receiving increasing attention in applications and research Goel et al. (2016); Chen et al. (2016); Memeti and Pllana (2018); Murtaza et al. (2016). Built using natural language understanding techniques and algorithms, Watson Assistant provides an easy way to build, train, deploy, and test conversational applications with multi-language support. Constructing a chatbot with IBM Watson Assistant is divided into three tasks: defining user intents and supplying each intent with training examples, identifying contextual terms (entities), and designing a conversation flow with pre-set chatbot responses. Training the machine learning model with examples is automated with the cloud application and the model can be easily updated by adding or removing training examples. Entity matching supports multiple matching patterns, including regular expressions, exact matching, and fuzzy matching. The conversation flow design provides a user-friendly graphical interface and it supports randomly picking responses to improve the flexibility of the conversation and the user's experience with the chatbot. The cloud RESTful API (application programming interface) enables the integration of IBM Watson Assistant's chatbot service into the design of a larger cognitive computing system. Developers could update the training set of the model and interact with the trained chatbot using only the backend. Model configuration, including the training set, intents, entity definitions, and conversation flow design could be easily stored and transferred using structured JavaScript Object Notation (JSON).
Employing a chatbot as a cognitive user interface would help to decrease the average cost of providing portfolio selection services. The total economic impact from the IBM Watson Assistant report shows a significant cost saving per contained conservation with Watson Assistant.
There are also other development and deployment tools for chatbots provided by other cloud infrastructure providers such as Dialogflow on Google Cloud, Azure Bot Services on Microsoft Azure, and AWS Chatbot on Amazon Web Services.

SS&C Algorithmics Portfolio Optimization Service
Mathematical optimization is a type of quantitative algorithm that is used for financial and risk-aware decision making. Optimization problems frequently solved in finance include wealth management, asset allocation, portfolio selection, risk management, regression problems, hedging, and pricing of derivatives. An overview of financial optimization can be found in Cornuejols and Tütüncü (2006) and Romanko and Mausser (2017).
The SS&C Algorithmics Portfolio Optimization service deployed on IBM Cloud is an online cloud application that translates the expressions of structured JavaScript Object Notation (JSON) into an algebraic form, applies adjustments, reformulates optimization problems in the most efficient manner to reduce solution time, scales optimization problems to improve numerical stability, and after that calls IBM ILOG CPLEX solver to solve the obtained formulation. This optimization service can be easily deployed on IBM Cloud or any other cloud by creating containerized instances and interacting with the RESTful API through Python, R, Matlab, Java, or curl.
Many optimization problems in finance are multi-objective by nature, as they involve minimizing a portfolio risk measure while maximizing a portfolio reward indicator. One of the classical portfolio selection models that involve a risk-reward trade-off is the mean-variance portfolio optimization problem formulation that was introduced by Harry Markowitz (1952). In this paper, we use extensions of mean-variance optimization within a multi-objective portfolio selection framework, where absolute or relative variance serves as a risk measure and expected return serves as a reward measure.
Let us consider a typical financial portfolio optimization problem. We denote the asset weights in a portfolio by w, i.e., w i is the proportion of total funds invested in asset i, where i = 1, . . . , N. An expected return vector for assets is denoted by µ, where µ ∈ R N . A variance-covariance matrix of returns is denoted by Q, where Q ∈ S N (positive semidefinite). A typical formulation of the mean-variance optimization problem minimizes portfolio variance of returns w T Qw while constraining the expected return µ T w to be at least target value R: (1) In formulation (1), a risk measure w T Qw, i.e., portfolio variance of return, is minimized subject to the constraint µ T w ≥ R that a reward measure (expected return µ T w) exceeds a prescribed bound R, and other operating constraints w ∈ Ω are satisfied. Constraints on asset holdings are usually assumed to be Ω = {w ∈ R N : w ≥ 0} in the presence of no-short-sales restrictions. We can also solve problem formulations when arbitrary linear constraints Aw ≥ b on asset weights in the portfolio are specified. In this paper, we assume that Ω is a set of continuous linear constraints or mixed-integer linear constraints.
While the typical risk measure to be minimized is portfolio variance Var(w) = w T Qw, alternative risk measures can be specified. The tracking error squared risk measure is a portfolio variance of return relative to a benchmark portfolio with asset weights in the benchmark being w b . By minimizing the portfolio tracking error (or equivalently, tracking error squared) we would like to minimize the mean squared error between our portfolio returns and returns of a benchmark portfolio. The typical benchmark portfolio is a market index, but, in general, it can be any fixed portfolio. When variance is used as a risk measure, the portfolio selection strategy is referred to as active. When tracking error is used as a risk measure, the portfolio selection strategy is referred to as passive. In addition to variance and tracking error risk measures, tail risk measures, such as value-at-risk VaR α (w) Romanko and Mausser (2016) and conditional value-at-risk CVaR α (w) at a quantile level α, are also supported. More advanced portfolio selection strategies, such as risk parity Mausser and Romanko (2014) and portfolio replication Burmeister et al. (2010), can also be incorporated.
In contrast to active portfolio selection strategies which have the form (1), passive portfolio selection strategies have the form: where portfolio tracking error squared is minimized subject to constraints. Both active investing and passive investing strategies can be optimized using the SS&C Algorithmics Portfolio Optimization service. For active investing problems of type (1), one could optimize a mixture of risk and return by minimizing risk and adding a constraint to specify the lower bound of the expected return at a given time. For passive investing problems of type (2), a pre-set or user-defined benchmark portfolio is added to reflect the typical user's risk profile and investment horizon. For variance-covariance matrices, the service supports both the parametric approach, by specifying the estimated covariance matrix, and the non-parametric approach, by defining a scenario set to calculate variances and covariances from (including Monte Carlo scenario sets, historical scenario sets, and stressed scenario sets).
A universe of around 200 assets is pre-loaded to the SS&C Algorithmics Portfolio Optimization service. It includes stocks, equity ETFs, and fixed-income ETFs. Data for this universe of assets are also pre-loaded. The variance-covariance matrix Q and the expected return vector µ are estimated from historical returns or from a factor model. If necessary, users can bring their own data to the service via the same RESTful API interface.
The JSON-formatted response that is returned by SS&C Algorithmics Portfolio Optimization service is post-processed by the chatbot system, and optimal positions in each instrument are saved into a csv file that can be submitted to a trading system. We also implemented a validation procedure for optimal portfolios, currently only some of the validation results are reported to the user by the chatbot. For instance, in the optimal portfolio example that is discussed in Section 4, the chatbot is able to report the objective function value (the tracking error with respect to the benchmark portfolio) and confirm to the user that the portfolio value is $10,000, which corresponds to the invested amount. ESG properties of an optimal portfolio (environmental score, sustainability score, governance score, controversy score, and social score) are also computed and visualized. In the implementation example in Section 4, it is confirmed that the portion of assets with High Environmental Score within the optimal portfolio is greater than or equal to 50%, as specified by the constraint. Other user preferences, e.g., that tobacco stocks are excluded, are also validated, and can be reported back to the user.
While the cloud portfolio optimization service largely reduces the cost for end users, as they do not need to code an optimization algorithm and, to select a suitable solver, the API user interface is still quite complex for an individual investor. While the webbased graphical user interface (GUI), which sits on the top of the API interface, can help with the service usability, but it is also quite demanding. Both interfaces (API and GUI) require a user to possess extensive financial literacy knowledge and understanding of the optimization modelling. The API interface additionally requires basic coding skills.
Replacing the API and GUI with a chatbot interface greatly simplifies and streamlines user experience for individual investors. It would also bring wealth management and robo-advising web-platforms to a new level of user experience.

Methods
In this section, we discuss the method that is used to extract information for the optimization formulation from a user's natural text input. Financial optimization chatbots require an efficient method to accurately translate the text or voice natural language input into a well-defined mathematical expression that can be interpreted by the optimizer service. More importantly, the chatbot is expected to identify the aspects of investment objectives or preferences that the user is discussing, and collect the key parameters mentioned in these inputs. If such parameters are not clear or missing, then the chatbot needs to confirm its understanding and either return the result to the user or engage with the user to input missing information. For simplicity, the chatbot requires the user to express different investment preferences in different sentences and this requirement is hinted to the users in the welcome message. Figure 1 shows how the inputs in natural language format are processed within the cognitive portfolio optimization system. The input is first being classified into underlying intents using the intent classifier (discussed in Section 3.1), and contextual terms using the entity matching model (discussed in Section 3.2). The processed output is then stored and handled using global variables and, after all of the inputs are processed, the optimization problem is formulated using these stored values in global variables (Section 3.3) and a request is sent to the portfolio optimization service described in Section 2.2. After processing each input and receiving the result from the portfolio optimizer, a natural language response is returned to the user to confirm preferences, request additional information, and provide help and instructions. The system then summarizes the optimization preferences and results, and then visualizes the properties in the optimized portfolios while using the conversation management system (Section 3.4).

Intent Classification
Intent classification serves as the core of cognitive handling of natural language input. When the input from the user is received, the intent classifier identifies the purpose behind the input and which aspect of investment preference the language is referring to. The intents used in our implementation are listed in the Table 1 below: Table 1. The list of pre-defined intents and their relationship with the optimization problem formulation.

Intent Name Optimization Problem Formulation
active_invest rejects the usage of any benchmark and tries to identify the objective function. passive_invest add benchmark by attempting to identify the proper benchmark of investment based on investment time horizon and risk preferences. add_current_holding add/delete the entity describing holdings details (stock, etc.). add_investment_value increase or decrease the total value of portfolio. exclude_asset_features add constraints on excluding assets with certain features in universe social_responsible_value add constraints on assets with certain overall social responsibility scores and identify the requirement as low, medium or high. constrain_asset_weight add constraints on the weight of assets. constrain_cardinality add constraints on the cardinality of asset weights. constrain_sector add constraints on certain sectors. constrain_risk_score add constraints on risk level, measured by asset risk score. constrain_asset_class add constraints on asset classes. constrain_geography add constraints based on geography (i.e. domestic, foreign). allow_short_sell add indicator to allow short selling. max_investment_weight add maximum weight allowed for each asset allocation. help supplementary intent to provide help and instructions for using the chatbot.
For each of the intents above, the training set was constructed while using a mixture of email interactions between investors (the users) and financial advisors, and augmented texts providing examples of investment preferences. The accuracy of this classification problem is important for improving user experience.
In addition to all of the intents listed above, an 'other' intent is also included to capture the case where none of the above intents is identified with a defined threshold of confidence. Furthermore, all of the responses from the users indicating a request to change the intent classified are recorded. Both of these inputs can be used to improve the accuracy of the classifier in the early development and testing stage of the chatbot.

Entity Matching
As discussed in Section 2.1, entities are the contextual terms and keywords that the cognitive computing system tries to identify from user inputs. For financial portfolio optimization, the entities that are listed in Table 2 are defined and the entity matching model is trained to match and mark them in the input: Table 2. The list of entities and their relationship with the optimization problem formulation.

Entity Type
Description and Role in Formulating Optimization Problem asset_name the code and name of assets in the trading universe benchmark the name of the benchmark portfolios portfolio_measurement metric used in formulating the objective function such as return rate, variance and tracking error. optimizing_direction minimize and maximize in the optimization objective. time_unit time unit measurement in investment horizon such as years, months, days. inequality_relationship equal to, less than or equal, more than or equal used to formulate constraints. asset_features used to construct constraints to include or exclude assets with the target features, such as alcohol, fossil fuels, gambling, tobacco, military etc. social_responsibility used to construct constraints on the social responsibility level of assets, the social responsibility criteria included are sustainability, environmental-friendliness, and governance. asset_sector used to identify the asset sector that the constraints apply to, such as information technology, finance etc. asset_class used to identify the asset class that the constraints apply to, such as stocks, bonds etc. asset_geography used to identify the asset geographical features that the constraints apply to, such as domestic, foreign etc. constrain_geography add constraints on geography (domestic, foreign) assets in constraints. attitude used to distinguish the attitude from positive, negative and ambiguous. add_or_delete distinguish the processing of adding or deleting.

Global Variables and Optimization Problem Formulation
Global variables are defined to store the identified optimization preferences (objectives, constraints) and the current status of the conversation. For each detected intent that is directly related to optimization problem formulation that is listed in Section 3.1, the Python backend searches for the required entities identified in the input. If all required entities exist in the user's input, then the value of entities and type of objective formulation related to the intent will be stored in the global variables. If any of the necessary entities are missing, then an indicator would be activated to help the chatbot to record the relevant intents and state of the conversation. The chatbot could then request the user to input the missing entities and add to the in-progress optimization formulation.
After all of the inputs are added to a request summarizing the optimization problem, the Python algorithm in the backend validates the inputs to ensure that the optimizer is not missing any required information.
The goal of the Python backend is to format all global variables as a request that the portfolio optimizer can interpret. In the case of using SS&C Algorithmics Portfolio Optimization service that is discussed in Section 2.2, this would mean formulating a structured JSON request.

Conversation Management
One advantage of using a chatbot as the user interface is that the interaction is easy and natural for users. This includes a warm welcome and provides instructions on the available functions and system usage, confirming the processed investment preferences and entities mentioned, asking for further information when needed, communicating the optimization settings, and sharing results with the users. To achieve this, the chatbot could use a pre-set conversation manager that controls the chatbot responses. An example of such conversation manager is shown in Figure 2.  Figure 3 summarizes the overall design of the cognitive user interface for portfolio optimization. The user interacts with the chatbot user interface using natural language input and receives responses in text, voice, or visualization. This process is executed on the client's personal device. The chatbot user interface forwards the natural language user input to the Python backend and the cloud application to be processed by the intent classifier, the entity matching model in the natural language understanding application on the cloud, and then the Python backend stores the extracted investment preferences and provides a response back to the chatbot using the conversational management system. The Python backend, natural language understanding application, and underlying optimization service applications are deployed on the service provider's cloud.

System Design
The stored global variables containing the entire profile of investment preferences could be encrypted and stored upon the user's request in order to re-evaluate the portfolio, perform re-balancing, and make other adjustments. It is equivalent in information to have either all of the stored global variables or the JSON assembled request. Both of them include all the necessary elements for the mathematical formulation in the underlying optimization model. As a result the optimization could be done using an iterative approach over a period of time. This implementation demonstrates how the proposed system could store and manage a user's portfolio over an extended period of time, updating the portfolio optimization formulation with the user's latest preferences.

Paragraph Handling
Being inspired by the common and virtual practice of communicating investment preferences and optimized portfolio allocations through email, the framework described above could be easily extended to other cognitive computing applications. For example, instead of having a conversation through the chatbot user interface, the user could summarize all investment preferences in a single paragraph. The paragraph in text or voice can be directly processed by the intent classifier and entity matching model with proper parsing algorithms. This interface would be more efficient, since all of the investment preferences are handled at once, but lacking support and interaction would require the users to have a certain level of financial literacy that is higher than for the chatbot interface. There would also be limited opportunities to confirm inputs or ask for additional information.

Implementation
The portfolio optimization system and chatbot interface that are discussed in Section 3 were deployed for testing and a prototype is presented in this section.
For training and deploying the intent classifier and entity matching model, the IBM Watson Assistant that is described in Section 2.1 is used. SS&C Algorithmics Portfolio Optimization service (Section 2.2) is used as the underlying portfolio optimization problem solver. Along with the Python backend, the service provider cloud components are completed and deployed. For the chatbot user interface, Slack is used for users to interact with the chatbot. Figure 4 shows a conversation between the user and the chatbot. In this conversation, the chatbot is able to chat with the user, providing greetings and friendly interactions, such as introducing itself. It is able to recognize investment objectives, such as the investment horizon, and when it is not sure about the exact investment horizon, the system generates a follow-up question, prompting the user for additional details. It can also generate optimization constraints, such as adding cash infusion, excluding certain types of assets, and targeting an overall social responsibility score within the constraints. Before submitting the formulated optimization problem, a summary of the objectives and constraints is presented to the user. After submitting to the backend optimizer and retrieving the result, the chatbot summarizes the optimized portfolio and provides visualizations to the user.

Discussion and Conclusions
Using a chatbot as the user interface for portfolio optimization represents an example of how advances in natural language processing can be used to enhance the availability of optimization tools for individual investors. Our implementation uses a deep learning model to determine the user's intent from each input, and matching models to identify any specific entities mentioned. The backend then structures all of the inputs into an optimization problem which is handled by an optimization solver. The conversation management model within the chatbot then generates natural language responses and visualizations using the optimization results, which are communicated back to the users. Implementation using a mature cloud service ensures the stability of the interface as well as improves its scalability when handling requests from a large number of users. The online training of the core models, such as the intent classifier, could help improve the performance of the chatbot after deployment using users' feedbacks.
Our work in this paper considers the design of a system using a cognitive interface for portfolio selection. Future considerations include measuring the performance and accuracy of such a system. Evaluating the performance includes gaining user feedback on the conversation flow to determine how effective the conversation management module is at guiding conversations. Ensuring that the chatbot is accurate in interpreting users' intents is important, as it could be difficult and even unrealistic for users to validate themselves if the optimized portfolio is truly optimal for them and does satisfy their investment goals. Both of these elements need to be further studied to measure the performance of our proposed system.
The chatbot interface is significantly more flexible than existing survey methods for automatic portfolio selection; however, as the chatbot relies heavily on training examples to interpret user input, the regular maintenance of the training examples could be required. For the purpose of this work, we considered a finite set of possible user intentions, as described in Section 3.1. To further enhance the flexibility of the framework, the system design could allow professional and institutional users to upload instrument universe datasets to include sectors, industry classification, and other asset level information that reflects the preference of users. The framework that we present can integrate with optimization models of varying complexity. In the future, this work can be extended to explore models of greater complexity, including multi-period optimization models, tax-aware portfolio optimization models, and other risk measures by updating or changing the underlying model in the portfolio optimization service and adjusted intents, entities, and conversation flow design of the chatbot. These extensions could be explored in future work.
Future extensions to this work could include extending the input process capabilities to include natural text inputs with multiple optimization preferences. This could be addressed by building the classifier to first predict the number of intents in the input and then output the best predictions on several possible intents. This process could be combined with entity identification to better predict multiple intents in a single sentence and match the corresponding entities for each intent.