Подготовка данных для построения базиса арбитража

  • 485 Views
  • Последнее сообщение 03 июля 2017
coder-ex posted this 03 июля 2017

1. это у меня так или у всех, на Финаме нет склейки фьючей GAZR

2. и еще не совсем понятно с нулевой настройкой, к примеру очистив полностью каталог FutureData, в структуре каталогов робота, достаточно ли будет скопировать и затем импортировать нужные тикеры? или нужно еще какие то конфигурационные пляски с бубном устраивать вокруг этого каталога, прописывая руками какие то конфиг файлы?

3. если я загружу контракты с конкретным сроком исполнения, т.е. за период к примеру год загружу по 4 фьюча каждого тикера, то будет ли программа считать корректно, если диапазон выборки будет превышать 3 месяца?

4. если я загружу фьючи склейки за период к примеру год с мая по май, а в июне перед автоматическим обновлением выберу год с июня по июнь, то будет ли автоматическое обновление загружать обновленные даты, или нужно по новой качать файлы с Финама?

5. если грузить фьючерсы с реальным сроком исполнения т.е. с месяцем и годом экспирации, то выбирая диапазон куда эти фьючерсы не попадают, нужно дополнительно с Финама качать эти диапазоны или автоматическое обновление уже само подхватит нужные контракты по диапазону выборки?

6. не понятно по формулам вставляемым в описание инструмента, где их брать и почему это не сделано автоматом?
в примере мануала по индексу РТС формула : цена*$/50
цена и знак доллара понятно, текущая цена и текущий курс доллара, но что за константа 50? почему мы цену умножаем на курс доллара? если РТС у нас в пунктах, то переводится все из пунктов в рубли без всяких там курсов доллара

И почему после того как сохранишь историю с Финама, затем ее импортируешь, каталог где сохраняешь историю с Финама чистится? Мне после каждого импорта придется все по новой качать с Финама, если я в каком то шаге при импорте допустил ошибку и решил повторить процедуру с начала ((

Не плохо сделать другой вариант подгрузки данных, создав перечислимый тип по названиям тикеров без сроков исполнения, а в программе в зависимости от диапазона, запрашивался бы уже нужный контракт или склейка, на MQL5 (С++) это реализуется вполне изящно, зная формат Финама, думаю это так же реализуемо.

Александр posted this 03 июля 2017

Добрый день, coder-ex.

1. это у меня так или у всех, на Финаме нет склейки фьючей GAZR

Склейка GAZR - существует и доступна на сайте: https://www.finam.ru/profile/mosbirzha-fyuchersy/gazp/export/

2. и еще не совсем понятно с нулевой настройкой, к примеру очистив полностью каталог FutureData, в структуре каталогов робота, достаточно ли будет скопировать и затем импортировать нужные тикеры? или нужно еще какие то конфигурационные пляски с бубном устраивать вокруг этого каталога, прописывая руками какие то конфиг файлы?

Могут потребоваться небольшие "пляски с бубном". В частности, в каталоге FuturesData кроме файлов с котировками есть конфигурационные файлы:

- ArbitrageSettings.xml - разные настройки программы

- BasketDesc.txt - список сохраненных корзинных пар

- InstrumentsDesc.xml - описание отдельных инструментов

- Pairs.txt - список сохраненных пар

- Инструкция.pdf - инструкция по работе со скорингом

Эти файлы удалять не желательно, особенно файл описаний отдельных инструментов InstrumentsDesc.xml. Впрочем, если удалить, то программа будет работать корректно, но все настройки программы и инструментов сбросятся до "по-умолчанию". И в этом случае, задавать описания отдельных инструментов (спред, формула, секция Финама и пр.) следует в модуле скоринга через окно "Описание инструмента" (главное окно -> выбор инструмента в пару -> в окне "Список инструментов" выделить отдельный инструмент + кнопка "Описание" -> окно "Описание инструмента"). 

Кстати, для полной очистки базы котировок в скоринге предусмотрена кнопка "Удалить список" в окне "Список инструментов" (главное окно -> выбор инструмента в пару -> окне "Список инструментов").

3. если я загружу контракты с конкретным сроком исполнения, т.е. за период к примеру год загружу по 4 фьюча каждого тикера, то будет ли программа считать корректно, если диапазон выборки будет превышать 3 месяца?

Да, можно задавать диапазон и более 3 месяцев.

Для диапазона выборки программа определяет максимальный диапазон по имеющимся (в файлах) котировкам. Т.е., если загрузить фьючерсы:

GAZR-9.17 (диапазон с 30.11.2016 по 03.07.2017),

GAZR-12.17 (диапазон с 12.12.2016 по 03.07.17), 

GAZR-3.18 (диапазон с 20.03.2017 по 03.07.17),

GAZR-6.18 (диапазон с 21.06.2017 по 03.07.17),

то в программе можно построить базис между GAZR-9.17 и GAZR-3.18 на максимальном интервале с 12.12.2016 по 03.07.17. При проведении функции скоринга на интервале с 01.01.2017 по 01.06.2017 из этих фьючерсов будут доступны только GAZR-9.17 и GAZR-12.17.

Другое дело, что за период, предшествующий дате экспирации более 3 месяцев, число сделок (и котировок) будет малым (низкая ликвидность) и это следует учитывать при проведении анализа.

4. если я загружу фьючи склейки за период к примеру год с мая по май, а в июне перед автоматическим обновлением выберу год с июня по июнь, то будет ли автоматическое обновление загружать обновленные даты, или нужно по новой качать файлы с Финама?

В модуле скоринга можно работать только с теми периодами, на которые есть загруженные (локально) котировки. 

Для фьючерсов-склеек котировки на сайте Финам предоставляются постоянно, и соответственно, модуль скоринга выполняет автоматическое дополнение таких фьючерсов свежими недостающими данными (с даты, до которой имеются котировки в локальных файлах скоринга, до сегодняшней даты).

Для Вашего примера: в июне перед автоматическим обновлением можно работать с периодом с мая 2016 по май 2017; после автообновления - с мая 2016 по июнь 2017.

5. если грузить фьючерсы с реальным сроком исполнения т.е. с месяцем и годом экспирации, то выбирая диапазон куда эти фьючерсы не попадают, нужно дополнительно с Финама качать эти диапазоны или автоматическое обновление уже само подхватит нужные контракты по диапазону выборки?

Автоматическое обновление выполняет докачку свежими данными, имеющимися на Финаме. 

Например, с Финама вручную загрузили фьючерс за период с 1.04.2017 по 1.05.2017. При автоматическом обновлении произойдет докачка за период с 1.05.2017 до текущей даты (3.07.2017) или даты, предоставляемой сайтом Финам (для фьючерсов с экспирацией 15.06.2017 - последняя предоставляемая котировка = 15.06.2017). Докачка котировок за период перед начальной датой загруженных котировок (за период до 1.04.2017) - автоматически не выполняется.

6. не понятно по формулам вставляемым в описание инструмента, где их брать и почему это не сделано автоматом?

Формулу следует определять из спецификации инструмента. Формула применяется для малого числа инструментов (RTS, ED, BR, GOLD). Тех. поддержка при установке робота предоставляет готовый файл с описанием большинства часто используемых инструментов, в т.ч. с настроенными формулами. Кроме того, этот файл можно скачать отсюда.

в примере мануала по индексу РТС формула : цена*$/50

цена и знак доллара понятно, текущая цена и текущий курс доллара, но что за константа 50? почему мы цену умножаем на курс доллара? если РТС у нас в пунктах, то переводится все из пунктов в рубли без всяких там курсов доллара

Этот вопрос уже обсуждался тут.

И почему после того как сохранишь историю с Финама, затем ее импортируешь, каталог где сохраняешь историю с Финама чистится? Мне после каждого импорта придется все по новой качать с Финама, если я в каком то шаге при импорте допустил ошибку и решил повторить процедуру с начала ((

Так задумано в программе. В процессе импорта котировок модуль скоринга переносит котировки в папку FuturesData и объединяет их (котировки) с уже имеющимися, по этому же инструменту. Если на каком-то шаге допустили ошибку - берите файлы котировок из папки FuturesData либо делайте папку-копию скачанных котировок перед их импортом в скоринг.

Не плохо сделать другой вариант подгрузки данных, создав перечислимый тип по названиям тикеров без сроков исполнения, а в программе в зависимости от диапазона, запрашивался бы уже нужный контракт или склейка, на MQL5 (С++) это реализуется вполне изящно, зная формат Финама, думаю это так же реализуемо.

Ка альтернативный вариант - идея неплохая, надо ее обдумать.

Close