Как предсказать курс доллара. Поиск доходной стратегии с языком R
Шрифт:
Давайте с помощью R поработаем с этими цифрами. Для того, чтобы выяснить, например, насколько рублей и во сколько раз за один день подорожала американская валюта, нужно, во-первых, от второй цифры отнять первую, а, во-вторых, вторую цифру поделить на первую. Иначе говоря, нам необходимо выполнить два следующих простейших действия: 1). 67.7851 – 61.1512 и 2). 67.7851/61.1512.
С этой целью последовательно щелкнем мышкой в верхней левой части RStudio по опциям File/New File/R Script, а затем введем с клавиатуры вышеуказанные цифры и алгебраические символы в редакторе кода. Затем выделим их мышкой и нажмем на клавиатуре кнопки Ctrl и Enter (Ввод). В результате в консоли (нижней левой части) RStudio появятся не только введенные нами математические выражения, но и ответы – см. рис. 3. Отправить
Рис. 3
В результате в консоли появятся следующие два выражения:
> 67.7851 – 61.1512
[1] 6.6339
> 67.7851/61.1512
[1] 1.108484
При этом после символа > в начале абзаца даны введенные нами в редакторе кода выражения, а после [1] даются полученные ответы: [1]6.6339 и [1] 1.108484. Таким образом по итогам утренних торгов, прошедших 17 декабря 2014 г., курс доллара вырос на 6.6339 руб. или в 1.108484 раза. Почему выводимые результаты в R начинаются с [1]? Это объясняется тем, что R по умолчанию рассматривает любые данные как массив данных. В данном случае выводимое число – это состоящий из одного элемента вектор, который и нумеруется соответствующей порядковой цифрой [1]. В том случае, когда вектор состоит из множества элементов, занимающих сразу несколько строк, тогда в начале каждой строки в квадратных скобках выдается порядковый номер (подсчет ведется от начала вектора) первого элемента каждой строки.
В R помимо уже использовавшихся нами для вычитания и деления символов « – » и « / » применяются также символы «+», «*», «^» (или «**»), соответственно, для сложения, умножения и возведения в степень. Например, если умножить число 1.108484 на 100 и отнять 100, то тогда получим: 1.108484*100 -100=10. 8484%. Таким образом с помощью этой операции мы выясним, что по итогам утренних торгов, прошедших 17 декабря 2014 г., курс доллара по сравнению с торгами предыдущего дня вырос на 10. 85%.
R имеет встроенную систему помощи, которая содержит подробные разъяснения, а также ссылки на литературу и примеры для каждой функции из установленных пакетов. Правда, все эти справки даются на английском языке. Например, если пользователь хочет получить справку по функции lm, с помощью которой в R решаются уравнения регрессии, то с этой целью ему надо ввести команду ?lm, либо help(lm). В результате он получит справочный файл по этой функции. Но если пользователю необходимо получить информацию об этой функции, содержащуюся во всех имеющихся справочных файлах, то в этом случае надо ввести команду help.search (lm) или ??lm.
Команда example(lm) дается в том случае, когда пользователь хочет ознакомиться с конкретными примерами по работе с этой функцией, с ее помощью можно также ознакомиться и с примерами по другим функциям, если внутри скобок вместо lm указать их название. Команда RSiteSearch(“lm”) позволяет получить справочные материалы по функции lm, имеющиеся в онлайн-руководствах и в заархивированных рассылках. Команда apropos("lm", mode="function") даст список всех функций, в которых есть название lm. Вполне естественно, что если в скобках после apropos вместо lm указать, например, foo, то тогда можно получить аналогичную информацию о foo. Список всех доступных руководств по загруженным пакетам можно получить с помощью команды vignette. Ну а если запустить команду help.start, то в правой нижней части RStudio появится обширная справочная литература по R. В первую очередь, из этого списка пользователю, знающему английский язык, можно посоветовать внимательно познакомиться с пособием «An Introduction to R» («Введение в язык R»). Кроме того, тем, кто владеет английским языком, весьма полезно будет также проштудировать еще и книгу Andrie de Vries, Joris Meys «R For Dummies» (Андри де Фриз, Джорис Мейс «R для чайников»), в которой весьма доступно излагаются
Хочу также порекомендовать нашим читателям прочитать следующие замечательные книги на русском языке: Роберт И. Кабаков «R в действии. Анализ и визуализация данных в программе R (пер. с англ. Полины А. Волковой)», С. Э. Мастицкий и В. К. Шитиков «Статистический анализ и визуализация данных с помощью R», а также коллективный труд – «Наглядная статистика. Используем R!» А. Б. Шипунова, Е. М. Балдина, П.А. Волковой, А. И. Коробейникова, С. А. Назаровой, С. В. Петрова и В. Г. Суфиянова.
Поскольку наша книга посвящена прогнозированию на валютном рынке, поэтому программированию на языке R мы будем учиться на конкретных примерах. При этом наиболее трудные моменты автор постарается объяснить, как можно проще и доступнее даже для самых неподготовленных читателей. Если же у Вас останутся какие-то вопросы, то ответы на них можно получить в перечисленной выше литературе по R. Но прежде чем перейти к главной теме нашей книги остановлюсь на наиболее распространенных ошибках, которую допускают новички, работающие на языке R.
В том случае, если программа выдает информацию о допущенной ошибке, то вполне возможно, что начинающий программист допустил одну из следующих ошибок:
1. Забыл поставить в написанном им программном коде кавычки там, где они обязательны. Так, в команде install. packages(“zoo”) название устанавливаемого пакета нужно обязательно ставить в кавычках.
2. Написал функцию прописными буквами, в то время как ее нужно было написать строчными. Например, команды ?lm, либо help (lm) будут поняты R, а вот при вводе команд ?Lm, Help (lm) появиться сообщение об ошибке. Аналогичная ошибка появится, если вместо команды по загрузке пакета library(MASS) будет ошибочно введена команда library(mass), в которой название пакета дано строчными буквами.
3. Забыл поставить скобки при обращении к функции: к примеру, нужно набирать help, а не help даже если аргументы у функции в данном случае отсутствуют.
4. Использовал в команде по установки рабочей директории setwd('C: \Users …’) при указании пути к файлу в операционной системе Windows используется обратный слэш \ , в то время как в R в этом случае нужно поставить: либо два обратных слэша \\, либо один прямой /. Таким образом эту команду надо вводить либо как setwd('C: \\Users …’), либо как setwd('C: /Users …’).
5. Ввел функцию из пакета, который еще не загружен. Например, функция read.zoo относится к пакету zoo. Если Вы этот пакет, еще не загрузили, а функцию read.zoo уже ввели, то появится сообщение об ошибке. Правда не все пакеты нужно загружать, поскольку часть пакетов, считающихся базовыми, устанавливаются одновременно с установкой R.
Задание 1. Овладеваем азами работы с языком R
После того, как читатель познакомился с некоторыми азами работы с R, теперь давайте попробуем применить их на практике. С этой целью нужно выполнить следующие задания:
1. Построить вектор А с помощью функции, которую если бы R понимал по-русски, можно было бы ввести так (какой командой в R надо заменить русское слово «объединить»):
вектор.А= объединить(2,6,8)
Какую функцию в R используют, чтобы выполнить команду «объединить»? Определите класс или тип объекта вектор.А в R
2. Построить вектор Б с помощью функции, которую если бы R понимал по-русски, можно было бы ввести так:
вектор.Б<-последовательность (0,-8, -2)
Какую функцию в R используют, чтобы выполнить команду «последовательность»? Определите класс или тип объекта вектор.Б в R.
3. Построить вектор.В из последовательностей цифр от -2.5 до 3.5 с помощью функции, обозначаемой двоеточием.
Определите класс или тип объекта вектор.В в R.
Переведите данные из вектор.В в текстовые.
Проверьте являются ли данные из вектор.В текстовыми.
Переведите данные из вектор.В в количественные (действительные числа)
Проверьте, являются ли данные из вектор.В количественными.
4. Создайте текстовый вектор Г из следующих элементов: Первый класс, Второй класс, Третий класс, Четвертый класс, Пятый класс. С помощью какой функции можно создать текстовый вектор?