Секреты TSLab | Торговые роботы | События
21 Май

Тиковый кэш TSLab.

Все пользователи программы TSLab уже слышали (возможно кто-то узнает что-то новое для себя) что программа сохраняет тиковый кэш. Что в нем? Куда он падает? Что с ним делать, и нужно ли с ним что-то делать? Об этих вопросах по-порядку.

Тиковый кэш TSLab. Что это?

Тиковый кэш – это набор файлов с расширением *.bin в которых TSLab сохраняет все тиковые сделки по каждому активному инструменту (что такое Активному мы разберем ниже).

- Для чего это вообще нужно? Только место занимает и все. Удалить нафиг! Отключить!

На самом деле, торопиться не будем и удалить успеем всегда. Тиковый кэш несет, как минимум, две ОЧЕНЬ полезные возможности, которые не все используют, но потенциально могут это делать.

  1. Брокеры обычно не дают историю свечей меньше чем 1 минута, поэтому любые меньшие таймфреймы в TSLab строятся исключительно из тиков. А тики содержит тиковый кэш.
  2. Используя тики мы можем строить разные там объемы покупок/продаж внутри одного бара и другие подобные штуки, возможные только при наличии тиковых сделок.

Помимо этих основополагающих возможностей можно делать еще разные другие “глупости” вроде:

  1. Построение свечей любого таймфрейма (1m 30s, 5m 25s  и так далее )
  2. Проверить вашего брокера на косяки. Что уже было сделано в свое время публично с финамом
  3. Просто втыкать на это “богатство” и умиляться, ведь котировки стоят денег. Даже наша, родная, московская биржа вдруг стала жадной и перестала выкладывать итоги торгов в *.cvs формате. Тенденция-с понимаешь.

Где он лежит?

Обычно, он лежит в профиле текущего пользователя в папке с окончанием CacheTrades. Для каждого поставщика данных будет своя папка и там будет лежать тиковый кэш именно для этого брокера. Вот примерная картинка, того как все выглядит для Windows 7 (для других версий путь может отличаться):

Тиковый кэш TSLab

Рисунок 1. Папки с тиками для разных брокеров

 На картинке помечен путь до папки где все это добро лежит, а так же отмечены все папки содержащие тиковый кэш. Их несколько и в каждой что-то лежит. Может быть даже так, что один и тот же инструмент у вас 2 раза сохранен, просто с разных поставщиков данных.

Все что написано перед CacheTrades это имя вашего поставщика данных. Alor_MICEXCacheTrades содержит тиковый кэш для поставщика с именем Alor_FORTS. Все просто и логично.

Заглянем внутрь папки и увидим там:

Тиковый кэш TSLab

Рисунок 2. Файлы содержащие тиковый кэш

Видим 5 файлов, 4 из которых представляют собой тиковый кэш по инструменту SIH3, а пятый, просто левый файл. Учтите, что выглядеть иконка файлов у вас на ПК может иначе чем у меня. Главное тут расширение *.bin и формат имени файла. Структура имени простая [название инструмента у данного брокера].[дата в формате Месяц.День.Год].bin. У брокеров часто инструменты именуются по-разному, поэтому просто так тиковый кэш одного брокера нельзя перенести в папку другого. Нужно будет произвести переименование файлов. Если этого не сделать, то TSLab будет искать тиковый кэш для одного имени инструмента, а у вас будет другое имя, и ничего не будет найдено.

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

Что вообще он хранит?

Сначала оговорюсь, что рассуждать буду на примере текущей версии тикового кэша, а именно на 6 версии. В более старых версиях отсутствовали некоторые из описанных ниже элементов, то есть информация была более скудной.

<DATE>,<TIME>,<MSEC>,<TRADENO>,<LAST>,<VOL>,<DIRECTION>,<ASK>,<ASKQTY>,<BID>,<BIDQTY>,<INTEREST>,<STEPPRICE>

  • Дату и время сделки, включая миллисекунды (некоторые брокеры не присылают миллисекунды).
  • Номер сделки на бирже. Они на нашей бирже сквозные и каждая сделка имеет уникальный номер в пределах всех инструментов.
  • Цена сделки.
  • Объем сделки в штуках лот.
  • Направление сделки. Покупка или продажа. Валютный рынок ММВБ НЕ поставляет эту информацию.
  • Аск в момент сделки. (*)
  • Объем всех заявок Аска в момент сделки. То есть вся верхняя часть стакана (*)
  • Бид в момент сделки. (*)
  • Объем всех заявок Бида в момент сделки. То есть вся нижняя часть стакана (*)
  • Открытый интерес в момент сделки. (?*)
  • Стоимость шага цены в момент сделки. (*)
  • Волатильность. Есть для некоторых инструментов. (*)
  • Теоретическая цена. Есть для некоторых инструментов. (*)

Все поля БЕЗ (*) получаются напрямую от брокера и должны совпадать у всех людей. Это непосредственная рыночная информация. Если у вас не совпадает с кем то другим, то это повод разбираться с брокерами :).

Поля помеченные (*) TSLab заполняет сам на основании текущей рыночной информации. Так как есть задержки и лаги, то она не всегда идентичная конкретной сделке и даже на двух ПК стоящих рядом данные могут отличаться.

Открытый интерес идет отдельной строкой потому, что часть брокеров поставляет информацию напрямую с биржи, а часть не поставляет и TSLab заполняет это поле сам на основании текущей рыночной информации. Так сейчас происходит у Алор, это факт.

Как сделать так, чтобы тиковый кэш накапливался?

Тут опять все зависит от брокера. Есть брокеры вроде Алор и Plaza II, которые дают сразу поток по всем инструментам и все тики падают сразу без каких либо манипуляций. Достаточно просто подключиться к брокеру. А для остальных брокеров минимально достаточно будет открыть окно “Сделки по инструменту”. Тогда произойдет подписка на данный конкретный инструмент и тики будут сохраняться. Если у вас запущен агент для данного инструмента, то тики тоже автоматом начинают собираться.

Итак, варианты:

  1. Просто подключиться к брокеру (Алор, Plaza)
  2. Открыть окно “Сделки по инструменту” или запустить агента по нужному инструменту.

ВАЖНО: непосредственно на диск тики падают только в момент отключения от брокера. Пока так, но есть планы сделать сброс раз в некий интервал времени. В общем, если все упало с ошибкой, то тики не будут сохранены на диск. Если ваш брокер дает тики с начала дня, то они будут перезагружены и все ок, а вот если не дает, то печаль и грусть. Вам путь на форум плакать и просить, или же найти способ и достать тики в другом формате и конвертировать их в формат TSLab используя утилиту GuiBinConverter.

Что с ним можно делать?

В начале статьи были описаны возможные способы применения внутри программы TSLab, и один из самых ходовых это тестирование стратегии на любых таймфремах используя сжатие для входа и выхода на одной свече, но тики можно использовать и в других местах. Если конвертировать в текстовый формат с помощью GuiBinConverter, то можно анализировать тики в программа типо R или Mathlab.

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

Можно получить правильные (а не кривые скачанные со всем известного сайта :)) ) секундные котировки любого инструмента и выгрузить их в текстовый файл и дальше использовать их для тестирования и анализа. Это ускорит процесс загрузки котировок в TSLab, ведь построение свечей из тиков процедура весьма нагружающая процессор. Удобно иметь уже готовые секунды, или минутки.

Да, что угодно можно делать. Ведь это маркет дата как она есть, и иметь ее должен каждый уважающий себя трейдер :).

 

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


comments powered by HyperComments

Игорь Жуков
2016-05-22 11:15:46
Тиковый кэш будет накапливаться только когда включен агент, или же он может накапливаться при получении данных в лаборатории? Спасибо
ra81
2016-05-23 09:51:06
При каком получении данных? Описано что открыть окно сделок уже достаточно. Если открыть график с автообновлением то тики тоже будут собираться. График онлайн обновляется по тикам в лаборатории. Но дешевле для процессора открыть окно сделок по инструменту.
павел
2016-05-25 12:07:22
Здравствуйте! А как можно с помощью тслаб сохранять инструмент в секундных свечах? Чтобы потом тестить стратегии на секундн. таймах? Например, у меня за год накопился файл *.bin, что с ним сделать, чтоб сохранить в секундах в таком же формате как я с финама скачиваю в минутках?
ra81
2016-05-25 13:21:06
в общем и целом используйте кубик от русалго WriteToFile он правда пишет слегка в другом формате, но если переработать слегка в экселе то можно получить стандартный финамовский текст. Достаточно простая процедура, возможно слегка нудная но зато любой сможет.
Михаил
2017-01-01 13:57:20
Секс знакомства http://bit.ly/2hkF2s9
Игорь Федоров
2017-10-29 06:22:39
Друзья, нашел способ быстро заработать деньги, делюсь им с вами >>> http://ladyss.space/#2078
6
Ноя
2017

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

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

7
Окт
2017

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

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

8
Сен
2017

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

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

6
Авг
2017

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

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

14
Июл
2017

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

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