Light Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

roderpad/StockScreenerUI

Repository files navigation

Description

In this project, I've created a stock screener web application using FastAPI (a new Python framework built on Starlette) by following along with Part Time Larry's "FastAPI Python Tutorial - Building a Stock Screener with FastAPI" videos on youtube. The project utilizes many of the FastAPI features including pydantic models, dependency injection, background/async tasks, and SQLAlchemy integration. API endpoint testing was done using Insomnia API client.

UI Design

The frontend UI design is done using SemanticUI and Jinja2 templates, including CSS and JavaScript from the CDN.

Database Design

The database design is done using SQLAlchemy models. The database has one table 'stocks.db' that holds stock data retrieved programmatically as a background task to prevent UI hang from yahoo finance (yfinance package).

Links

How To Use

1) Install Packages,

Install required packages using pip install -r requirements.txt.

2) Run App,

Run the app by executing ./run in the terminal.

3) Open App,

Open the app by going to http://localhost:8000/ in your browser.

4) Add Stock Tickers,

Click the Add Stocks button and then type in a list of stock ticker symbols. The app will then fetch up-to-date data on each ticker and insert into a local database stocks.db.

5) Screen Stocks,

Screen stocks from those in the database by using the filters for price, forward price-to-earnings ratio, forward earnings-per-share ratio, dividend yield,50 day moving average, and 200 day moving average.

Built With

  • Python
  • FastAPI
  • SemanticUI
  • Jinja2
  • SQLAlchemy
  • Pydantic

Author

Paden Roder

Support

Contributions, issues, and feature requests are welcome!

Give a if you like this project!

About

A stock screener web application is created using FastAPI. The screener pulls data from yahoo finance from ticker symbols that the user inputs. The data can then be filtered down using a select set of metrics to screen for stocks of interest.

Topics

Resources

Readme

Stars

Watchers

Forks

Contributors