ISSN 1995-1248
DOI 10.26163/GIEF

Искусственная нейронная сеть для цен закрытия акций компании «Facebook»

ARTIFICIAL NEURAL NETWORK FOR FACEBOOK SHARES CLOSING PRICE



М.О. Паньков
M.O. Pan'kov
dekanat205@yandex.ru
соискатель ученой степени кандидата наук кафедры статистики и эконометрики ФГБОУ ВО «Санкт-Петербургский государственный экономический университет»
applicant for PhD, the Department of Statistics and Econometrics, Saint-Petersburg State University of Economics
г. Санкт-Петербург
Saint-Petersburg

Ключевые слова:

  • акции компаний «Facebook», «Nike»
  • R
  • искусственная нейронная сеть
  • временной ряд
  • фондовый рынок
  • графический анализ
  • обучение с учителем
  • персептрон
  • Keywords:

  • Facebook and Nike shares
  • R
  • artificial neural network
  • time series
  • stock market
  • graphical analysis
  • supervised learning (GNG)
  • perseptron
  • Актуальность исследования заключается в развитии такой отрасли как искусственный интеллект. Подъем IT сферы повлек за собой новые возможности для специалистов многих отраслей. Статья посвящена разбору построения искусственной нейронной сети в среде программирования R. В качестве исходной базы данных рассматриваются акции «Facebook», «Boeing», «Nike» в период с 06.12.2012 по 06.12.2017 гг. В работе пошагово разбирается принцип создания искусственной нейронной сети в среде R. Рассматривается графический анализ акций. В результате работы были определены неоднозначные взаимосвязи на фондовом рынке между инструментами акций компаний «Facebook», «Nike», «Boeing», которые способствуют идеям всестороннего анализа финансовых рынков различными видами искусственных нейронных сетей.

    The relevance of the research deals with the development of artificial intelligence. The development of IT technologies has opened up new opportunities in many businesses. The article is devoted to the analysis of building artificial neural network in R software environment with Facebook, Boeing and Nike shares between 06.12.12 and 06.12.17 being used as the source database and reference tool. Step by step does the article examines principle of building artificial neural network in R software environment with focusing on graphical analysis of shares. The research reveals mixed relationships on the stock market between shares belonging to Facebook, Nike and Boeing which contribute to comprehensive analysis of financial markets by means of different artificial neural networks.

    Обзор статьи

    На сегодняшний день существует не одна библиотека работы с искусственными нейронными сетями. Это обусловлено во многом растущей популярностью данного типа аппроксимирующих моделей. С чем же это связано? Во-первых, динамично развивающиеся CPU и GPU. Развитие технологий, отвечающих за большую скорость и больший объем памяти центрального процессора и видеопроцессора, дали возможность ученым и практикам со всего света заниматься обработкой и анализом больших объемов информации, наличие которых связано с множеством факторов, таких как мощные серверы, развитие языков программирования, связанных с базами данных и т.д. Во-вторых, развитие баз данных, языков программирования позволило ученым и практикам расширить возможности для обработки и анализа информации. В-третьих, практическое применение нейронных сетей можно встретить все чаще. Например, «Siri», компании «Apple» или русский аналог «Алиса» компании «Yandex». Примером также может служить система распознавания лиц, используемая на множестве смартфонов, наибольшую популярность получившая в модели «Iphone X» компании «Apple». Примеров использования нейронных сетей становится все больше, порой это ограничивается только размахом человеческой фантазии.
    В экономике с помощью нейронных сетей на сегодняшний день можно решать задачи регрессии и классификации. В данной работе предлагается пример задачи регрессии, решаемой с помощью нейронной сети.
    В качестве основных задач данной работы можно выделить поэтапный разбор построения нейронной сети для прогнозирования временных рядов в среде R с описанием команд, анализ результатов возможных прогнозов и влияния одних временных рядов на другие с помощью графических возможностей языка программирования R [2].
    Загружаем необходимые библиотеки как для упрощения построения нейронной сети, так и для дополнительных графических возможностей. Например, библиотека ’NeuralNetTools' дает возможность представить нейронную сеть в довольно удобной форме (см. ниже). Пакеты 'nnet' и 'neuralnet' загружаем специально для построения искусственной нейронной сети. Во-первых, нам необходимо установить библиотеки в среду R, т.к. библиотеки искусственных нейронных сетей не входят в базовый набор среды [6].
    install.packages('NeuralNetTools',repos = "http://cran.us.r-project.org")
    install.packages('neuralnet',repos = "http://cran.us.r-project.org")
    library(NeuralNetTools)
    library(neuralnet)
    getwd()
    setwd("~/r/NN1")
    Условно все данные для анализа можно рассмотреть в виде списка, представленного ниже в программном коде. Всего было рассмотрено 3 компании: «Facebook», «Nike», «Boeing» за период с 06.12.2012 по 06.12.2017 гг. [8]. Всего за данный период времени по каждой бумаге представлены данные за 1260 торговых сессий. С целью диверсификации рисков внутри портфеля ценных бумаг акции рассматривались только так называемых «голубых фишек» и из разных отраслей.
    Загружаем данные из рабочей директории.
    mydata <- read.csv('nn_base1.csv', sep = ';', header = T, dec = ',')

    str(mydata)
    ## 'data.frame': 1260 obs. of 19 variables:
    plot(mydata$FBClose., type = 'l')
    На рис. 1 представлен курс акций компании «Facebook». Под курсом акций в данном случае понимается цена закрытия акции компании.
    Для корректной работы стоит убрать некоторые переменные из ряда факторов. Для решения данной ситуации в исходном наборе данных у нас присутствуют взаимозаменяемые переменные «Close» и «Adj.Close». Переменная «Adj.Close» представляет собой цены закрытия с поправкой на выплаченные дивиденды. Отказываясь от переменной «Adj.Close», избавляемся от двойного счета.
    mydata <- mydata[,-c(1,6,12,18)]
    Обращаемся к нашей таблице напрямую и смотрим названия переменных, которые остались после устранения переменной «Adj.Close».
    attach(mydata)
    names(mydata)
    ## [1] "NOpen" "NHigh" "NLow" "NClose." "NVolume" "FBOpen"
    ## [7] "FBHigh" "FBLow" "FBClose." "FBVolume" "BOpen" "BHigh"
    ## [13] "BLow" "BClose." "BVolume"
    Преодолев этап преобразования и подготовки данных для прогнозирования, создаем модель искусственной нейронной сети [5]. Она будет содержать входной слой, один скрытый слой, состоящий из 13 нейронов, а также выходной слой, в котором мы будем получать результаты прогнозирования [1].
    n <- names(mydata)
    f <- as.formula(paste('FBClose. ~', paste(n[!n %in% 'FBClose.'], collapse = '+')))
    model <- neuralnet(f,
    data = mydata,
    hidden = 13
    )

    Список использованной литературы

    1. Bose N.K., Liang P. Neural Network Fundamentals with Graphs, Algorithms and Applications, McGraw-Hill Series in Electrical and Computer Engineering. 1996.
    2. Ciaburro G., Venkateswaran B. Neural Networks with R: Smart models using CNN, RNN, deep learning, and artificial intelligence principles. Packt Publishing Ltd, 2017.
    3. Goodfellow I. [et al.]. Deep learning. Cambridge: MIT press, 2016. Т. 1.
    4. Hagan M.T. [et al.]. Neural network design. Boston: Pws Pub., 1996. Т. 20.
    5. Haykin S. A comprehensive foundation // Neural networks. 2004. Т. 2. №. 2004. С. 41.
    6. Lantz B. Machine learning with R. Packt Publishing Ltd, 2015.
    7. Schmidhuber J. Deep learning in neural networks: An overview // Neural networks. 2015. Т. 61. С. 85–117.
    8. Yahoo Finance: [сайт]. URL: http://www.yahoo.finance.com (дата обращения: 10.04.2018).

    РФ, Ленинградская область, г. Гатчина, ул. Рощинская, д. 5 к.2