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