Настройка Поставщика исторических данных. Использование и настройка.
Так как TSLab является не только торговым терминалом и площадкой для запуска торговых роботов, но и инструментом для тестирования торговых стратегий, то он содержит в себе возможность использования исторических котировок. Историю котировок по инструменту вы можете достать любым возможным для вас способом, но подключить к TSLab их нужно вполне конкретным образом. Если же делать это неправильно, то и результат тестирования будет искаженным. Как оказалось, многие пользователи программы настраивают поставщик исторических данных неправильно. Не буду отрицать, я тоже делал это неправильно до определенного момента.
Поставщик исторических данных как инструмент.
Поставщик исторических данных для TSLab является совершенно таким же источником котировок как и реальный брокер. Единственное отличие в том, что брокер нам данные присылает, а в случае поставщика исторических данных котировки берутся из текстового файла.
Отсюда следует, что к поставщику исторических данных применимы почти те же требования, что и к реальному брокеру. При нарушении любого из требований, результат тестирования будет неадекватным. – Котировки должны быть в “правильном” формате.
– Они должны содержать информацию о ценах и объеме.
– Необходимо знать шаг цены инструмента и сколько разрядов после десятичной точки.
Когда все настроено и подключено, работа с поставщиком сводится к банальному подключению инструмента в свойствах скрипта.
Получение исторических котировок. Полностью тема была раскрыта в статье “Скачивание котировок для TSLab и типичные ошибки при установки”, и я рекомендую прочитать ее внимательно. Коротко, вы должны получить котировки в формате текстового файла. Содержимое текстового файла должно соответствовать определенному формату, который тоже описан в статье. Если вы все сделаете по инструкции, можно быть уверенным, что котировки в “правильном” формате.
Настройка поставщика данных
Создание нового исторического поставщика данных состоит из нескольких этапов. Первый из них, состоит в выборе формата в котором будут наши исторические данные. Рекомендуется использовать простой текстовый формат. Есть еще 2 других варианта, но они не рекомендуются как менее надежные в плане возможных ошибок.
В ТСЛабе в разделе “Менеджер поставщиков Данных” – справа нажимаем кнопку “Добавить”
Далее в окне выбираем “Исторические данные”
В появившемся окне задаем имя поставщика данных, например “Finam_txt”, выбираем Текстовые данные
Далее, нужно выполнить самую важную часть настройки и заполнить несколько полей. Вот, на данном этапе и происходят, обычно, все ошибки. Сразу привожу картинку с правильно заполненными полями, а далее каждое из полей разберем подробно.
Папка – у меня указана папка “FINAM_TXT” и в данной папке находятся сразу несколько текстовых файлов. Каждый из текстовых файлов будет представлять собой отдельный инструмент, предоставляемый нашим поставщиком исторических данных. Если у вас в папке находятся сразу 10 текстовых файлов, то у поставщика будет 10 инструментов на выбор. Настоятельно рекомендую в папку одного поставщика данных класть только инструменты с одинаковым шагом цены, размером лота и количеством знаков. Для инструментов с разными параметрами, стоит создавать разные поставщики исторических данных.
Торговая площадка – необязательное поле. Неважно, что будет написано в данном поле, и уж точно это никак не отразится на работе поставщика. Пишите что хотите, но я обычно пишу просто “-“, можно написать название площадки на которой торгуется инструмент, историю которого подключаете.
Количество знаков – обязательное и важное поле. Вы должны указать сколько знаков после запятой может содержаться в цене инструмента. Если это SI, то будет 0 знаков. Если это SBER то будет 2 знака. Ну, вы поняли. Если указать данную опцию неправильно ничего страшного не случится и цены будут использоваться правильные, но работать будет несколько менее удобно.
Шаг цены – этот и последующий параметр влияют непосредственно на результаты тестирования и обязательны к правильному заполнению. Для фьючерса РТС это 10, для акций Сбербанка это 0.01. Как это будет влиять на результаты? Сделки совершаемые вашим алгоритмом будут иметь цены выровненные по шагу цены, а значит если стоит 10, то цены будут 1000, 1010, 1020 но никак не 1001, 1005. Если же для фьючерса РТС поставить 1, то будете в тестах получать сделки, которые никогда не могли бы произойти в реале и это заметно скажется на результатах. Предлагаю вам это проверить на любой вашей стратегии где много сделок. Если вы не знаете где посмотреть шаг цены инструмента, рекомендую обратиться на сайт биржи, где вы найдете всю информацию по всем торгуемым инструментам, включая шаг цены.
Размер лота – тоже важная опция. Если ваш алгоритм в процессе работы пробует наращивать размер позиции, то размер лота критичен для вас. Если размер лота на бирже для инструмента равен 100, то нельзя тестировать исходя из размера лота 1. Это ведь совсем другая сумма и совсем другой шаг в размере позиции, а значит и другие риски и другие возможные убытки. В общем, поверьте, это действительно важная опция.
Коэф. кредитования – опция, позволяющая использовать эмуляцию маржинальной торговли. На самом деле опция достаточно бестолковая, так как имитировать маржу нормально она не может, а псевдоимитация нас не устраивает. В общем не использую и не рекомендую.
Валюта – чисто косметическая опция позволяющая видеть результаты тестирования в “правильной” валюте. Нередко бывает что люди ошибаются в том, что они видят в результатах теста. Для фьючерса РТС это пункты и стоит себе напоминать что это они, а не доллары или рубли. Для акций же мы видим чистые рубли и голову ломать не нужно с пересчетами. В общем я обозначаю как “ПТ”, что означает в Пунктах.
Задержка исполнения – еще одна бестолковая опция, которую никогда не применял. Она экспериментальная и должна работать только на тиковом таймфрейме. Цель опции – обеспечить задержку выставления приказа в тестировании, чтобы имитировать задержку брокера. Насколько толково работает опция я не знаю, так как вообще не тестирую системы на тиковых таймфреймах. Вообще, полагаю что тестирование системы, работающей на тиках по историческим данным, занятие бесполезное. Только реал.
Навигация
Предыдущая статья: ← Скачивание котировок для TSLab и типичные ошибки при установки
Следующая статья: Валерий Жёлтиков
“За такой короткий срок фактически освоил новую профессию!!!” →
-
Как подгрузить скрипт на API в ТСЛаб
- Переходим на Сентябрьские контракты. Расписание на Праздники 12 июня.
-
Ложный прорыв / Ложный пробой /
- Как удалять места склейки котировок при тестирования в TSLab
-
Ольга Воротникова
“База знаний и умений, которую Дмитрий в нас заложил, вполне достаточна для работы и для дальнейшего развития”