Skip to content

PyStockAnalyze Architecture Overview

Lenny edited this page Apr 12, 2019 · 13 revisions

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.

googe api logo

alpha vantage api logo

Feature Cluster

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

Clone this wiki locally