Inspiration

Our team wanted to address the challenges presented to us by Pimco by creating an innovative robo-advisor powered by Machine Learning, Modern Portfolio Theory, and Historical Stock Data. We were inspired by the automated investment Robo-advisors used by larger firms and aim to make such models available to the public.

What it does

The MoneyPlant project is an innovative robo-advisor that addresses the challenges of investing by combining Machine Learning, Modern Portfolio Theory, and Historical Stock Data. The platform aims to reduce stress associated with investments by incorporating nature and breathing reminders to promote a calm mental state. The system profiles users based on their risk aversion using a five-layer LSTM Recurrent Neural Network and applies the Black Litterman Optimization Model to diversify portfolio allocations by sector.

How we built it

We divided the application into 3 key parts. The first is a Recurrent Neural Network powered by LSTMs that analyzes historical stock data, emphasizing the past 30 days. Secondly, we implemented the Black Litterman Portfolio Optimization model, in which we input the respective weights for each sector.The model considers investor confidence levels, gauges market risk aversion, and ultimately provides a balanced portfolio allocation that integrates both market consensus and individual investor perspectives. Using this model, we calculate through our custom API, which inputs each Client’s risk tolerance calculated from a survey. Each client is then served personalized ETF recommendations based on their portfolio. We build the front end using React.js and the back end using Django. We created a REST API using django_rest_framework. We used IBM Cloud's Watsonx assistant to incorporate an AI chatbot onto our site.

Challenges we ran into

One of the biggest challenges we faced was integrating and implementing the Recurrent Neural Network and Black Litterman Model into our custom API. When making POST calls using the API, we would constantly get errors with how the personalized ETF recommendations are stored with the data sometimes not even properly stored. After repeated alterations, we successfully integrated all three core features to allow the main functionality of our app.

Accomplishments that we're proud of

We are proud that we created our very own REST API from scratch using Django, and used the complex Black Litterman Model to determine portfolio allocations. We are proud of making a functioning product in 24 hours that analyzes real-world market data and provides tailored investment suggestions. Our UI presents our clients with a simple, understandable UI focusing on their mental health while prioritizing their investing portfolio. We also created an API used to call our ML and Black Litterman Model using the Django REST Framework. While we could have done this without creating our API, we decided to streamline the way we received information from the ML and the Black Litterman Model.

What we learned

We learned how to use Django and gained experience in using React.js. We learned how to create a chatbot using IBM Watsonx assistant and fine-tune the questions & responses to create a useful chatbot. We learned how to use tailwindcss and framer-motion to create beautiful React UIs. Something big that our entire team learned was how to chronologically finish tasks and features to work towards the final product. By splitting up the features at the beginning and executing them one at a time, we implemented features that would have taken us days in just a few hours!

What's next for Moneyplant

Next is to make MoneyPlant a direct site for investments by implementing Plaid’s Investing and Balance API. We can use Plaid API to retrieve dummy user investment data from their virtual sandbox stimulation to allow our project to analyze real-world investment portfolios and provide tailored insights based on risk aversion and market data. This would allow our customers to streamline investing to one website. While we currently only use dummy data, MoneyPlant has the capability to help thousands of people make more financially stable investments while slowly gaining more knowledge of their portfolios and capabilities.

Built With

Share this project:

Updates