Алгоритмическая торговля — это высокотехнологичная и узкоспециализированная область, где успешное программирование и разработка стратегий могут напрямую влиять на финансовые результаты. Важно понимать, что простое определение популярности языков программирования на основе общего количества репозиториев на GitHub для задач, связанных с алгоритмической торговлей, может дать искажённое представление. Когда мы рассматриваем языки программирования, используя стандартные метрики, такие как общее количество репозиториев, мы можем прийти к ошибочным выводам. Давайте рассмотрим, почему это так.
Когда мы оцениваем популярность языков программирования на основе общего количества репозиториев на GitHub, такие языки, как JavaScript или Python, могут оказаться на первом месте. Это связано с тем, что они широко используются для разработки веб-приложений, которые составляют значительную долю всех проектов на GitHub. Однако, если мы ограничимся этими данными, мы рискуем упустить важную информацию о том, что действительно используется в узких сферах, таких как алгоритмическая торговля.
Это введение по минисерии статей в рамках нашего гайда о том, что такое параметры у роботов, какие они бывают в OsEngine, и как использовать окно параметров для того, чтобы управлять роботом.
В данной статье будем знакомиться с классом IIStrategyParameter, родителем всех параметров. И где параметры отображаются в интерфейсе.
Как правило, большинство торговых алгоритмов имеет настраиваемые параметры, которые позволяют гибко настраивать систему для разных рынков и инструментов. Более того, с разными настройками робот может показывать совершенно разные результаты на одной и той же бумаге.
Конечно можно в роботах задействовать собственные варианты внедрения настроек, но куда предпочтительнее использовать специально созданные для этого классы. Ведь стандартные параметры сразу прорисовываются в интерфейсе тестера, торговой станции и оптимизатора.
Все типы параметров реализуют интерфейс IIStrategyParameter.
Использование готовых параметров дает возможность программе выводить настройки робота в специальном окне без необходимости создания для этого дополнительных модулей. Доступ к этому окну можно получить, нажав кнопку «Параметры», у конкретного робота:
Мы побеседовали со специалистом, который занимается Data Scientist, и узнали много вещей, связанных с возможностью применения искусственного интеллекта в биржевой торговле.
Во времена, когда слышатся лозунги: «Нейросети будут с нами надолго», возникает большой вопрос насчёт применения этих технологий для предсказания цен на бирже. Так как зачастую будущее движение цены — это огромный массив данных, которые влияют на ценообразование компании, а, как для многих известно, модели машинного обучения в разы быстрее обрабатывают биг дату.
Как я уже упомянул, самым заманчивым применением искусственного интеллекта в контексте финансовых рынков является его способность предсказывать будущие цены активов. Несмотря на то, что достичь высокой точности в этих предсказаниях пока не удается, многие крупные игроки финансового сектора, включая ведущие банки, инвестиционные фонды и прочие значимые организации, активно инвестируют ресурсы в разработку и совершенствование технологий машинного обучения.
По умолчанию как бы считается, что управляющий своими активами, управляющий чужими, наставник по инвестициям и фондовый аналитик — люди более-менее одной профессии. Раз точно умеет А, то наверное может и Б, и наоборот. По мне же, там может быть огромная разница, примерно как между футболистом, футбольным тренером и спортивным комментатором. Вообще три разных профессии, хотя все вертятся вокруг одной игры. Но играют в разное.
Разница следует из того, какой главный параметр оптимизируют в каждом конкретном случае? Только если честно? Переиначивая известную фразу: «Скажи мне главный параметр оптимизации, и я скажу, кто ты»
Управляющий своим капиталом — максимизирует прибыль, соблюдая некий уровень риска и усилий, все просто и честно. Если капитал чужой, то важен не только результат управления, но и сколько там денег. Отсюда добавляется параметр «соответствовать чужим настроениям», он может особо не мешать, но может затмевать все.
Данный способ подключения роботов в платформу нужно использовать, когда Ваши алгоритмы уже готовы, и Вы не нуждаетесь в дебаггинге. Просто торгуете, перенося скрипты из версии в версию OsEngine.
Суть его заключается в следующем: код алгоритмов создается и отлаживается в основном проекте, но потом переносится и хранится в виде текстовых файлов с расширением cs. в специальном каталоге рядом с exe файлом приложения:
ВРЕМЯ ДЕЙСТВИЯ: ДО ЗАКРЫТИЯ ТОРГОВ
УСЛОВИЕ: ЦЕНА >= 1.894
СТОП-ЛОСС: ЦЕНА ВАШЕЙ ПОКУПКИ — 0.04
ТЭЙК-ПРОФИТ: ЦЕНА ВАШЕЙ ПОКУПКИ + 0.04
СТАТИСТИКА С 22.09.1997 ПО 29.12.2018: 710/396
(ЧИСЛО ПРИБЫЛЬНЫХ СДЕЛОК/ЧИСЛО УБЫТОЧНЫХ)
В классе BotPanel имеется ряд абстрактных членов, которые необходимо реализовать в классах наследниках.
По-простому, надо сделать несколько обязательных методов после того, как Вы начнёте создавать своего робота.
Рассмотрим пример создания робота. Пустого, но который уже будет виден тестером.