18 критериев выбора программы Технического Анализа

18 критериев выбора программы Технического Анализа

В далеком 2008 году передо мной встала задача выбрать программу Технического Анализа. Задача эта не такая простая, как на первый взгляд может показаться. Ведь программа Технического Анализа должна охватывать полный цикл деятельности трейдера. От формализации идеи до автоматической торговли.
[spoiler]
Изначально конкретных критериев выбора у меня не было. Пришлось досконально изучать с десяток различных программ Технического Анализа. Набил много шишек. Изобрел много никому не нужных велосипедов.

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

Я постарался сделать материал понятным и компактным. Просто пройдитесь по нему, и отметьте те пункты, которые выполняет ваша программа Технического Анализа. Для полного счастья трейдера, программа должна уметь всё, что есть в списке.

Идеология
Есть две глобальные идеологии разработки программ. Нужно выбрать ту, которая больше вам нравится.

Коммерческие программы платные с закрытым исходным кодом. Развивают программу только разработчики. Далеко не факт, что следующая версия программы будет такой, как хочется вам. Количество возможных доработок для трейдеров ограничено. К достоинствам можно отнести наличие технической поддержки, развитие программы, и, в основном, быстрое исправление ошибок.

Открытые (Open Source) программы бесплатны, их исходный код открыт любому для изучения и доработки. Развивают программу энтузиасты. Проблема в том, что такие проекты живут до тех пор, пока они интересны сообществу. Вполне возможно, что именно вы и будете развивать проект дальше.

Самостоятельная доработка
Ни одна система Технического Анализа из коробки не даст то, что вам нужно. Это связано с тем, что каждый трейдер выбирает свою специализацию. Может, это будет инвестирование, где позиции держатся годами. Может, это будут спекуляции, где важна сиюминутная прибыль. Между этими двумя крайностями лежит множество торговых техник и идеологий. Под каждую из них подстроить программу Технического Анализа невозможно. В программе должна быть возможность разрабатывать дополнения под ваш стиль торговли.

Аппаратное обеспечение
При тестировании торговых систем (ТС) программа Технического Анализа будет совершать множество вычислений. Поэтому, чем больше вычислительных мощностей (мощный процессор, большой объем оперативной памяти, быстрый жесткий диск) будет у вас на компьютере/ноутбуке, тем быстрее эти задачи будут выполняться.

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

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

Операционная система
В основном, на домашних компьютерах установлена операционная система Windows. Современные процессоры поддерживают 64-битную архитектуру (x64), которая позволяет выполнять вычисления быстрее. Поэтому, убедитесь, что у вас установлена последняя версия Windows со всеми обновлениями на платформе x64.

В конце 2020 года Microsoft объявила, что будет вставлять рекламу в Windows. Если данная инициатива приведет к переходу пользователей на другие операционные системы, то на Windows придется оставить торговые терминалы, которые работают только на ней (например, QUIK), а также коннекторы, библиотеки которых реализованы только для платформы Windows (например, TRANSAQ). Программа автоторговли должна быть кроссплатформенной, и без проблем переноситься с одного компьютера на другой.

Провайдеры данных
Вам потребуется работать с различными источниками исторических данных. Несколько примеров:
  1. Большой тестовый файл
  2. Сервис брокера
  3. Торговый терминал
Чем больше возможностей получения и импорта данных предоставит вам программа Технического Анализа, тем лучше. В идеале, все ваши данные вы должны загрузить в нее.

Спецификация инструментов
Каждый торговый инструмент уникален. Эту уникальность программа Технического Анализа должна учитывать. Например, цена акции Сбербанка выставлена за штуку, а лот (минимальное кол-во акций на покупку/продажу) составляет 10 акций. Если программа Технического Анализа хочет купить 29 акций, то это кол-во должно быть уменьшено до полного лота. В данном случае, до 20-и акций.

Маржинальная торговля
Размер гарантийного обеспечения для фьючерсов не статичен. В каждый момент времени его нужно корректно рассчитать, чтобы выяснить, хватит ли размера депозита для совершения сделки. Также нужно учитывать количество десятичных знаков в котировке, размер тика и прочее. Убедитесь, что в вашей программе Технического Анализа есть такие настройки. Иначе, все финансовые инструменты в ней вы будете торговать как акции.

Комиссии и проскальзывания
Программа Технического Анализа должна показывать адекватную картину затрат на торговлю. Каждый брокер берет комиссию за сделку. Нужно, чтобы алгоритм взимания комиссии брокером был реализован в программе. Если позволяет заявка, то цена может «проскользнуть» мимо заданной цены. Угадать точный размер проскальзывания на истории невозможно, но поставить заданное значение программа должна уметь.

Визуализация графиков
На графиках ставится много пометок. Изначально рисуется ценовой график в виде баров или свечек. На график накладываются индикаторы. Также у программы Технического Анализа должна быть возможность рисовать заметки прямо на графике.

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

Разработка ТС
Программа Технического Анализа должна для разработки ТС предлагать популярные платформы и стандартные языки программирования. Поясню.Многие программы предлагают использовать свои собственные языки программирования. Проблема в том, что данные языки не живут за пределами программы. Тяжело найти книги и курсы по разработке на этих языках. Плюс, ошибки в таких «недоязыках» и их плохая поддержка постоянно будут отодвигать вас от качественных ТС.

К языкам программирования Java и C# присоединяется кроссплатформенный язык Python. Он менее строг, чем семейство языков C. Его любит научное сообщество. На нем написаны библиотеки индикаторов, цифровой обработки сигналов, да и сами программы Технического Анализа (например, PyAlgoTrade и BackTrader).

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

Анализ результатов тестов
Для качественного анализа результатов тестирования ТС нужны метрики и представления. Метрики позволяют рассчитать любой показатель эффективности ТС по заданной формуле или алгоритму. Представления в наглядном и понятном виде показывают эти метрики. Будет очень хорошо, если в программе Технического Анализа можно будет не только использовать существующие метрики, но и создавать свои.

Оптимизация ТС
Очень полезно иметь несколько способов оптимизации ТС. Кроме банального перебора всех сочетаний параметров ТС можно тестировать методом Монте-Карло, генетическими алгоритмами и пр. Если вы хотите делать оптимизацию ТС быстро и качественно, то эти алгоритмы должны присутствовать в программе Технического Анализа.

Управление капиталом
Любую хорошую ТС можно сделать еще лучше. Для этого нужно использовать правильное управление капиталом (УК). Методов УК великое множество, у каждого из них есть свои особенности. В программе Технического Анализа должны быть как встроенные методы УК, так и возможность разрабатывать свои методы.

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

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

Автоматическая торговля
Когда вы систематизируете все процессы трейдинга, то обнаружите, что часть из них – рутина, не требующая исключительного ума, а требующая только совершения механистических действий. Именно к таким действиям относится постановка/исполнение/удаление заявок. Программа Технического Анализа должна предоставлять возможность частичной и полной автоматической торговли без участия трейдера.