Установить это расширение просто. Если у вас R последней версии (2.13 на момент написания текста) то достаточно запустить его и выполнить команду:
install.packages("rusquant", repos="http://R-Forge.R-project.org")
Если R более ранней версии, но вы используете Windows, то можно поступить так:
install.packages("rusquant", contriburl="http://r-forge.r-project.org/bin/windows/contrib/latest/")
И третий вариант установки. Можно зайти на http://r-forge.r-project.org/projects/rusquant/ и вручную скачать либо исходники либо готовую версию.
Вот и всё, после сообщения об успешной установке этого и всех зависимых пакетов, вы сможете приступить к работе.
Например, можно построить дневной график фьючерса на индекс РТС:
library(rusquant) getSymbols("SPFB.RTS", from="2011-01-01", src="Finam") chartSeries(SPFB.RTS)
Кроме того, в отличии от оригинального quantmod, здесь есть маленький бонус, а именно, нам доступны не только дневные но и внутри-дневные данные. Например, можно посмотреть часовик фьючерса на золото:
library(rusquant) getSymbols("SPFB.GOLD", from=Sys.Date()-5, src="Finam", period="hour") chartSeries(SPFB.GOLD)
Или, даже, 5 минутку (будьте, однако осторожны выбирая диапазон, очень легко накачать реально много данных)
library(rusquant) getSymbols("SPFB.GOLD", from=Sys.Date()-5, src="Finam", period="5min") chartSeries(SPFB.GOLD)
Можно строить математические модели и проводить анализ российских ценных бумаг. Можно воспользоваться любым из десятков индикаторов написанных для модуля TTR, функциями работы с временными данными модуля xts и множеством других возможностей расширений R.
Всего доступны для загрузки 9 временных интервалов: 1min, 5min, 10min, 15min, 30min, hour, day, week, month. Доступные инструменты и их коды можно смотреть на сайте источника в поле имя контракта.
Что планирую добавить в дальнейшем? В первую очередь хочется добавить опционы фортс, потом тиковые данные с финама. Может быть что-то еще, что окажется полезным.
При попытке скачать котировки SPFB.GOLD вываливается
ReplyDeleteWarning message:
In download.file(stock.URL, destfile = tmp, quiet = !verbose) :
downloaded length 192913 != reported length 200
Хотя вроде бы все качается, графики строятся.
DeleteGreat Article
R Project Topics for Computer Science
FInal Year Project Centers in Chennai
JavaScript Training in Chennai
JavaScript Training in Chennai
Спасибо за комментарий, а какой период и какой временной интервал качаете?
ReplyDeleteПроблем может быть несколько, может баг, хотя мне пока не удалось воспроизвести, может быть проблема с соединением или проблема на сервере финама.
Код такой:
ReplyDeletelibrary(rusquant)
getSymbols("SPFB.GOLD", from=Sys.Date()-5, src="Finam", period="1min")
chartSeries(SPFB.GOLD)
Out такой:
> getSymbols("SPFB.GOLD", from=Sys.Date()-5, src="Finam", period="1min")
[1] "SPFB.GOLD"
Warning message:
In download.file(stock.URL, destfile = tmp, quiet = !verbose) :
downloaded length 165283 != reported length 200
> chartSeries(SPFB.GOLD)
А в интернет подключение напрямую или через прокси? Остальные инструменты качаются без варнингов?
ReplyDeleteБез прокси, у всех это warning.
ReplyDeleteРазобрался :) Дело в том, что финамовские сервера не возвращают в заголовке content-length. А в R есть две библиотеки для работы с интернетом. Одна из них пишет при этом warning в консоль, другая нет.
ReplyDeleteМожно попробовать переключить библиотеку выполнив команду
setInternet2(FALSE) после этого warning должен исчезнуть. Можно просто его игнорировать поскольку ничего страшного в нем нет :)
Ок, спасибо.
ReplyDeleteWarning in install.packages :
ReplyDeletepackage ‘rusquant’ is not available (for R version 2.13.0)
Как с этим бороться? Заранее спасибо!
Это просто предупреждение, с ним не обязательно бороться т.к. всё будет работать. Но если очень хочется, то можно поставить более свежую версию R
ReplyDeleteПодскажите в чем проблема
ReplyDelete> library(rusquant)
Загрузка требуемого пакета: quantmod
Загрузка требуемого пакета: Defaults
Ошибка: пакет ‘Defaults’ нельзя загрузить
Вдобавок: Предупреждение
In library(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc) :
нет пакета под названием ‘Defaults’
Проблема в том что quantmod не может найти пакет Defaults. Он живет в другом репозитории и поэтому не ставится автоматически (когда переедем в CRAN все наладится) Пока его можно установить вручную.
ReplyDeleteinstall.packages('Defaults')
Добрый день! Все скачал, пакеты установил, но R не может найти функцию
ReplyDelete> Ошибка: не могу найти функцию "getSymbols"
Полагаю, дело в том, что пакет не загружен. Попробуйте сначала выполнить команду
Deletelibrary(rusquant)
> library(rusquant)
DeleteЗагрузка требуемого пакета: quantmod
Загрузка требуемого пакета: xts
Ошибка: пакет ‘zoo’, требуемый для ‘xts’, не найден
Вдобавок: Предупреждения
1: пакет ‘quantmod’ был собран под R версии 2.14.2
2: пакет ‘xts’ был собран под R версии 2.14.2
Разобрался! Оказывается надо было предварительно установить вот это
Delete> install.packages('quantmod')
Большое Вам спасибо за предоставляемую информацию! Планируются ли еще статьи по R и фондовому рынку?
Да, конечно планируются, просто мой переезд оказался куда более хлопотным делом чем ожидалось изначально.
ReplyDeleteРасскажите, пожалуйста, как работать с этим объектом?
ReplyDeleteКак, например, из объекта SPFB.RTS получить таблицу, в первом столбце которой время, а во втором - цена закрытия???
Гениально!!!
ReplyDeleteСпасибо за rusquant!
Просто чудо какое-то, что наткнулся на этот блог.
P.S.
Решил освоить R, купил книгу "Наглядная статистика. Используем R!" и стал думать о том, как бы применить это на фондовом рынке. И тут попался данный блог! Прямо как откровение. И всё понятно с первого слова.
>тиковые данные с финама
Это интересно. Я планирую интрадей робота на Java реализовать.
Перед этим надо отработать основные моменты.
Получение маркет даты по опционам планируете добавлять в функционал?
ReplyDeleteДобрый день!
ReplyDeletegetSymbols("SPFB.GOLD", from=Sys.Date()-5, src="Finam", period="hour")
Ошибка в names(res) <- unlist(names) :
атрибут 'names' [10616] должен быть той же длины, что и вектор [10615]
В чем ошибка?
у меня такая же ошибка выходит :(, сдается мне что на стороне Финама что-то изменилось, что еще не учтено в этой версии rusquant , я когда еще пакет поставил обратил внимание на сообщение "Version 0.4-0 included new data defaults. See ?getSymbols." но команда ?getSymbols не вызвала помощи
DeleteАналогичная ошибка:(
ReplyDeleteОбновил пакет. Проблема была в списке инструментов с сайта Finam. Теперь работает. Добавил возможность скачивать с сайта mfd.ru
ReplyDeleteНа данный момент все детали обновления (и примеры использования загрузки данных с mfd.ru) здесь: http://r-group.mifit.ru/
Вопросы можно задавать на почту arbuzov1989@gmail.com.
В будущем надеюсь загрузим обновление на r-forge.
Здравствуйте. Не получается установить обновление. Вот такая ошибка:
DeleteWarning in install.packages :
package ‘C:/Users//Downloads/rusquant.zip’ is not available (for R version 3.0.2)
Warning in install.packages :
error 1 in extracting from zip file
Warning in install.packages :
cannot open compressed file 'rusquant/DESCRIPTION', probable reason 'No such file or directory'
Error in install.packages : cannot open the connection
Что можно сделать?
Здравствуйте,
DeleteЯ залил исправления Вячеслава на сайт r-forge, в течении ближайших суток они должны собрать и выложить новую версию. После этого можно будет установить rusquant простой командой install.packages("rusquant", repos="http://R-Forge.R-project.org")
Сергей, большое спасибо! Очень интересный блог. Благодаря ему я начал изучать R.
DeleteДобрый день!
DeleteПодскажите, какой параметр src, чтобы с mfd скачивать? По вашей ссылке выдает "Ошибка установки соединения с базой данных"
Попытался установить.
ReplyDeleteПолучил:
> install.packages("rusquant", repos="http://R-Forge.R-project.org")
package ‘rusquant’ is available as a source package but not as a binary
Предупреждение
package ‘rusquant’ is not available (for R version 3.1.0)
Serge, thanks a lot for great package!
ReplyDeleteBut could you please update it to be compatible with newest versions of R.
Best Regards
С чем может быть связана ошибка в выдаче данных все еще присутствует.
ReplyDeletegetSymbols("SPFB.RTS", from=Sys.Date()-5, src="Finam", period="5min")
Ошибка в data.frame(names, res, markets) :
arguments imply differing number of rows: 11742, 11743
Кто-то знает решение? Появилась с середины ноября 2014
Последнее время Финам постоянно изменяет файл со списком инструментов, поэтому библиотека перестает работать. Стараюсь как можно более оперативно вносить правки. Попробуйте обновить пакет, если не работает. Создал страницу с описанием основных возможностей пакета rusquant:
ReplyDeletehttp://r-group.mifit.ru/?page_id=141