• Hello world!

    Welcome to HKU CS WordPress Multi Site 2023 Sites. This is your first post. Edit or delete it, then start writing!


Project Plan
Robo-advisor


Project Background

People may find investment difficult since they have little knowledge about different products in the market. Even if they are knowledgeable about a particular product, they may doubt that whether it was a good decision. Moreover, when people read the news of the product, they may not recognize whether it was the right time to invest in it. While there is a lack of prior evidence proving AI can effectively assist humans in investment, an effective robo-advisor can help people make better decisions to invest wisely in the products that suit their risks and interests, including currency, stock, gold, watches, handbags, or anything else valuable which is of interest to the users so that personalization is achieved.


Project Objective

The basic features of a robo advisor include collection of financial data from the available sources to be stored in a database, an all-purpose web interface which allows investors to perform all kinds of actions, and a backend system which supports the functionalities of the web page, etc. 

Besides the basic features, we would like to incorporate the following improvements which major robo advisors at the moment may not have started working on yet. 

  1. In order to improve the accuracy of the risk assessment of each user, we plan to implement a concise survey to assess the risk each user is willing to take. 
  1. We believe that minimal human intervention and computer-based decision will eliminate the subjectivity and make the most favourable action in the context of transacting in the financial market. In response of this, instead of providing a team of human advisors to support users, we are developing a chatbot by utilising the latest GPT-4 large language model. 
  1. Education on financial products is at utmost importance before investors enter the financial market. Therefore, before the time of investment, an additional education corner covering different kinds of products will be made available to investors to ensure they are conscious of the rationale behind the investment. This can be module-based, and investors answer questions at the end of each module. 
  1. When predicting the trend of different products, our idea is to extract a historical record of new holders, e.g. an investment firm, of a particular product, and then keep track of the price of the product for certain periods. We will correlate the trends (either upward or downward) with the comments the new holders have given to determine the more accurate news based on the keywords. 

Whilst some components are essential to a robo advisor, such as account management fees and actual transaction in the market, these may not be implemented in our deliverables to order to put our main focus on the above improvements. 


Project Methodology

Step 1: Find the best investment guy


1. Extract the real-time data of US stock using API
2. Extract the data of stock holder of the top 100 / specific US stock
3. Check the timing to buy / sell by the stock holder and exclude all initial stock holder
4. Find the timing that most people buy in the stock which the stock is raising afterward and exclude these people


Step 2: Extract the news that may affect the investment guy to buy or sell

1. find the facts/news that may lead to appreciation/depreciation of stock (which make the investment guy action)


Step 3: Train 3 models

1. Model with good news (index represent the fluctuation)

2. Model with bad news (index represent the fluctuation)

For webpage development, HTML, CSS and JavaScript are basic programming languages. 

For database, a SQL software would be used. 

Regarding the backend programming part, Python would be the major programming language. 

We will use one of the APIs introduced in the following pages to extract real-time financial data: 

 
https://polygon.io/stocks?utm_term=stock%20api&utm_campaign=Stocks+-+INT&utm_source=adwords&utm_medium=ppc&hsa_acc=4299129556&hsa_cam=13075782420&hsa_grp=133850772646&hsa_ad=592165834559&hsa_src=g&hsa_tgt=kwd-301178080709&hsa_kw=stock%20api&hsa_mt=p&hsa_net=adwords&hsa_ver=3&gad=1&gclid=CjwKCAjwgsqoBhBNEiwAwe5w0-1_WmDrq9MoZoUDvJcQkkJ1LTZvlSeo_7nNZHElJiVU-m_PBBCZfhoCxoIQAvD_BwE 
 
https://site.financialmodelingprep.com/developer/docs/ 

https://www.nasdaq.com/solutions/data-link-api#resources 
 
API reference: 

https://quant.stackexchange.com/questions/141/what-data-sources-are-available-online

https://site.financialmodelingprep.com/education/other/yahoo-finance-api-alternatives?direct=true

As a common practice of developing software among team members, we will use Github to manage the code. 

Extra interaction feature for the web page: 

As we want to implement a web-based user-friendly robo-advisor to assist users in investment, we would also like to allow users to directly communicate with the advisor through natural language using their voice. To achieve this purpose, we allow user to input with computer microphone to enable the voice communication on the web page. The voice from the user will directly be translated to text and fed to a GPT or locally deployed GLM model (like ChatGLM-6B). Then, we use the model to extract keywords from users’ speech to instruct the webpage to take specific action or analysis on certain data, and finally present the output to the user. This allows user to obtain the result they want through natural communication.  

For the voice-to-text part, since we may try to deploy the GLM model, which require around 6-8GB of GPU memory, we may try to implement it using extra hardware like raspberry pi zero or even ESP32, to reduce the workload of backend. 


Project Scheduleand Milestones

2023: 

October – December: development of the robo advisor app 

2024: 

Early January: 1st presentation 

21 January: delivery of preliminary implementation and interim report 

January – April: Further enhancement of the app, debugging and testing; additional features or finetunes would be implemented if time allows 

Mid April: final presentation 

23 April: delivery of finalised tested implementation and final report 

26 April: project exhibition 

In addition, weekly or bi-weekly meeting is held to catch up with each other’s progress.