Блог им. Tyam

ПРАВИЛЬНО выбираем школу алготрейдинга

 
За последние годы, из-за появления множества специализированных под автоматический трейдинг платформ и библиотек понятие «алготрейдер» растянулось на несколько разных областей знаний. Сегодня алготрейдер это и хардкор программист С++ и TSLab редактор и S# кодер.
 
    Так все-таки, какие существуют способы создания торговых роботов? В чём профит и проблемы того или иного подхода.
 
   Holy war inside...

OLD SCHOOL ALGO
С++ или C# + 10000 часов = злой HFT.
 
NEW SCHOOL ALGO 

S#.API + 1000 часов = милый HFT или злой скальпер.

VISUAL SCHOOL ALGO
TSLab+ 50 часов = милый скальпер.
 
    На сегодня популярны несколько способов создания торговых роботов. К сожалению, они не классифицированы и боясь, наткнутся на обвинения в том, что я science freak, всё же попробую разбить их на категории:
 
SortAlgoTrader
Категории алготрейдеров по способу создания МТС и краткий перечень их плюсов и минусов. Чем левее блок, тем более сложные алгоритмы можно создавать.
 
        
 
Visual School algo
— категория алготрейдеров которые пишут роботов в визуальных редакторах платформ для трейдинга.
 
Самый грубый и разрекламированный способ создания МТС.
 
    Популярные редакторы:
  • TSLab;
  • WhelthLab;
  • MetaTrader;
  • S#.Studio;
  • Multicharts;
  • TradeStation;
  • OECTrader.    


 
    До первого бэк теста необходимо уделить вопросу от 5 до 20 часов.
 
    Идеально подходит трейдерам, которые не хотят быть программистами.
 
   Высшая форма развития робота — набор роботов — скальперов (Что в некоторых ситуация вообще-то тоже не плохо).
 
 
  
 
 Api School  algo
категория алготрейдеров которые используют встроенные в платформы для трейдинга языки программирования.
 
    Популярные языки:
  • QPILE — встроенный язык Quik.
  • MQL — встроенный язык MetaTrader
  • Easy Language — встроенныйязыкMulticharts, TradeStation, OEC Trader.
  • C# — язык TsLab, WhelthLab и S#.Studio.
      Данный способ создания МТС, несмотря на свою популярность, кажется лично мне попыткой прикрутить к трактору самолёт.
 
     Как этим заболеть:
  1.    Тратим 100 часов на визуальный редактор любой из платформ представленных выше.
  2.    Понимаем, что это всё херня, что надо писать свои индикаторы и использовать нечто оригинальное.
  3.    Учим один из встроенных языков (+ 200 — 500 часов).
  4.    ...
  5.     Профит.
 
   Понимаю, что это вызовет срач однако высокую скорость исполнения  ни одной из перечисленных платформ не поставлю, хоть и большинство из них сам не юзал. А всё потому что все мои эксперименты с событийными и MVC/MVP архитектурами провалились. Полученные роботы работали медленнее Монолита без делегатов, событий и сложных взаимодействий объектов. Поэтому вероятность того, что роботы на базе даже того же S#.Studioбыстрее C# оптимизированных (по скорости исполнения) роботов, ничтожно мала. А вот вероятность того, что они на несколько порядков медленнее, напротив, стремиться к единице.
 
    В общем и целом не плохой выбор для начинающего алготрейдера. На первое время (а может и навсегда), функционала будет достаточно, кроме того, готовый каркас повысит безопасность программы.
 
   Но здесь необходимо понимать, что драгоценное время будет упущено и потом, возможно, придётся долго и мучительно переучиваться писать самому.
 
  Высшая форма развития робота — полуавтоматический HFT. Т.е. платформа, в которую жестко забивается точка входа, точка выхода, и изредка переоптимизируясь всё это работает под чутким присмотром алготрейдера.
 
    
 
 New School algo
категория алготрейдеров которые создают МТС используя готовые библиотеки.
 
В России это S#.API


    S#.API это набор объектов и подпрограмм, которые программист C# может использовать в своих МТС. Это не визуальный редактор и не готовая программа!
 
    Разница с предыдущей категорией — скорость. За счёт того, что это библиотека, есть возможность не брать лишнего «в дорогу», из-за этого теоретически, должен быть качественный рывок по скорости исполнения. Хотя конечно надо это дело проверять...
 
    Сами разработчики утверждают, что на обучение этой магии надо потратить около полу года. Если по 8 часов в день, то около 1500 часов, если по 5, то около 1000.
 
  Как и в предыдущей категории, высшая форма развития робота — полуавтоматический HFT.
 
   
 
Old  School algo
— категория алготрейдеров которые сами создают свои библиотеки и платформы для торговли.
 
    Плюсы такого способа создания роботов очевидны. Нет никакой привязки к архитектуре, отсюда возможность создавать самые быстрые МТС любой сложности.
 
   Вся проблема заключается в том, что для того чтобы научится с нуля писать самых простейших роботов, надо потратить от 1500 до 2000 (двух тысяч) часов времени.  


   Ни в одном институте таких перцев не готовят.  На рынке труда также невероятно дорог, как и редок.
 
  Высшая форма развития робота — ИИ HFT. Т.е. платформа, которая в серии бэк-тестов, сама находит работающие на сегодняшний день паттерны, затем торгует их и управляет позицией.
 
    Выбор способа создания МТС очень ответственный и сложный момент в жизни алготрейдера. От этого зависит вообще ВСЁ! И при этом есть ощущение, что у многих этот процесс происходит не осознанно. Про OLDSCHOOL ALGO мало кто пишет, в то время как другие способы создания роботов преподносятся как «абсолют» и рекламируются на каждом шагу. Надо друзья это дело исправлять...
 
    И ещё для тех, кто не решил по какому пути идти, уместно вспомнить одного моего преподавателя из института (цитата):
 
    «Если хотите стать программистом, то начинайте учить С++, т.к. если начать с C# то переучиться не получиться, это как наркотик...».
 
                                                                                            Зимаев И.   
                         
    О чем это он там намекает: Чем проще даётся создание законченной программы, тем сложнее морально потом переходить к каким-то  более сложным способам создания того же самого, пусть даже это будет перспективнее и технологичнее. Поэтому надо сразу выбирать технологичный и сложный путь, ориентируясь на лучших в своём деле. Тогда всё обязательно получиться!
 
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
1.5К | ★35
39 комментариев
«Высшая форма развития робота — полуавтоматический HFT. Т.е. платформа, в которую жестко забивается точка входа, точка выхода, и изредка переоптимизируясь всё это работает под чутким присмотром алготрейдера.»

полуавтоматический HFT? как-то странно это
avatar
Андрей Коган, имеется ввиду сам момент поиска и оптимизации стратегии. Естественно в процессе торговли, руками никто в терминал не лезит.
Tyam, но ведь HFT — high frequency.
Нет связи между high frequency и какими-либо точками входа и выхода.
avatar
Андрей Коган, )) То есть за счёт своей скорости у HFT робота по-вашему вообще не должно быть стратегии))
Tyam, насколько мне известно, нет
avatar
Андрей Коган, а по какому признаку он входит в позицию и выходит из неё в таком случае?)
Андрей Коган, мне весело конечно, но пока это не зашло слишком далеко, вот:
smart-lab.ru/finansoviy-slovar/HFT
а лучше вот здесь:
habrahabr.ru/post/163371/ — третий абзац
Tyam,
Совершенно верно.

Под термином HFT понимается набор техник при торговле акциями и деривативами, когда большой поток заявок отправляется на рынок с раунд-трипом меньше миллисекунды[1].

Раунд-трип имеет значение, а никак не точки входа.
И техники не есть стратегии.
avatar
держи плюс за статью и в профиль. Особенно о С++ и С# понравилось. Сам я начинал с С#, а С++ для критических к скорости мест в робот использую, вообще, думаю, все куски кода на С# выпилить со временем, но после С# на нем писать- страшное мучение. Удовольствия никакого.

А по поводу того, что олд скул никто не пиарит, это вопрос времени. Начнут. Сейчас уже все подряд пиарят. Дошло до того, что маркетмейкерские страты в массы толкают. Это вообще не нормально.
avatar
Stas Ivanov, да я и сам собственно на C# роботов пишу. И считаю, что в данный момент этот язык более перспективный чем С++. Однако весь банковский и брокерский сектор считает иначе.)) А цитата здесь не столько для рекламы С++, сколько для мотивации людей к более обдуманному подходу при выборе пути в алготрейдинге. Надо ж понимать что простые вещи несут в себе опасность топтания на месте. И чтобы чего-то добиться, надо сначала потрудиться.
Tyam, банк сектор давно уже формочки на C# делает. А расчет на ява и экселе. Где вы банк нашли с С++. Даже интересно стало, где такие еще остались.
avatar
Евгений, всё возможно, но мне кажется всё не так плохо как вы думаете, и банки могут себе позволить делать торговых роботов не в EXCEL.
Stas Ivanov, не думаю, что дойче-основной враг. Даже если они поставят самого быстрого бота на фортс, не окупят проект. Есть команды по 10-25 человек, которые очень скорость любят. Их надо бояться.
avatar
а что тогда с лагами робота?.. как пример)) мне почти 1300 рублей обходится лаг квикордерса))хотя это не бот… и бывает не часто
avatar
Old school — это когда чистый Си :)
avatar
ИИ HFT — мой путь.
avatar
Видимо по данной классификации я из old school algo :)
avatar
SECRET, а ты уже С++ перешел? Если нет, то по этой классификации те, кто на делфи пишут, вообще не алготрейдеры)
avatar
честно говоря поржал…
1 самое главное не си, не с++, не с#, не индикаторы, не 1000 часов программирования, а идея и концепция бота, т.е. грааль… если она есть, то можно писать хоть на чем…
2 скорость исполнения бота в тормознутом визуальном редакторе тслаба 2мсек легко… что в 100раз меньше скорости выставления заяв в 200мсек, а есть еще и задержка данных от биржи… т.е. повышать скорость бота смысла нет, все равно затык в скорости выставления заяв и лаге получения данных…
3 у многих начинающих алготрейдеров неверный подход… типа выучу си и буду ботов клепать… однако знание си и умение программировать никак не связано со способностью торговать в профит
4 чтоб написать действительно хорошего бота мне потребовалось 7 лет (и это имея большой опыт программирования мозгов для всяких приборов)… имхо проще руками научиться торговать… алготрейдинг писец какая непростая тема… только новичку кажется что все дело в умении программировать и в выборе платформы
avatar
ves2010, началось))
ves2010,
1. Да. Концепции прибыльной торговли известны, как для TSLab так и для HFT. Пишите пробой канала из 18 условий и 44 кубиков, я не мешаю. Только у меня немного другая цель и я её себе ой как хорошо представляю.
2. Да. На конечную скорость доступа к бирже сложно повлиять программно. Вот только процесс оптимизации и тестирования визуальный редактор замедлит в сотни, а в некоторых случаях в тысячи раз. Что с этим делать? А я скажу — забыть про ИИ.
3. Знание Си и программирования повышает IQ и на прямую сказывается на результатах торговли, а вот приносит ли такой же профит изучение кубиков визуального редактора?
Tyam, вот тут ты попался ))) имхо хороший бот в оптимизации не нуждается… т.е не содержит параметров оптимизации… ну максимум 1 параметр, хотя по факту выходит 2 (период оптимизации это еще один параметр)… поэтому говорить про скорости оптимизации не имеет вообще смысла
avatar
ves2010, это ваше мнение, имеете право.
ves2010, А вот моё имхо. «Хороший бот» может вовсе не нуждаться в наличии жестко прописанных точек входа и выхода, Т.е. тех самых кубиков Visual School Algo. Все это он сам должен найти, «оптимизировать» ВООБЩЕ ВСЁ и моя задача как программиста научить его как можно объективнее видеть часть рынка (в моём случае тики) неким универсальным способом, шаблонами, узнаваемыми, масштабируемыми и применимыми в качестве точек входа и выхода, на основе и после процесса «обучения». Хотя допускаю что в полной мере такой красоты не получиться. Тем не менее, говорить про скорость оптимизации в моём случае это очень и очень важно.
Вероятно всё это выглядит как ересь с точки зрения TSLab алготрейдера, но это так…
Tyam, вы сильно усложняете и отклоняетесь от главного — идеи робота.
Чем больше элементов и параметров у системы тем она гибче, но при этом сложнее в управлении и слабее по стабильности(т.е. вероятность полного отказа или частичной поломки значительно возрастает).
В плане оптимизации и настроек всё примерно так, как говорит ves2010.
Иван Правдин,
1. Прекрасно понимаю как составляется алгоритм торгового робота) и не против того что «идея робота» самое главное. На этом можно заработать. Речь ведь о том куда можно прийти отправившись по пути использования TSLab и C#, а вот тут наше мнение расходиться.
2. Я так понимаю и вы и ves2010 утверждаете, что существует лишь один способ создания системы и он упирается в единовременном прописывании всех условий на вход и выход ещё во время проектирования, а следовательно лучше TSLab может быть только WhelthLab. Но! Систему может сделать другая система, и мне кажется это перспективным.
3.Возможность использовать оптимизатор даёт возможность посмотреть рабочий диапазон настроек системы и сделать очень важные выводы. Как можно без этого обходиться, лично мне не понятно, а в визуальных редакторах это невероятная пытка. Как вариант: Все мои роботы работают с тиками, и я стараюсь чтобы количество сделок в бэк тестах было не меньше 200. При таком раскладе вероятность прибыльной сделки в большинстве случаев, без оптимизации и без учёта комисса стремиться к 0.5, а мат ожидание к 0.0. Приходиться попотеть… Однако чем меньше у системы сделок, к примеру 20 шт. тем удивительнее результаты можно получать, может это ваш случай? В таком случае советую пересмотреть своё отношении к тестированию и перечитать Кургузкина.
4. Есть множество хороших способов сделать любую систему стабильнее. Кроме опыта программирования тут никто никому не поможет.
Tyam, по п.2 я совершенно не согласен с ves2010, потому как в управлении деньгами важнее всего стабильность и контроль процесса торговли.
А для этого надо максимально хорошо владеть архитектурой.
Лично я стремлюсь уменьшить количество лишних прослоек типа TsLAB(и упростить по возможности).
По п.3 не согласен с вами.
Этим путём шли многие и результат един: подгонка и переоптимизация.
Советую посмотреть вакансии у этой компании, там описано КТО ВОСТРЕБОВАН и с КАКИМИ знаниями
www.sartregroup.com/
avatar
Northid, не плохо.
Отличная тема. Как раз работаю над HFT. Все эти новомодные средства разработки МТС типа TSLab — это для детей. Если всё-таки делать HFT по-взрослому, я бы посоветовал C++ или чистый C. Да, уйдет много времени, но это всё окупится. Вдобавок можно попытаться прикрутить OpenCL. Ну, и чтобы это всё работало на отказоустойчивом кластере.
avatar
Я не крутой гуру и не очень понимаю, зачем для програмирования нужно знать больше чем несколько условных операторов, цыкла, присваивания и функций…
В общем, здесь важен правильный подход. Нахрена мне с++, если свои задачи я могу решать исользуя QPILE? Где то год я баловался с MQL, но сейчас мт4 при системной торговле не очень доверяю :) Поэтому переползаю на фортс. И никакой хайфрикуэнси мне не нужен. Предлагаю термин «алготрейдинг» к этому направлению не использовать. Это обман.
avatar
:)
avatar
«а последние годы, из-за появления множества специализированных под автоматический трейдинг платформ и библиотек»

Большой спектр платформ (в том числе и для подбора под алготрейдинг) можно взять здесь: http://getanyplatform.com
avatar
Алексей, статья старенькая. Что-то поменялось во взгляде на эту тему за это время?
avatar

Читайте на SMART-LAB:
HENDERSON ускорил рост выручки во втором квартале
Выручка HENDERSON в первом полугодии 2026 года выросла на 6% год к году, до 13,7 млрд рублей с учетом НДС. Во втором квартале темпы роста...
Фото
Заработать на американском рынке нефти: новый инструмент в Т-Инвестициях
В Т-Инвестициях теперь можно торговать фьючерсными контрактами на нефть сорта WTI. Это один из ключевых ориентиров мирового товарного...
Фото
На рынке стало совсем страшно
Рынок акций рухнул на дно осени 2022 г. Индикатор волатильности в области «страха». Полная неопределенность порождает панику, и все так...
Фото
Портовый срез #7: НМТП отгружает рекордные объемы, но все боятся остановки судоходства в Черном море - смотрим на факты
Порты России вместо привычной сверхмаржи и дохода для инвесторов стали мишенью для БПЛА противника. Перестали ли из-за этого они быть...

теги блога Алексей Ван <o-s-a.net>

....все тэги



UPDONW
Новый дизайн