User Manual
User Manual:
Open the PDF directly: View PDF .
Page Count: 10
CA400 User Manual
Ben Kelly - 15337716
Supervisor - Martin Crane
Abstract
SmartPredict is a Web application trading platform which aims to help users make
intelligent decisions about buying and selling of currencies (foreign exchange &
cryptocurrency markets). This is achieved through machine learning and chart analysis. The
application will provide the user with predictions for the market based on the knowledge it
has acquired from past data. Recommending whether the user should buy, sell or hold their
specific currency according to its current value. A user will be able to trade, view the current
market sentiment and review the prediction of the machine learning algorithm all within the
application. The following manual will be a guide to aid the user set-up, install and use the
application on their own machine. Download and installation are not necessary to use the
application, if the user does not wish to install the application locally it can be found online
at http://kellyb45.pythonanywhere.com/smartpredict.
Table of Contents
1. Installation………………………………………………………………………...2
1.1 Python & PIP.………………………………………………………….……………......2
1.2 Django & Library Prerequisites………………….……..…………………….……….2
2. General Use……………………………………...…………………...………….3
2.1 Registration……………………………………………………………………..…...… 3
2.2 Login……………………………………………………………………………….....… 3
2.3 About…………………………………………………………...…………….………… 4
2.4 Dashboard……………………………………………………...……………………… 4
2.5 Cryptocurrency Dashboard………………………………………………………...… 5
2.6 Foreign Exchange Dashboard……………………………………...……………….. 8
2.7 Logout………………………………………………………………...……………...… 9
Page 1
1 Installation
1.1 Python & PIP
In order to install Smartpredict on the user’s local machine, some programmes must be
installed. The following instructions will assume that the user is using MacOS or Ubuntu and has
sudo privileges.
To install Python, the user must go to https://www.python.org/downloads/ and download python
3.7.
The user must then open the terminal and type the following command to install PIP.
sudo easy_install pip
Upon installation of PIP, the user will need to go to the following link
https://gitlab.computing.dcu.ie/kellyb45/2019-ca400-kellyb45/tree/master/src in order to
download the SmartPredict source code repository.
1.2 Django & Library Prerequisites
The following libraries will need to be downloaded in order to run the app successfully:
pip install django==2.1.5
pip install matplotlib
Pip install sklearn
Pip install statsmodels
pip install keras
pip install numpy
pip install pandas
pip install pylab
pip install seaborn
pip install textblob
pip install tweepy
pip install oandapyv20
pip install coinbase
To run the server the user must be working in the directory in which the manage.py file
is contained and run the following command.
python3 manage.py runserver
Page 2
2. General Use
2.1 Registration
smartpredict/register
If a user wishes to access SmartPredict they need only create their account. The user will not
be able to access the app until they register. The user will be met with the following screen
where they should enter a unique username and a password which meets the requirements
specified and click ‘Sign Up’.
2.2 Login
smartpredict/login
Once registration is complete the user will be redirected to the login page where they should
enter the details they just created and press ‘login’.
Page 3
2.3 About
smartpredict/about
The about page is where the user can gain some more information about the app itself. Here
the Functional Specification can be viewed as well as a link to the Gitlab repository. On the
bottom of every page, a footer can be found which links to the creators LinkedIn profile.
2.4 Dashboard
smartpredict/dashboard
The Dashboard page is where the user can select which dashboard to view, The two markets
which Smartpredict supports are Cryptocurrency and Foreign exchange.
Page 4
2.5 Cryptocurrency Dashboard
smartpredict/cryptodashboard
The crypto dashboard is where the user can view data on two separate cryptocurrencies. The
user is met with a table indicating the following:
● The current price.
● The expected closing price.
● The relative strength index.
● The sentiment analysis.
This is where the user should focus his/her efforts as it contains the most amount of data
pertaining to the specified currency. If the user is unfamiliar with RSI and Sentiment analysis the
colour of the numbers should be noted. The number will glow:
●Green if the number is deemed to be positive/strong.
●Yellow if the number is deemed to be neutral.
●Red if the number is to be deemed negative not to be confused with a number with a
value that is less than zero.
These colours are simply to indicate performance, not the specific number shown.
Graphs of each currency can also be seen, the data is graphed over the last 100 days of
trading. The user should take note of the rise and dips of the graph this is where the currency
has gained/lost value and may be a good time to buy/sell. The user can hover their mouse over
each dot to get more data about each price point i.e. the price in euro and the date. Above the
graph, we can see the output of the prediction algorithm as well as the RSI and the current price
of the currency. The algorithm itself is Long Short Term Memory (LSTM) model trained on the
past 2,000 daily price points (about five and a half years worth of data). If the user wishes to
learn more about the machine learning aspect of SmartPredict they can consult the Technical
Manual on the Gitlab repository.
Page 5
For further analysis, a Moving Average Convergence/Divergence (MACD) graph is also
displayed. This indicates trend momentum and can be useful when looking to invest. The graph
is intended to act as a buy/sell trigger to possible investors. Users may buy the currency when
the MACD (green line) crosses above the signal line (grey) and sell the currency when the
MACD crosses below the signal line.
Page 6
For some less technical analysis, the user can study the sentiment analysis doughnut chart
displayed below. Accurately predicting currency prices solely on past data is a challenge, this is
why sentiment analysis is utilised, it adds another dimension to the overall prediction. The
system analyses Twitter to get a better understanding of what the overall opinion of the currency
is. The latest 100 tweets are analysed to determine if they are positive, negative or neutral. The
chart is then displayed based on these findings with an overall sentiment statement returned
alongside it. Like all the graphs displayed on Smartpredict, it is interactive and a user needs
only hover their mouse over the segments to analyse what percentage of tweets was deemed
positive etc.
Page 7
2.6 Foreign Exchange Dashboard
smartpredict/forexdashboard
The forex dashboard has a similar layout to the crypto dashboard. The user is again met with a
table of currencies. The difference is that in foreign exchange terms we are now talking about
currency pairs. The user is concurrently selling one currency while they buy the other. The user
should be aware that the forex market is much more stable than the crypto market which is still
extremely new and volatile. Just like the crypto dashboard the user should pay attention to the
colour of some indicators, for example, the RSI in the right-most column below.
In the forex dashboard, all the currencies are graphed together but more detail can be seen
upon hovering the mouse over each price point. The users should pay attention to the
right-hand side of the graph as these are the most recent price points and are usually more
relevant when predicting future prices.
Page 8
Sentiment Analysis is performed on Forex terms and is calculated and displayed just like the
crypto dashboard. Again the user should make use of as much of this data as possible as it can
give an insight into the current state of the market.
2.7 Logout
To log out, the user need only click the ‘Logout’ option in the header of every page.
Page 9