<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Cryptocurrencies Prices Forecasting With Anaconda Tool Using Machine Learning Techniques</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleksandr Snihovyi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksii Ivanov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vitaliy Kobets</string-name>
          <email>vkobets@kse.org.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kherson State University</institution>
          ,
          <addr-line>27, Universitetska st., Kherson, 73000</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The research goal is to study criteria which affect the price of a cryptocurrency and their usage for the price forecasting using Machine Learning techniques. The subject of research is forecasting of most famous cryptocurrency Bitcoin using the most popular Python Data Science Platform - Anaconda. Research Methods are machine learning, data analysis, and multiple regression. A set of criteria which affect the price of the cryptocurrency were defined based on the analysis of public information. Their correctness was tested using Machine Learning algorithms. As a result of simulation experiment through the application using real data from open sources, we have found that selected combination of criterion can explain more than 70% of cryptocurrencies prices variation using either Multiple Regression or Random Trees or Long ShortTerm Memory networks.</p>
      </abstract>
      <kwd-group>
        <kwd>cryptocurrency</kwd>
        <kwd>bitcoin</kwd>
        <kwd>forecasting</kwd>
        <kwd>machine learning</kwd>
        <kwd>multiple regression</kwd>
        <kwd>random forests</kwd>
        <kwd>lstm</kwd>
        <kwd>long short-term memory</kwd>
        <kwd>python</kwd>
        <kwd>data science</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The story of cryptocurrencies had started in 2009 when Bitcoin was born. It was the
first decentralized digital currency with emphasis on cryptography [1]. After nine
years, almost 1500 live cryptocurrencies exist [2], and their number continues to
overgrow [3].</p>
      <p>Another trending sphere that is developing rapidly in the last few years is Machine
Learning (ML). It is a method of data analysis that automates analytical model
building. ML allows applications to find hidden insights without being explicitly
programmed [4]. One of the most common task ML solves correctly is forecasting.</p>
      <p>The purpose of the paper is to formalize criteria which affect the price of
cryptocurrencies and use them in the price forecasting experiment developed with Python
Anaconda Data Science tool with ML algorithms.</p>
      <p>The paper is organized as follows: part 2 describes dataset and ML algorithms used
in an experiment and the results of the experiment, and the last part concludes.</p>
      <p>
        Cryptocurrencies Dataset and ML Prediction Algorithms
Information about cryptocurrencies like their prices per date, their supply, mining
difficulty, and other is open source. So we combined data into one dataset [5]. It has
next columns:
• date, from 25th of January 2017 to 2
        <xref ref-type="bibr" rid="ref2">2 of January 2018</xref>
        separated by weeks;
• price - the price of Bitcoin for each date (in USD);
• supply - the Bitcoin's total number of coins for each date;
• difficulty - the Bitcoin's mining difficulty for each date (hash rate)[8-hashrate];
• trading_volume - the Bitcoin's trading volume for each date;
• reaction - average society reaction on Bitcoin for each date ("-1" is negative, "1" is
positive, and "0" is neutral);
Our dataset has 105 rows, and it was separated into two subsets: training and testing.
70% of data is training set (it is 73 rows) and 30% if data is verification set (it is 32
rows).
      </p>
      <p>In our research we decided to use three supervised ML algorithms to verify if these
criteria can be used in cryptocurrency’s price prediction in such combination:
• Multiple Linear Regression with default configuration sklearn configuration;
• Random Forests with 100 trees;
• Long Short-Term Memory Networks with 50 neurons on a hidden layer and 100
epochs of training.</p>
      <p>Linear regression shows relations between variables and how changes affect them.
Random Forests algorithm uses a bagging approach to create a bunch of decision trees
with a random subset of data. LSTMs are capable of learning long-term dependencies.
The research question is: Which criteria affect the price of the cryptocurrency and
how? We have found next points:</p>
    </sec>
    <sec id="sec-2">
      <title>1. Total number of mined coins;</title>
      <p>2. Mining difficulty level;
3. Cryptocurrency’s trading volume;
4. Perceptions of the cryptocurrency’s value by the society;
5. Price of Bitcoin.</p>
      <p>After all three predictions, we were able to find mean squad error and coefficient of
determination. Linear regression application output was:</p>
      <sec id="sec-2-1">
        <title>Mean squared error: 2274869.02 R^2 score: 0.79</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>But, Random Forests application output was:</title>
      <sec id="sec-3-1">
        <title>Mean squared error: 585482.78 R^2 score: 0.97</title>
        <p>25000
20000
15000
10000
5000
In the graphic below we display the results of both predictions in contrast to real
values. (fig. 3).
Thus we have tested the correctness of the selected criteria combination on their effect
on the price of Bitcoin. For our experiment, we used Multiple Linear Regression,
Random Forests, and LSTM ML algorithms implemented with Python in Anaconda
Data Science tool. As a result, we have found that selected combination of criterion
can explain more than 70% of Bitcoin’s price.</p>
        <p>
          On this base, we plan to study additional criteria which affect prices of
cryptocurrencies to be able to forecast their prices more accurate.
3. 2018 Will See Many More Cryptocurrencies Double In Value,
https://www.forbes.com/sites/kenrapoza/2018/01/0
          <xref ref-type="bibr" rid="ref2">2/2018</xref>
          -will-see-many-morecryptocurrencies-double-in-value, last accessed: 2018/1/27
4. Nilson, N.J.: Introduction to Machine Learning. An early draft of a proposed textbook,
Robotics Laboratory Department of Computer Science, Stanford University, Stanford, CA
94305 (2005)
5. Dataset, https://drive.google.com/open?id=1pBCtHw4DEGJnqiy-R8Ko3cgD2NRS-qw8
6. Chart dataset,
https://drive.google.com/open?id=15CbWUZ2dZLYoYentP5qGcF4GWgdn8yG
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bitcoin</surname>
          </string-name>
          :
          <article-title>A Peer-to-Peer Electronic Cash System</article-title>
          , https://bitcoin.org/bitcoin.pdf, last accessed:
          <year>2018</year>
          /1/27.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. All cryptocurrencies, https://coinmarketcap.com/all/views/all/, last accessed:
          <year>2018</year>
          /1/27
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>