Для пользователей R 3.0
Если у вас не получается установить rusquant стандартным способом, попробуйте установку их исходников:
install.packages("rusquant", repos="http://R-Forge.R-project.org", type="source")
install.packages("rusquant", repos="http://R-Forge.R-project.org", type="source")
RusQuant это модуль расширение для программной среды R, разработанное для того, чтобы упростить работу с данными Российских площадок РТС и ММВБ.
RusQuant дополняет собой модуль quantmod, реализуя стандартные интерфейсы для получения данных из открытых источников.
Как установить RusQuant? Нет ничего проще, запускаем R и выполняем команду:
install.packages("rusquant", repos="http://R-Forge.R-project.org")
История изменений
v 0.1
Реализована автоматическая загрузка исторических данных с Finam. Доступны временные интервалы начиная с минутного и заканчивая месячным.
v 0.2
Автоматическая загрузка исторических данных с сайта РТС. Доступны только дневные данные с задержкой 15 минут.
Автоматическая загрузка доски опционов с сайта РТС.
v 0.3
Добавлены тиковые данные с сайта Finam
v 0.3.3
Добавлены дивиденды с сайта Тройка Диалог
Планы
Добавить вычисление скорректированных цен акций, с учетом дивидендов.
Добавить статистику.
Примеры
Примеры работы с rusquant можно посмотреть в статьях:
Исследуем Российский рынок ценных бумаг с помощью R
Обновление rusquant 0.2
Тиковые данные rusquant 0.3
Дивиденды rusquant 0.3.3
Полезный пакет, спасибо!
ReplyDeleteДо сегодняшнего дня (пока наткнулся на Ваш блог=) загружал данные с помощью vba и api альфадиректа в текстовые файлы, а потом уже крутил в R.
Котировки с Финама перестали грузиться. Кажется, Финам поменял URL для загрузки. Планируете фикс?
ReplyDeleteСпасибо за блог! Очень интересно и доходчиво вы рассказываете про машинное обучение и его применение на бирже.
valinn, пришлите пожалуйста пример скрипта, который Вы используете, я только что проверил пару простых скриптов типа
ReplyDeletegetSymbols('SBER', src='Finam') и все грузится. Возможно были временные проблемы на финаме? И, да, пару месяцев назад они меняли URL после чего пришлось обновить версию библиотеки, так что если у Вас стоит старая версия, то рекомендую обновиться.
Оказалось, проблема была с RStudio: она не хотела выходить в интернет. Починил. Вопрос снимаю. Спасибо!
DeleteОчень полезный пакет. С новой версией R 3.0.0 перестал работать. Просьба к автору пересобрать пакет заново.
DeleteСергей, добрый день!
ReplyDeleteСпасибо за замечательный пакет. Планируете ли вы его обновление для версии R 3.0?
Он, к сожалению, перестал работать.
Александр
Добрый день!
ReplyDeleteОчень нужный пакет, большое спасибо!
Есть, кажется, проблема с тикерами, содержащими символы типа "&", такими, как "MICEX O&G" (индекс нефтегазовой отрасль).
Я пробовал вот как:
> setSymbolLookup(MICEXOG = list(name="MICEXO&G",src="Finam"))
> getSymbols('MICEXOG', from = dti, to = dtf, per = "1min", verbose = T)
При этом в то в HTTP-запрос попадает параметр cn=MICEXO&G и закачивается файл без заголовков, с которым программа не может работать дальше.
Error in `[.data.frame`(fr, , (5:9)) : undefined columns selected
Для того, чтобы закачивался "правильный" файл с заголовками, нужно чтобы в URL было не cn=MICEXO&G, а cn=MICEXO%26G
Однако если написать
> setSymbolLookup(MICEXOG = list(name="MICEXO%26G",src="Finam"))
> getSymbols('MICEXOG', from = dti, to = dtf, per = "1min", verbose = T)
то возникает ошибка "Don't know about MICEXOG" (видимо, под этим именем тикер не находится в общем списке)
Буду очень благодарен за любую подсказку - как действовать дальше?
С уважением,
Александр
Добрый день. Очень полезный пакет, большое спасибо! Помогите, пожалуйста, разобраться с закачкой исторических данных по фьючерсам РТС. Если для скачивания склеенных данных необходимо указать SPFB.RTS или SPFB.BR, то как скачать данные по RIU3, BRU3 или BRV3 - неясно. Пробовал указывать как SPFB.BRU3, так и просто BRU3 - всё одинаково, котировки не закачиваются. :( А очень хочется проверить ряд идей с фьючами, но выкачивать их всевозможные комбинации руками с Финама и потом закачивать в R - совсем не весело.
ReplyDeleteС уважением, Константин.
не получается получить данные с Финама
ReplyDelete> getSymbols('SPFB.RTS', from='2013-10-01', to='2013-11-08', src='Finam')
As of 0.4-0, ‘getSymbols’ uses env=parent.frame() and
auto.assign=TRUE by default.
This behavior will be phased out in 0.5-0 when the call will
default to use auto.assign=FALSE. getOption("getSymbols.env") and
getOptions("getSymbols.auto.assign") are now checked for alternate defaults
This message is shown once per session and may be disabled by setting
options("getSymbols.warning4.0"=FALSE). See ?getSymbol for more details
Ошибка в names(res) <- unlist(names) :
атрибут 'names' [10715] должен быть той же длины, что и вектор [10714]
Обновил пакет. Проблема была в списке инструментов с сайта Finam. Теперь работает. Добавил возможность скачивать с сайта mfd.ru
ReplyDeleteНа данный момент все детали обновления (и примеры использования загрузки данных с mfd.ru) здесь: http://r-group.mifit.ru/
Вопросы можно задавать на почту arbuzov1989@gmail.com.
В будущем надеюсь загрузим обновление на r-forge.
Сергей, добрый день!
ReplyDeleteУ меня возникает ошибка при получении данных. Прошу помощи!
> getSymbols("SPFB.RTS", from="2011-01-01", src="Finam")
Ошибка в names(res) <- unlist(names) :
атрибут 'names' [10972] должен быть той же длины, что и вектор [10971]
Должно быть исправлено в версии 0.3.7, которая в ближайшие сутки появится на сайт
DeleteУ меня на mac os x 10.8.2 с R 3.1.1 поставилось только так:
ReplyDeleteinstall.packages("rusquant", repos="http://download.r-forge.r-project.org/", type="source")
В связи с удалением пакета Defaults с CRANa возникла проблема установке пакета rusquant.
ReplyDeleteПоправил проблему. На данный момент актуальные исходники находятся на r-forge но пока еще не собранные.
Исправленную версию пакета можно установить из zip архива:
https://www.dropbox.com/sh/rbx294u738m26c8/AAB-bVB5VjLrD6NQT9-872hqa?dl=0 (ссылка на архив)
Добрый день! Опять изменился список инструментов Финам (добавился ещё один).
ReplyDeleteОшибка аналогичная той, которую упоминал Ole Mub - November 18, 2013 at 1:46 PM.
Со вчерашнего дня новая ошибка
ReplyDelete> SBER <- getSymbols("SBER", from="2009-01-01", to="2009-12-31", src="Finam", period="5min", auto.assign=FALSE)
Error in data.frame(names, res, markets) :
arguments imply differing number of rows: 11684, 11685
Видимо Финам опять что-то подправил(
Добрый день,
ReplyDeleteДавно пользуюсь quantmod и quantstrat библиотеками, только что наткнулся на реализацию для нашего рынка. Финам поменял список инструментов, обновите пакет пожалуйста.
Огромное спасибо!
Я у себя поправил исходники, и переустановил библиотеку из архива. Если кому надо, качайте отсюда https://www.dropbox.com/s/du23e8pzi7yh638/rusquant_0.3.8.tar.gz?dl=0
ReplyDeleteНаучите меня обновлять библиотеку в репозитории, я и там поправлю:)
Добрый день,
ReplyDeleteУстановка пакета с https://www.dropbox.com/s/du23e8pzi7yh638/rusquant_0.3.8.tar.gz?dl=0 не решила проблему.
Есть какие-нибудь решения?
Извиняюсь...
ReplyDeleteво всем виноваты кривые руки. все работает. Огромное спасибо и за пакет, и за исправления.
Ошибка в выдаче данных все еще присутствует.
ReplyDeleteКто-то знает решение?
getSymbols("SPFB.RTS", from=Sys.Date()-5, src="Finam", period="5min")
Ошибка в data.frame(names, res, markets) :
arguments imply differing number of rows: 11742, 11743
Спасибо, все работает, данные из Финама импортируются
ReplyDeleteработает? странно. у меня последние 2 недели пстоянно ошибкаОшибка в data.frame(names, res, markets) :
ReplyDeletearguments imply differing number of rows: 11753, 11754
Последнее время Финам постоянно изменяет файл со списком инструментов, поэтому библиотека перестает работать. Попробуйте обновить пакет, если не работает. Создал страницу с описанием основных возможностей пакета rusquant:
ReplyDeletehttp://r-group.mifit.ru/?page_id=141
Error in data.frame(names, res, markets) :
ReplyDeletearguments imply differing number of rows: 12008, 12009
Можно с этим что-то сделать?
> install.packages("rusquant")
ReplyDeleteWarning in install.packages :
package ‘rusquant’ is not available (for R version 3.2.3)
> install.packages("rusquant", repos="http://R-Forge.R-project.org", type="source")
ReplyDeleteInstalling package into ‘C:/Users/ekharchenko/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
Warning in install.packages :
package ‘rusquant’ is not available (for R version 3.2.2)
Hа новых версиях R, rusquant не хочет устанавливаться из репозитория, качайте файл rusquant_0.3.9.zip руками и устанавливайте, выбирая в качестве источника не репозиторий CRAN, а файл zip. Затем устанавливаем зависимые от него пакеты.
DeleteС финама не грузиться NASDAQ 100, так как в имени пробел, с MFD S&P 500, из-за символа &. Есть ли возможность добавить функцию для загрузки данных по Tickers ID?
ReplyDeleteОбновил R до версии 3.3.1, установил вручную rusquant 0.4.0, но увы, что-то поломалось:
ReplyDeleteПри попытке использования getSymbols с источником Finam получаю это:
Error in data.frame(names, res, markets) :
arguments imply differing number of rows: 13754, 13756
подебажил немного.
Deleteпроблема в "loadStockList" последних двух версий файла /pkg/R/getSymbols.R
Во-первых, после чтения данных и парсинга, почему-то names короче на 1 чем markets и ids, возможно проблема в исходных данных, глубоко не разбирался.
Но вот это я совсем не понял:
names[[1]]->names
names[-(11414)]->names
В итоге взял эту функцию из версии файла 31 (https://r-forge.r-project.org/scm/viewvc.php/pkg/R/getSymbols.R?view=markup&root=rusquant&pathrev=31), она работает.
Похоже финам опять поменял свой айпи. Перестало работать(
ReplyDeleteв дропбоксе для виндоус, а на линукс он не ставится(((
ReplyDeleteНе могу установить, подсажите, пожалуйста, что делать при ошибке "Скачанные исходники пакетов находятся в
ReplyDelete‘C:\Users\asus\AppData\Local\Temp\RtmpwpwZ8R\downloaded_packages’
Предупреждение:
В install.packages("rusquant", repos = "http://download.r-forge.r-project.org/", :
установка пакета ‘rusquant’ имеет ненулевой статус выхода
"
понимаю, что он установлен, но как то не так, как нужно...((