Summer Project
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
Our Project is a Stock Market Prediction tool that utilises Machine Learning
algorithms in models such as Linear Regression
and Support Vector Machine
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 understanding of the movement of the Stock Market* allowing them to make informed decisions about their future.
Distribution
Our aims are to develop the tool as an Official Python Package and upload it to PyPi
as an open-source package for use all around the world. Through this, we can make our project much more accessible and also increase its development by decreasing possible bugs through user engagement with platforms such as Github
allowing users to make Issues
and Pull Requests
which can aid the development of the tool. We want to allow for multiple different algorithms to be used through the use of multiple function and iteration to make the results as accurate and reliable as possible. We will release the project in iteration ranging fromv0.1a
to v2.1
+ using Github
release system and will package and make public each major update, i.e. one with a major bug fix or a new version such as v3.0.
Integration
The users are people interested in finance or the economy and our tool can be easily integrated into websites using the Django
or Flask
framework for Python or in applications on desktop using C++ or mobile through Java and/or Swift. Another alternative would be to develop a RESTful API
with Flask
(which has been made) and then integrating this with a NodeJS
application on the Electron
framework using AJAX
requests in Back-End in order to transfer the data to a modern-looking GUI or application.
Releases
This may not be entirely up-to-date. For download, reference the PyPi site or the Github site.
****RTFD****
__ARU300 released this 8 hours ago · 4 commits to master since this release
Another release for RTFD, updating the mkdocs.yml
.
ReadTheDoc
ARU300 released this 9 hours ago · 7 commits to master since this release
Added a .readthedocs.yml
and a mkdir.yml
in order to integrate support with the ReadTheDocsSite.
Documentation is now live on Read The Docs.
LSTM
ARU300 released this yesterday · 21 commits to master since this release
Since v1.0
we have developed a new method of Stock Market Prediction using the Keras
libraries LSTM
Model.
The API
has also been updated to include these changes.
The next major update will entail document changes and maybe a deployment to repl.it
or Heroku
.
API Prediction
ARU300 released this on 26 Jul · 32 commits to master since this release
First Release!
Since v0.1a
, we have made a few developments in terms of software.
Errors
We have been ironing out errors in the code and making sure that the Linear Regression
and Support Vector Machine
algorithms work as expected.
New Additions
We have developed an API and website in Flask
that runs on https:\\localhost:5000
. The API can be used to output the predictions.
Future Development
We are going to integrate an LSTM
algorithm + some other algorithms and iteration to find the best prediction possible. This is expected to be our v2.0
release. The v1.X
updates may mainly include website changes and documentation changes.
Stock Analysis
__ARU300 released this on 5 Jul · 32 commits to master since this release
Stock Anlaysis
What works?
Disclaimer: The project has only been active for around 2 days with under 12hrs of work.
Stock,py
works with a function namedgetStock
. By entering the 'companyName' you can retrieve the stocks and a plot for the stocks from the previous year. *(To plot the results set the parameter 'plot' to true and 'mavgPlot' to true as well in order to plot the Moving Average as well.SVM Predict.py
does work, however in pre-releasev0.1-alpha
it is not yet a function however it shall be in thev1.0
release.Predict.py
does not work and will need to be improved and fixed.
Legal
Our project is licensed under the GNU General Public License v3.0.
Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.