Вот и я поддался искушению сделать что-то для людей и решил поделиться своей поделкой по подготовке исторических данных для написания и тестирования алгоритмов торговли в программе TSLab.
Сразу скажу, что программист из меня никакой, так как только пару дней изучаю язык R. Поэтому всё сделано «в лоб» путём гугления необходимых функций.
Итак, поехали.
Для начала, нам нужен источник данных. Я для себя выбрал
Quandl. Во-первых, потому что он бесплатный (правда ограниченное количество тикеров и только дневные данные, интрадей за деньги), а во-вторых, и что самое главное, он выдаёт скорректированные цены не только закрытия, как это делает Yahoo, а ещё и открытия, максимума и минимума, что очень важно для написания и тестирования роботов.
Поэтому, первым делом, идём на сайт и регистрируемся. Получаем в личном кабинете ключ, который нам понадобится позже.
Выглядит это так:
Далее нужно скачать и установить RStudio:
ссылка.
Процесс установки стандартный, останавливаться на нём не буду.
Открываем в RStudio готовый скрипт:
скачать.
Что нужно поменять в скрипте
1. В строке 8 вставить свой API внутрь кавычек:
2. В строке 12 тикер акции, данные которой вы хотите заиметь. В примере WIKI/T, где WIKI — это название бесплатной базы в Quandl, а T — тикер AT&T.
Также в этой строке меняется начальная дата, то есть до какой глубины будут качаться данные. Формат даты тут «YYYY-MM-DD».
data <- Quandl('WIKI/T', type = "xts", start_date="1997-01-01")
3. В строке 16 также надо поменять тикер внутри кавычек.
data[, 1] <- "T"
4. В строке 56 указывается путь, по которому нужно сохранить CSV. Укажите свой путь и название файла.
write.table(tslab_txt, file="D:/QuandlDataSets/t.csv", sep=",", quote=F, row.names=F)
Всё, теперь надо выделить весь скрипт (CTRL + A) и нажать кнопку Run:
По указанному пути появится файл, в примере t.csv. Убедитесь в наличии указанных папок, иначе скрипт выдаст ошибку.
Вот и всё.
Описывать то, как подгрузить файл с данными в TSLab не буду, если кто-то не знает — гугл в помощь.
P.S. Буду признателен, если кто-то из старших товарищей программистов поделится отзывами на доступные ресурсы (курсы, блоги, статьи) по изучению языка R для финансов.
UPD: Исправил скрипт, чтобы не удалять кавычки в редакторе. Спасибо, Sergey Pavlov.
Последнюю операцию по удалению кавычек можно избежать, если установить параметр quote=F. По умолчанию он трушный:
Дневные данные, к сожалению, малополезны. А сколько на Quandl стоит платная подписка?
ch5oh, дорого. Например, минутки на весь S&P500 стоят $1000 в год.
https://www.quandl.com/data/AS500-S-P-500-One-Minute-Bars/pricing?license=348&plan=710&step=2
Иными словами, при уменьшении числа сделок в 2 раза нужно молиться не в 4 раза лучше, а раз в 8. Точный показатель степени не измерял, но идея, надеюсь, понятна. ;-)
Хотя, наверное, у хфтшников совсем иные взгляды на это дело)