Inspiration
We wanted to make a webapp that would encourage more people to use ESG stocks because not many people are aware of these companies and how they can make a positive impact on the community.
What it does
It allows a user to select a stock, see raw data about the stock, ESG scores, financial ratios, and forecasting to predict future prices.
How we built it
We used the Streamlit API to generate a web app for user interaction. We used the yfinance library to understand each stock's historical price and company financial data, and we used a Kaggle dataset (https://www.kaggle.com/datasets/alistairking/public-company-esg-ratings-dataset) for collecting ESG ratings on publicly traded companies. To store, analyze, and display the data, we used Python's Pandas, NumPy, and Matplotlib libraries. Finally, we used Google's Keras framework to generate predictions about the stocks.
Challenges we ran into
When developing predictive models, we began by using the Random Forest Regression algorithm. However, we had a hard time extrapolating the model to make future predictions. We were able to shift our approach to a Recursive Neural Network model with a sliding window of 30 days to more easily project our predictions to future dates.
Accomplishments that we're proud of
We trained the Keras Recursive Neural Network model on over 50,000 parameters for time series data, which was a first for all of us.
What we learned
We learned about how to gather and analyze stock information to train a machine learning model and generate future price predictions.
What's next for (Ethical) Thoughts on Stocks
Primarily, we would like to extend the prediction period into more than one day. Additionally, we hope to develop a simulated investment portfolio that allows users understand the profitability of different asset pools. We also wanted to account for Diversity Equity and Inclusion metrics to further analyze the social benefit of companies.
Built With
- kaggle
- keras
- matplotlib
- numpy
- pandas
- prophet
- python
- scikit-learn
- streamlit
- yfinance
Log in or sign up for Devpost to join the conversation.