Налаштування постачальника історичних даних

Налаштування постачальника історичних даних

Так як 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. Створення текстового постачальника.

Детально розказано, як створити текстового постачальника даних в ТСЛаб, як завантажити котирування по потрібним інструментам, як їх склеїти за довгий період, як завантажити їх в ТСЛаб, як перевірити котирування в ТСЛаб.

Читайте також: