Секреты TSLab | Торговые роботы | События
5 Сен

Запрос котировок для TSLab и типичные ошибки.

Если вы пользуетесь программой TSLab дольше чем одну неделю, то для вас не является секретом то, что можно скачивать исторические котировки и подсовывать их в TSLab для тестирования ваших торговых роботов на истории. Совсем необязательно иметь (и платить за него) реальный счет у одного из многочисленных брокеров для разработки и тестирования торговых роботов в TSLab. Все это вы можете делать совершенно бесплатно, делая запрос котировок из открытых источников. 50% моих учеников (как оказалось к моему большому удивлению) делают это неправильно и получают неверные результаты тестирования. Разбором типовых ошибок запроса котировок мы и займемся сегодня.

Откуда можно делать запрос котировок?

Вообще, исторически котировки вы можете брать откуда угодно, даже вытаскивать их из под бабушкиного матраса. Проблема с ними будет одна, они не будут адаптированы к программе TSLab. Точнее, TSLab не знает как “кушать” такие котировки.  В результате, вы не получите никакого результата (как завернул :) ). Из коробки, программа понимает 3 вида источников:

  • текстовые файлы с сайта Финама.
  • csv файлы с сайта Финама.
  • база котировок программы Wealth-Lab

В статье разбирать будем только первые два варианта, так как третий недоступен. Нет программы Wealth-Lab. Если быть более точным, то разбирать будем только первый вариант, потому что второй является модификацией первого. Другой формат файла и не более того.

Далее, перечислены типичные ошибки и проблемы, возникающие в результате этих ошибок.

Неправильное время начала свечи.

В TSLab время свечи – время начала свечи. В других программах может быть иначе. Отсюда и возникают проблемы. Скачаем котировки с НЕправильным временем свечи.

Запрос котировок для TSLab и типичные ошибки.

Рисунок 1. Неправильное время свечи.

После скачивания загрузим их в TSLab и получим:

Запрос котировок для TSLab и типичные ошибки.

Рисунок 2. Сессия началась в 10:01

Как видим, начало сессии оказалось несколько неверным. Это, конечно, не очень страшно если мы работаем в таймфрейме 1 минута. А если мы попробуем сжать котировки в больший таймфрейм? Например в 10 минут. Что получится?

Запрос котировок для TSLab и типичные ошибки.

Рисунок 3. Кривые свечки после сжатия

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

Чтобы не быть голословным приведу тему с форума в которой человек разбирался с этой проблемой http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=63877

Обидно то, что чаще всего начинают винить TSLab не разобравшись в проблеме. TSLab не так плох как может показаться :). Просто нужно быть более внимательным.

Нет шапки в файле

Другой проблемой может  стать отсутствие шапки в загруженных котировках. TSLab использует шапку для распознавания содержимого файла и если шапки нет, то программа считает что вы загрузили котировки в стандартном формате. Одна беда, в этом формате порядок колонок может не совпадать с тем, что вы скачали. На это напарывался я сам и не смог в этом разобраться. Побежал жаловаться программистам :). В связи с тем, что с версии 1.2.18 TSLab стал жаловаться на неправильный формат файла, появилось много жалоб на программу. По факту, это вы неправильно работаете с историей. Примеры жалоб можно посмотреть здесь и здесь. Смотрим почему такое происходит:

Запрос котировок для TSLab и типичные ошибки.

Рисунок 4. Запрос котировок без заголовка файла

Итог будет печален, работать не будет совершенно ничего

Запрос котировок для TSLab и типичные ошибки.

Рисунок 5. Без шапки TSLab не может понять котировки

Такой случай, естественно, приведет к изучению проблемы и устранению проблем. Уж слишком все явно не работает. А вот если сделать запрос котировок немного иначе, тогда проблема будет гораздо менее явной и найти ее будет сложнее. Очередной пример ошибки.

Запрос котировок для TSLab и типичные ошибки.

Рисунок 6. Без заголовка и в нестандартном формате

После загрузки такого файла график у нас получится нормальный, кроме первой свечки. НО не будут отображаться объемы свечек.

Запрос котировок для TSLab и типичные ошибки.

Рисунок 7. Без шапки не показывает объема

 

Выводы

Если не допускать две самые типовые ошибки при загрузке котировок, то все будет хорошо. Совершить еще какую нибудь глупость достаточно трудно и требует усилий от вас :).  Если не стараться эту глупость совершить, она не случится.

Ну и главное: всегда внимательно просматривайте котировки, загруженные с сайтов. Кривые данные – это вполне обыденная вещь в нашем мире. А на кривых данных будет кривой тест. Ну и сами знаете что за этим последует.


comments powered by HyperComments

Farinag
2014-09-08 18:11:50
спасибо
ra81
2014-09-14 17:39:41
можно делиться с друзьями если на самом деле понравилось через репосты и так далее.(:smile:)
teplo
2014-09-24 19:38:31
Помимо всего прочего у Финама действительно кривые данные, в частности время первой свечи (которая в 10.00) у них 0.00, да ещё и дата этой свечи зачастую бывает неверная. А уж как они "клеят" фьючерсы - вообще мрак.
ra81
2014-09-29 14:34:31
насчет первой свечи не замечал. Такое время бывает если качать дневки, тогда начало всегда в 0 часов это да. По части кривости данных согласен. Бывают глюки. Особенно когда большая активность на сайте. Поэтому лучше качать ночью по москве. Быстрее и глюков вроде бы нет.
GAW
2014-10-10 14:24:22
ВЫ не упомянули про катастрофически важную галку. Заполнять периоды без сделок. Два года качал историю с сайта без этой галки, а буквально на днях пришло озарение: это ни на что не влияет только если у вас ультимативно ликвидный инструмент, типа фьючерса RTS. А возьмите не такие ликвидные вещи, где есть бары с 0 объемом, которые будут просто отброшены без этой галки... К примеру фьючерс HYDR. Графики с этой и без этой галки не будут иметь ничего общего, а значит и результаты тестирования и реальной торговли тоже. Однако установка данной галки приводит к неожиданной баге: в дополнение к нормальным барам с 0 объемом, появляются 3 лишних бара (я торгую 5 минутки) с 18-45 - 19-00. И опять получается не совсем корректно. Но тут уже не составит написать прогу в 10 строк которая будет просто искать и удалять из файла лишние строки. P.S. На граблю с началом и окончанием свечи я наступил... Где Вы были два года назад?
ra81
2014-10-10 19:59:43
Про проблему с неликвидом тоже знаю. Но она куда менее актуальна чем описанная в статье. Спасибо за ваше замечание, читатели примут на заметку. Заполнять периоды без сделок может и приводит к нехорошим последствиям о которых вы пишете и для ликвидных инструментов использовать ее очень нежелательно. Неликвид вообще отдельный разговор как и чем на нем работать. В том же ТСЛабе можно свечки билдить из тиков, что приводит к отсутствию на графике нулевых свечек в принципе. Весь вопрос в том что нам нужно, отсюда и методология. 2 года назад я сам еще был начинающим тслабистом :), сам совершал ошибки и думал что я один такой недалекий :)
Alex Golubev
2016-12-15 21:32:50
Родион подскажите заголовок файла текстового файла должен выглядеть DATE ,TiME ,OPEN,HIGH,LOW,CLOSE,VOL ? Уточняю это так как в Обучающее видео для TSLab v 1.2 http://www.tslab.ru/soft/video/ пример скачиваемого файла другой , как пример 2 на этой странице ....
ra81
2016-12-22 21:30:36
Тслаб в приципе сам поймет какие данные по заголовку. Но качать лишние колонки ненужные особо смысла нет. Ставьте минимально достаточные данные и качайте. Главное галку включить заголовки поставить.
Артур
2017-01-03 15:02:40
Казино Вулкан раздают деньги сегодня http://cenforce100.ru/casino-vulkan.php
14
Июл
2017

Доверительное управление. Результаты в июне 2017 года.

Доверительное управление. Результаты в июне 2017 года. Июнь индекс РТС вновь провел преимущественно в боковых движениях, а… »

11
Июн
2017

Доверительное управление. Результаты в мае 2017 года.

Доверительное управление. Результаты в мае 2017 года. В мае “болтанка” индекса РТС продолжилась, на паре… »

7
Май
2017

Доверительное управление. Результаты в апреле 2017 года.

Доверительное управление. Результаты в апреле 2017 года. В апреле мы наблюдали очередной месяц “боковика” по… »

2
Апр
2017

Доверительное управление. Результаты в марте 2017 года.

Доверительное управление. Результаты в марте 2017 года. В марте волатильность на рынке несущественно выросла. Все… »

7
Мар
2017

Доверительное управление. Результаты в феврале 2017 года.

Доверительное управление. Результаты в феврале 2017 года. Февраль был самым коротким торговым месяцем, к тому же… »