About the Project
Inspiration
Our team, consisting of four sophomore STEM majors, embarked on a project inspired by the desire to improve financial literacy. As college students, we recognized the importance of financial security and the challenges that come with managing personal finances. Our problem statement was clear: financial literacy is crucial. A staggering 43% of American adults are considered financially illiterate. With worsening economic conditions and increasing competition in the job market, it is crucial for our generation to be able to strategically invest for safeguarding our wealth.
Our Solution and What it Does
Our project aims to make complex investment activities accessible to everyone through the use of a bot that provides automatic trading recommendations. The bot is designed to simplify the investment process by analyzing recent news articles related to the regional market and asset class specified by the user. Using this information, the bot identifies assets with positive market sentiment and recommends them to the user, enabling them to make informed investment decisions with ease.
How We Built it
Our project utilizes a combination of web scraping and Cohere's API to provide users with automated investment recommendations.
- The web scraping program we developed is responsible for gathering recent news articles.
- These articles are then processed using Cohere's classification API function to filter out articles that are not relevant to the user's specified regional market and asset class. These articles are then further re-classified according to their market sentiment.
- The program then leverages Cohere's generate API function to extract the names of the specified assets that have positive market sentiment.
- These are ultimately displayed to the user, as investment recommendations.
Challenges We Ran Into
During the development of our project, we faced several technical challenges that required creative problem-solving and critical thinking.
- One of our major challenges was the limited training dataset, which hindered our ability to cover all cases accurately. We overcame this issue by using data augmentation.
- We also faced limitations with our web scraping algorithm due to time constraints, resulting in a smaller testing dataset than we originally intended. While we wanted our web scraping algorithm to parse through google search pages, we became limited to parsing through the homepage of a single financial news site, CNBC.
- Navigating a new API for entity extraction was also a challenge that required us to read through the API documentation thoroughly to ensure proper implementation.
- Another significant challenge was integrating Python and Node.js code, which we overcame by piping the output of the Python program as input to a Node.js program.
Despite these challenges, our team remained resilient and found innovative solutions to overcome obstacles.
Accomplishments We're Proud of
One of our biggest accomplishments was successfully integrating an unfamiliar API and solving a problem important to us. We are particularly proud of our MVP as it lives up to the vision we had for SentiBot. Its functionality and effectiveness are demonstrated in our video and can be tested through our GitHub repository. Not only are we happy with our final product, but we are also very content with our final pitch deck, which we believe displays our product skill-fully.
What We Learned
- As mentioned previously, we recognized the significance of training data and how to build an unbiased dataset by considering multiple test cases. In general, we learned the importance of being able to effectively collect and analyze large amounts of data to refine a product.
- We learned how to use Cohere's API by navigating their documentation. Our experience with Cohere's API taught us a great deal about generative and classification AIs and how they function.
- We also acquired the skill of linking Python to Node.js using a pipe.
What's Next for SentiBot
- Moving forward, we plan to expand SentiBot's capabilities by implementing additional investment specification categories such as industry, among others.
- Our aim is to train the bot on more diverse training data and provide it access to a broader range of testing data to enhance its predictive power.
- Additionally, we plan to enable the bot to analyze statistical reports as well as articles to provide more accurate investment recommendations.
- We also envision monetizing SentiBot through a subscription model and account authorization, with a focus on targeting business customers such as banks.
- We believe our product has significant potential in the financial industry and could offer valuable insights to both individual and institutional investors.
Log in or sign up for Devpost to join the conversation.