Inspiration
Women and non-binary individuals often face a lack of confidence when it comes to making informed investment decisions, overwhelmed by the complex and vast array of investment options, unpredictable market fluctuations, and the daunting risk of potential financial loss. The financial industry is extremely male-dominated, and women need to start with personal investing to develop a genuine interest in finance and break into the field. We wanted to create a solution to break these barriers by creating personalized recommendations for users based on their risk tolerance, financial goals, and market trends, making investing more accessible.
What it does
MoneyTree is an app designed to simplify the investing process for beginners. It helps users choose between 5-10 investment opportunities by analyzing current stock trends. The app uses a combination of web scraping, machine learning, and sentiment analysis to provide personalized stock recommendations that are easy to understand. Whether you're a first-time investor or someone looking to refine their investment strategies, MoneyTree takes the guesswork out of making sound financial decisions.
How we built it
The app was a collaborative effort where each team member brought their expertise to the table: Serena: Handled the user inputs and user interface design to make sure the app was intuitive and accessible. Rachana: Created the database by scraping stock data from Yahoo Finance, providing the backbone of the investment recommendations. Sascha: Developed the matching algorithm that analyzes the data and selects the best investment opportunities based on trends and predictions. Rachana & Preeti: Worked on implementing two different Long Short-Term Memory (LSTM) models to predict future stock opening prices. They also utilized Google Gemini for sentiment analysis on current and historical data, tagging sentiment to refine predictions.
Challenges we ran into
Data accuracy and cleanliness: The process of scraping data from Yahoo Finance and integrating it into our database presented a number of challenges, including dealing with inconsistent data formats and missing information. Predictive modeling complexity: Fine-tuning the LSTM models to accurately predict stock prices was more difficult than anticipated. Predicting stock movement based on historical data is inherently uncertain, and it took several iterations to improve the accuracy of our models. Sentiment analysis nuances: Sentiment analysis using Google Gemini required fine-tuning to make sure we were interpreting the right sentiment from news and social media sources. It took some time to calibrate it to be effective in influencing stock predictions.
Accomplishments that we're proud of
User-friendly design: We are proud of the fact that despite the technical complexity of the app, we managed to create an interface that is accessible and easy to navigate for beginners. Real-time stock recommendations: The app’s ability to process real-time stock data, predict future movements, and suggest investment opportunities is a significant accomplishment, especially considering how it blends machine learning and sentiment analysis. Cross-collaboration: Working effectively as a team and combining our skills in web scraping, machine learning, and natural language processing helped us overcome many challenges and create a robust tool.
What we learned
The importance of clean data: Data wrangling, collection and preparation are often more time-consuming than anticipated, but it’s crucial to ensure the predictions are reliable. Balancing complexity with usability: While it’s tempting to add more features and complexity, we learned that simplicity is key, especially when designing for beginners. Keeping the app streamlined and accessible was a priority. Machine learning in finance: Understanding how to apply machine learning algorithms, like LSTM and sentiment analysis, to the financial world was an invaluable learning experience. We learned how to refine models and incorporate external data to improve predictions.
What's next for MoneyTree
Enhance predictive models: Continue improving the accuracy of our stock predictions by exploring additional data sources and refining our machine learning models. Expand the user base: Work on making the app available to a wider audience, including integrating more educational resources to help users understand how to interpret the investment recommendations. Another: including a chatbot to help guide you through the process, maybe even link Money Tree to apps like Schwab, Fidelity, Robinhood, to give users a more fact-based and educated opinion on how they want to spend their money.
Another Positive to incentivize users is adding in a streak for how many days they have consistently used the app and learnt a new topic in finance, and have a small tree icon keep growing as their streak grows.
Built With
- beautiful-soup
- fred
- numpy
- pandas
- python
- requests
- scikit-learn
- streamlit
- tensorflow
- vader
- yfinance
Log in or sign up for Devpost to join the conversation.