Гидра - программа для скачивания и накопления маркет-данных. В данной статье расскажем, как скачивать историю с Google Finance, брокера Gain Capital и сервиса IQFeed.
Для начала расскажем немного об интерфейсе программы. После первого запуска вы увидите главное окно, которое предложит вам выбрать источники данных.
Обратите внимание на описание каждого источника, если рядом с ним написано:
Source is designed to get history data … - то это означает возможность скачивания исторических данных,
а если написано:
Source is designed to get market-data .. - то это означает возможность подключения к реалтайм источнику данных и самостоятельному сбору истории. Забегая вперед, подобный способ зачастую дешевле простой покупки данных у дата-вендора.
Теперь выберем ряд источников и попробуем получить маркет дату. В качестве таковых мы предлагаем использовать: Google (как источник исторических данных), OECTrader (как источник реал-тайм данных, который вам даст брокер при открытие счета), IQFeed (как источник реал-тайм данных с максимальным количеством одновременных подписок).
Ставим галочки напротив выбранных источников.
После нажатия кнопки ОК, программа предложит вам включить дополнительные возможности.
Они достаточно полно описаны в самой программе, поэтому не будем здесь вдаваться в описание каждой из них.
Для того, чтобы двигаться дальше достаточно будет просто нажать ОК, не выбирая в данном окне ничего. При необходимости всегда можно вернуть данную настройку через кнопку ADD -> Tools и выбрать необходимое.
После всех проделанных процедур мы получаем в левом окне добавленные источники, каждый из которых теперь необходимо настроить.
Google FinanceДелается это простым нажатием на кнопку карандаша,
которая открывает окно настроек.
Быстренько пробежимся по каждой из них, чтобы сложилось полное понимание. Итак:
Start date - дата с которой Hydra будет получать рыночные данные
Time Offset - смещение времени. В данном случае 1 означает, что данные за сегодняшний день скачаны не будут. Это нужно для того, чтоб не скачать половину дня, когда торги еще не завершены.
Weekend - когда галочка установлена выходные дни игнорируются.
Time interval - hydra скачивает данные по частям. Данный параметр позволяет указать насколько большие части будут использованы. При значении 30 программа будет скачивать данные пакетами по 30 дней.
Header, work from, work until, work interval - настройки по работе самой программы, в течение какого времени она должна загружать данные (от и до)
Data directory - папка в которой будут храниться скачанные данные, можно оставить по умолчанию, можно выбрать любую собственную.
Рекомендуем создавать под каждый источник отдельную директорию, чтобы данные не перезаписывались.Format - формат сохраняемых данных. Поддерживается BIN - специальный формат Hydra позволяющий получать уникальную степень сжатия (2 байта на тик, 7 байтов на стакан) либо всем известный CSV (тут объем обычный)
Max.errors - максимальное количество ошибок в источнике.
Dependency - указывает на добавленную задачу, которая должна быть выполнена до текущей (в нашем случае это может быть либо IQFeed, либо OEC Trader)
Logging level - уровень логирования.
Давайте оставим все данные по умолчанию и выберем бумаги по которым будет происходить скачивание данных. Допустим выберем штук 5 тикеров, входящих в S&P500 индекс, например: MMM, AFL, GOOG, AAPl, T.
Для этого все эти инструменты нужно добавить:
Поскольку источник Google не поддерживает автоматическое добавление инструментов, то потребуется добавление их в базу вручную
Далее повторяем процедуру для каждой бумаги и перемещаем их в раздел Selected
После этого просто подключаем источник
и нажимаем Start.
По окончании скачивания вы должны получить вот такие результаты
OpenECry (Gain Futures) Источник рыночных данных для клиентов Gain Capital, который вам дает брокер бесплатно при открытие счета. Ключевые настройки источника во многом аналогичны настройкам, которые мы сделали в Google с той лишь разницей, что теперь нужно вносить логин/пароль от вашего аккаунта для доступа к потоку данных и выбрать правильный адрес с которого эти данные будут идти. Предустановлено 3 возможности: тестовый сервер (к которому подключаемся мы и который предназначен для разработчиков), симулятор (сервер для демо счетов), реальный сервер (сервер, имеющий подключение к реальному рынку и реальным счетам). Если у вас открыт счет, то ваш выбор реальный сервер.
Параметр Candle from data нужен для указания начальной даты, с которой необходимо скачивать историю в виде свечей.
После того, как вы это сделаете добавляем инструменты данные по которым мы хотим получить, поскольку OEC поддерживает автоматическую загрузку и поиск инструментов, делаем это через кнопку Download Securities, с последующим добавлением их через код инструмента. Наш выбор ESZ6 (мини S&P) и NQZ6 (мини Nasdaq).
В результате добавления у вас должно получиться тоже самое, что представлено на картинке.
Теперь обратите ваше внимание на нижнюю часть окна. В самом начале статьи мы говорили о том, что Hydra поддерживает загрузку и хранение множества типов рыночных данных, настройки о том какие данные загружать можно сделать с помощью соответствующей панели:
On Ticks - означает, что будут загружаться тики
On Market Depth - означает, что будут загружаться стаканы
Candles имеет дополнительную настройки при нажатии на кнопку можно выбрать типы свечей которые будут загружаться, вот как это выглядит:
On Level 1 - означает, что будут загружаться лучший бид/аск, а также ряд полей фундаментальной статистики тикера.
Теперь достаточно нажать кнопку Start и Hydra начнет получать данные и сохранять их локально. При этом, получаться будут как исторические, так и рыночные данные по торгам, которые идут прямо сейчас!
Таким образом, можно самостоятельно накапливать и сохранять рыночные данные, а затем использовать их при тестировании собственных стратегий.
IQFeedIQFeed предоставляет, как и OpenECry, интрадей данные. Но, в отличие от OEC, IQFeed поддерживает очень большой диапазон параллельных подписок, а также значительно большую глубину истории, как по свечам, так и по тиковым данным.
Настройки источника аналогичны OpenEcry:
Параметр Candle from data нужен для указания начальной даты, с которой необходимо скачивать историю в виде свечей.
Параметр Ticks from data нужен для указания начальной даты, с которой необходимо скачивать историю в виде тиков.
Все остальные действия аналогичны описанным выше.
Работа с даннымиТеперь после всех манипуляций, нужно понять, а как же с этими данными работать и что еще может программа. Напомним, что данные сохраняются в той папке, куда вы их скачали, но как посмотреть, что получилось.
Для этого обратимся к источнику OEC Trader по которому было скачано множество данных, выделим его и нажмем правую кнопку мыши.
После этого из менюшки можно выбирать то, каким образом работать с инструментом. Давайте выберем Market Depths и затем в открывшемся окне нажмем кнопку с лупой.
В результате мы получим подобную картинку
Далее аналогично выбираем Level 1, а потом Candles 1 min, только в окне работы со свечами выбираем не лупу, а кнопку “Построить график”. Результаты показаны на рисунках ниже
Вот таким образом можно просматривать данные и работать с ними прямо из программы.
Надеемся наш продукт поможет вам в трейдинге и разработке прибыльных торговых систем.