-
Notifications
You must be signed in to change notification settings - Fork 2
PyStockAnalyze Architecture Overview
PyStockAnalyze takes stock data and analyzes it using information from websites on the internet. It is implemented as a Django Web Application containing the following subsystems:
| Feature | Stock Data | Textual Content |
|---|---|---|
| Database | Manage/Store Stock Data | Manage/Store Data Grabbed From Websites |
| Visualizer | Visualize Stock Data | Visualize Data Cached From Websites |
| Analytics Engine | Analyze 1-N Stocks | Sentiment Analysis on Web Content |
Each of these features will be referred to as an application or a feature cluster. The architecture of a feature cluster is described in the next section. The project has a minimum of 6 feature clusters--a database, visualizer, and analytics engine per data source. Stock data for this project will be sourced from the AlphaVantage Stock API. The web-sourced textual information used for the semantic analysis will be sourced from the Google Custom Search API. However, these are ultimately just data sources and other alternatives may be used.


The term feature cluster is being used to refer to a contained independent Django application. Therefore, the structure of a feature cluster follows that of a reusable Django application:
This implies that our Django applications will be comprised of the following files:
- init.py - included in all folders to indicate that python code is in that path and may be referenced via package notation
- models.py - ORM data models
- static/ - Static content such as image files, scripts, and CSS files
- templates/ - Web display template files
A diagram of all the components of an application in PyStockAnalyze:

- View encapsulates all of the collateral associated with viewing the dashboard for your application--the test front end
- Core includes all functional code that is not specifically geared toward django functionality--for instance, libraries that are created to handle specific data processing along with relevant user-implemented algorithms and utility functions and classes
- API is the interface logic that creates a REST API front end for the application
- Models includes all ORM data models associated with the application
NIA STEM Club (c) 2019