Inspiration

Investing comes with risk, and when paired with uncertainty, it can be daunting. We strive to help investors at all levels look deeper into the nature of a stock, including the company’s state, market conditions, and reports on the stock’s feasibility using sentimental analysis. This way, we inspire the idea that you invest with confidence.

What it does

FinRate takes in a stock symbol from the user and outputs a final decision on if the user should buy, hold, or sell. It first uses an API to Alpha Vantage to query information about a stock, including PE ratio, market cap, and earnings per share. Then, it uses NewsAPI to fetch financial articles concerning the stock and its originating company and the FinBERT model to perform sentimental analysis. With real stock data and sentimental analysis to back it up, FinRate gives the user the final verdict while explaining its decisions using Google Gemini.

How we built it

We split the work among a frontend and backend division. The frontend division drafted the frontend design on paper and used React + TypeScript (Vite) to create the web page. The backend team drew a flow chart on paper to detail the data flow from user input to verdict output and used FastAPI to integrate the model with the frontend. We also sought feedback on how the data fetched by the backend could be strengthened to ensure analysis of stocks could be accurate, and learned from a judge that sentimental analysis alone is not enough; data about the stocks is also needed to ascertain that any sentiments are reliable.

Challenges we ran into

  • The sole backend developer was not as experienced with the API they were fetching information from and spent extensive time trying to figure out how to access data from the output format. To resolve this under time pressure, they resorted to a minimal use of a language model to provide API endpoints, their applications, and how to use their output.

Accomplishments that we're proud of

  • The frontend developer was quickly able to develop a React frontend and integrate the backend seamlessly.
  • The backend developer gained insightful feedback about a judge and improved analysis scores.
  • To test the backend, the backend developer quickly learned cURL and used mock data to ensure the models were working as expected.

What we learned

  • We learned that design is important. Any team should be as unified as possible so that frontend and backend developers are able to integrate seamlessly.
  • Feedback is paramount when refining an idea. Judges are experienced and are reliable sources to gain insight into where ideas may fail, how they could be pivoted, and how feasible they are.
  • It is okay to use AI to aid with development. However, it should not replace learning and should only be used to reduce friction in searching and understanding documentation.

What's next for FinRate

  • We plan on integrating more stock parameters such as performance index and growth index.
  • We may fine tune our FinBERT model to make more specific and nuanced assessments, such as adding assessments of low, medium, or high risk.
  • FinRate currently operates per-request. Later iterations could include a database and account portfolio, complete with real-time updates to verdicts to save all the stocks the user frequently wants to invest in.

Built With

Share this project:

Updates