Skip to main content

You are expected to design, code, and present to the class a programming project that has a purpose (solves a real problem) for a real life user.

Introduction

  • Detailed description of your project including user/s and user requirements.

    • Our Project is a stock prediction tool that utilises Machine Learning algorithms in order to forecast the stock market changes for a certain period of time in the future. Users would be anyone over the age of 18 attempting to build or to improve their financial portfolio. Our tool will aid them in investing and buying shares from companies as well allowing them to maximise the profits and minimise their losses. It also allows more inexperienced users to attain an understading of the movement of the Stock Market allowing them to make informed decisions about their future.
  • Detailed description of your aims – SMART objectives

    • Our aims are to develop the tool as a python package and upload it to PyPi as an open source package for use all around the world. We want to allow for multiple different algorithms to be used thorugh the use of multiple function and iteration to make the results as accurate and reliable as possible. We expect the package to be finished within 3/4 weeks with v0.1-alpha already being released on GitHub as a pre-release. Release v1.0 is expected to be our initial release and first fully functional version released in 3/4 weeks and then after that we shall use user feedback in the form of issues and pull requests on GitHub in order to improve the project.

Description of current system in place or lack of system.

  • Who are the users?
    • The users are people interested in finance or the economy and our tool can be easily integrated in websites using the Django framework for python or in applications on desktop using Cython/CPython and C++ or mobile through Java (with Jython) and Swift.

Design

System Design

  • Show understanding of how to model a complex system by only including essential details.

  • Use a structure chart to express the parameters passed between the various modules (input, process, output).

  • Identify procedures/functions which are part of the algorithm design.

  • Describe the purpose of a structure chart.

  • Construct a structure chart for the problem.

  • Derive equivalent pseudocode from the structure chart.

  • Document a simple algorithm using:

    • Structured English
    • Pseudocode
    • Program flowchart

TaskList

  • Write a function to get the Stock data for user-specified companies.
  • Write a function to use the data to predict using a Support Vector Machine algorithm.
  • Write a function to use the data to predict using an Artificial Neural Network algotithm.
  • Write a function to use the data to predict using an Linear Regression algorithm.
  • Iterate over the functions settings to find the best algorithm and its settings with the best coeffecient of determination R^2.
  • Develop a GUI for easier use either on an app or on a website.

Testing

System implementation

  • Write the program in a high-level language (e.g. Python or VB.net)

System Testing

  • Show awareness of why errors occur

  • Show understanding of how testing can expose possible errors.

  • Appreciate the significance of testing throughout software development.

  • Show understanding of the methods of testing available: dry run, walkthrough, white-box, black-box, integration, alpha, beta, acceptance.

  • Show understanding of the need for a test strategy and test plan and their likely contents.

  • Choose appropriate test data (normal, abnormal and extreme/boundary) for a test plan.

Review

User Review

  • Ask your prospective users to test and provide feedback for your product.

  • What improvements could you make in the future?

  • Peer review from another member of the class.

Project Evaluation

  • How did your project go?

  • Was it a success, why/why not?

  • How many of the SMART objectives did you meet – why/why not?

Final Comment

Final Comments and review of project

By Athavan, Anish, Erekle

Metadata

Release files for Summer-Project 2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Summer-Project 2.0
File Size Uploaded Provenance
Summer-Project-2.0.tar.gz 4.5 kB Without provenance Details

Release files / Summer-Project-2.0.tar.gz

Download URL Summer-Project-2.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
89c1b37d7ba2ac1ebb8121ca3b0a8892f5ed1e7adaf9e6f78b8d86546decd192
BLAKE2b-256 checksum
How to use checksums
10abb1aecae8740f390d0862b7bb89306ec220e3b2a94b194062231244b13a76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

Security for Summer-Project 2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page