Каждый трейдер рано или поздно сталкивается с необходимостью создания и проверки торговой системы на исторических данных. Тестировать вручную на графике — не самоё приятное и отнимающее огромное количество времени занятие. Плюс психологически, трейдер может подгонять систему под график, да и ошибок и пропусков также будет немерено. Если вы протестируете свою систему вручную 2 раза на одном и том же отрезке графика, то на 99% вы получите разные результаты. А если система подразумевает использования нескольких таймфреймов, то завершить такую миссию будет архисложно. Назвать такой процесс тестирования оптимальным язык не поворачивается, в итоге — на реальном счёте результат будет гораздо хуже протестированного. Можно воспользоваться плеером для воспроизведения исторических котировок и торговать — уже лучше, можно регулировать скорость промотки, открывать/закрывать позиции, некоторые плееры позволяют контролировать риск. Но опять же, плохие сделки в итоге можно убрать, график открутить назад, и снова будет подгонка. Времени уйдёт меньше чем в первом случае, но всё равно нужно будет посидеть не один день. Идеальный вариант в таком случае — максимально автоматизировать все процессы. Правда такой метод требует особой подготовки и знаний в области программирования.
Обратите внимание! Содержание данной статьи является исключительно частным мнением автора — Шевченко Никиты — и может не совпадать с официальной позицией редакции FXtraders.
А что делать тем трейдерам, которые хотят, по возможности, быстро протестировать свою стратегию, идею, но не обладают знаниями в программировании? А по факту, это подавляющее большинство трейдеров. Именно для таких трейдеров, куда отношусь и я, была разработана специальная программа под названием TSLab. Честно говоря, когда мне впервые рассказали о TSLab, это было порядка года назад, я был настроен крайне скептически. Но со временем, после нескольких недель работы с программой, мой скептицизм испарился, и я снимаю шляпу перед разработчиками за создание данного софта.
- Во-первых, программа полностью бесплатна в плане создания и тестирования торговых систем. Платить нужно только с момента подключения алгоритма к реальному счёту, и только если ваш торговый оборот выше определённого значения, об этом я расскажу чуть ниже.
- Во-вторых, порядка 90% ТС можно алгоритмизировать в TSLab. Оставшиеся 10% — это крайне сложные торговые алгоритмы, при создании которых вам уж точно не обойтись без помощи ИТ-специалистов.
- В-третьих, в TSLab можно не только создавать, тестировать и оптимизировать торговые алгоритмы.
Через специальные коннекторы алгоритм можно сразу же подключить к демо-счету или сразу к реальному счёту и проверить стратегию на деле. Причём программа позволяет работать с акциями, ценными бумагами и даже опционами на различных рынках: американские рынки (фондовый, фьючерсный, опционы), российские рынки (фондовый, фьючерсный), рынок Форекс и даже криптобиржи.
Созданием и разработкой TSLab занимается компании ООО «Лаборатория Торговых Систем», которая была зарегистрирована в 2009 году в Российской Федерации. Первая версия программы вышла в 2010 году. В 2017 году TSLab обновили до 2-й версии, программа получила большое количество дополнительных возможностей по созданию, отладке, тестированию и запуске торговых систем.
В 2020 году в TSLab можно:
- Создавать алгоритмы с помощью визуального редактора.
- Создавать опционные модели.
- Добавлен менеджер заявок, скальперский стакан.
- Добавлен ClusterView (ценовые уровни с объемами, кластера).
- Добавлен модуль управления рисками.
- Добавлена одновременная поддержка нескольких брокеров.
Визуальный редактор
Именно благодаря бесплатности данной функции программы TSLab имеет немалое количество поклонников. С помощью визуального редактора вы можно создавать торговые системы практически любой сложности, в том числе и арбитражные стратегии. ТС конструируется последовательно в виде блок схем, которые соединяются между собой стрелочками.
Каждый такой блок имеет «входные данные» и «выход» после вычисления или преобразования. Конечно, кое-какие элементарные знания математики потребуются. Структура построения блок-схем очень хорошо изложена в коротких уроках на YouTube. Буквально за час-второй вы поймёте общую концепцию построения стратегий и сможете начать складывать собственные простые алгоритмы. Это намного проще чем учить программирование, поверьте. И это именно то, что нужно большинству трейдеров — найти наилучшую версию реализации своей стратегии и протестировать её на истории с учётом всех комиссионных сборов и среднего проскальзывания.
Рис. Пример построения простой стратегии на пробой определённой линии
Более того, при такой структуризации данных трейдеру просто необходимо чётко определить все правила на вход в сделку, выход из сделки, учесть риски и комиссии, и это огромный плюс для трейдера. В итоге, отклонения от стратегии будут сведены к нулю, а трейдер будет иметь чёткие сформулированные правила торговли.
Если же вы не в состоянии сформулировать вашу стратегии как план последовательных действий, значит одно из двух. Либо вы торгуете не системно, что более вероятно и, сами того не понимая, меняете один фактор на другой, в итоге у вас вместо стратегии — «каша». Таких большинство, и я был одним из них. Либо же ваша система настолько сложна и комплексна, что расписать её в последовательность действий крайне сложно. Это не значит, что это невозможно, просто количество данных, которые нужно проанализировать и сопоставить с другими факторами в разы больше, чем у любой другой стратегии.
Хотите первым получать важную информацию? Подписывайтесь на наш Telegram-канал!
После построения стратегии, все сделки алгоритма можно визуально посмотреть на графике, со всеми индикаторами или элементами рисования, которые есть в алгоритме.
График доходности — это статистика вашего алгоритма на длительном отрезке времени. И если Ваша стратегия с учётом комиссий возвращает плавный прирост капитала быстрее рынка (по типу «купил и держи») и имеет небольшие просадки, поздравляю, вы нашли нечто стоящее. Можете называть это Грааль, как угодно, но со статистикой сложно спорить.
Результаты тестирования также будут доступны в табличном виде, со всеми параметрами оценки стратегии, такими как: чистый п/у, комиссия, win-ratio, максимальная просадка, профит-фактор и многие другие.
Также можно просмотреть все сделки алгоритма в табличном виде. При необходимости данные можно экспортировать в Excel.
Вкладка «Оптимизация» позволяет найти оптимальные значения индикаторов и параметров. К примеру, вы тестируете пересечение скользящих средних и вам не очень нравятся результаты. Если вы нажмете «Оптимизация», компьютер автоматически проверит все комбинации значений скользящих в указанном диапазоне и выдаст вам наилучший вариант по доходности, просадке или другим параметрам.
Благодаря программе TSLab процесс тестирования занимает намного меньше времени, а результат намного точнее ручного подхода. Причём в программе заложено множество готовых шаблонов, которые ускоряют процесс создания алгоритма.
Не так давно в программу был добавлен скальперский стакан торговли, который позволяет напрямую работать со сделками и открывать/закрывать множество позиций одновременно. Есть и «Доска опционов», где можно складывать различный опционные модели. Лично я не пользовался данной функцией, но «коллеги по цеху» активно юзают.
Также в программе реализован «Контейнер скриптов», с помощью которого можно компилировать советников с шифрованием кода. Эта функция необходима для тех, кто разрабатывает алгоритмы для продажи. Трейдер сможет получить алгоритм, но не сможет получить доступ к исходному коду.
Риск-модуль предназначен для анализа выставленных ордеров. Прежде чем ордер будет отправлен на исполнение, система проверит его на соответствие заданным параметрам риска. И если эти условия не будут выполнены, сделка будет отменена.
TSLab позволяет работать с несколькими брокерами одновременно. При чём, при необходимости, вы можете использовать несколько счётов у одного брокера под разными логинами.
Если ваш алгоритм готов для торговли на реальном счету, вы можете это реализовать с помощью TSLab через подключение через брокеров-партнёров. Данный доступ является платной услугой. Прайс ниже:
Также не забудьте добавить сюда стоимость VPS-сервера, где будет работать ваш алгоритм круглосуточно.
Недостатки TSLab
TSLab не лишён недостатков. Они незначительны, особенно на фоне общей бесплатности, но не упомянуть о них было бы неправильно. Визуальный редактор — очень удобная штука. Но, по факту, каждый блок состоит из готового кода, который вы подключаете последовательно согласно вашей логике. Такая структура в итоге приводит к неоптимизированному коду. Это основная причина, почему многие программисты и кодеры так ругают TSLab. На практике из-за этого появляются баги, связанные с исполнением заявок. Конечно, в 90% случаев всё происходит нормально, но факт таких проблем существует.
Программа достаточна чувствительна к оборудованию, на котором запущен советник и все скрипты подключения. Поэтому для торговли на реальном счёте крайне рекомендуется использовать отдельный VPS-сервер. До последнего времени программа не слишком подходила для создания скальперских стратегий, но последние обновления радуют, разработчики максимально пытаются устранить все сложности, которые возникают при построении подобных стратегий. И менеджер заявок — одна из них.
Следующий недостаток — если алгоритм состоит из более чем 4000 элементов, программа может подтормаживать. Но опять же, после последних обновлений программа стала более оптимизирована по этому фактору. Ну и конечно же, многим не нравится ценник, который поставил TSLab за свои подключения к брокерам. К тому же, чем больше подключений, тем больше ежемесячные расходы на коннекторы. Учитывая, что у большинства трейдеров счета небольшие (меньше 10 000 USD), такие расходы — непосильная ноша.
Поэтому многие трейдеры идут следующим путём: TSLab используется для создания, отладки, оптимизации и тестирования. После этого нанимается кодер, который всю эту готовую структуру переписывает в оптимизированный код на Python, C#, С++ или на другой язык, и запускает на том же удалённом сервере. Такой вариант устраняет 99% проблем с исполнением заявок и другими мелкими багами, но не устраняет все проблемы с API-подключениями различных брокеров и бирж. К тому же, в этом случае вам придётся всегда платить кодеру, если в дальнейшем появится потребность изменить стратегию. Поэтому сложно сказать, какой вариант более оптимален, каждый для себя определяет сам каким путём пойти.
Всем профитов.