uralpro
uralpro личный блог
08 августа 2014, 09:38

Похоже, надо возвращаться к разработке HFT

        Итак, моя десятилетняя карьера на заводе в качестве начальника снабжения завершилась неудачно, в связи с продажей завода новым хозяевам, которые довели завод до банкротства в рекордные 5 месяцев. При том, что до них это было одно из самых крепких предприятий в регионе (в своем секторе).
        Так как свободного времени у меня теперь намного больше, решил вспомнить свой опыт на HFT поприще — мой робот учавствовал в ЛЧИ — investor.moex.com/ru/statistics/2010/, robot_uralpro — 25 место.  Во-первых, могу сделать сеанс разоблачения этого робота, то есть подробно описать его алгоритм, если:
1. к этому посту проявят интерес достаточное количество людей
2. меня не остановит Secret, который вроде хотел (http://smart-lab.ru/blog/189085.php#comment2786041) проверить мой алгоритм на сегодняшних данных, и он вдруг  показал на бэктесте фантастическую :-)) эффективность (или хотя бы как в 2010), в чем я очень сильно сомневаюсь.

        Кроме того хочу начать разработку новых алгоритмов,  и хочу задать простой вопрос: Как вы полагаете, какие математические модели работают на нашем рынке (имеется в виду срочный рынок)? Любые мысли приветствую со следующими оговорками:


1. Считаю, что всякие свечные анализы, уровни, фракталы и тому подобная ересь — не работает. И это не математические модели :-))
2. Любой алгоритм должен обладать статистической значимостью — большое количество сделок, то есть модели должны быть применимы к HFT торговле
3. Не надо думать, что я прошу палить граали — множество адекватных моделей есть в открытом доступе, кто занимался, тот знает. У меня просто цель сократить время поиска наиболее эффективной модели, и я наивно полагаю, что мне кто-то подскажет :-)) ( одного значимого слова (можно на языке вероятного противника) достаточно, я догадаюсь). Тем более понимание модели и создание технологии торговли — две огромные разницы.
4. Сложность математики меня не пугает, есть опыт программирования достаточно серьезных алгоритмов ( решение дифф. уравнений, динамическое программирование, опционные модели).

       И еще — я пишу на си шарпе — быстродействия-то хватит на сегодняшнем рынке, или уже на С++ надо переходить?
54 Комментария
  • Иван Иванов
    08 августа 2014, 09:41
    Глупо давать на такие вопросы ответы, в открытом доступе
      • Иван Иванов
        08 августа 2014, 09:58
        uralpro, Да -алгоритм работает, да -есть адекватные математические модели, не надо быть супер програмистом, есть программы заточенные под рынок там в них встроена и булевская логика и куча еще всякой байды и есть (самое важное) сторонние аддоны где как раз и реализованы достаточно интересные мат модели
          • Иван Иванов
            08 августа 2014, 10:23
            uralpro, Да, потому что я не програмист а палить идею кому либо не хотелось, потому что для меня ВАЖНо работать по нескольким инструентам в разном стиле и благодаря аддонам я получил столько разных идей которые уже реализованы в программе ну и робот полностью автономен и ВАЖНО что при отключении интернета он НЕ теряет позу
            • siva
              08 августа 2014, 10:35
              Иван Иванов, что за аддоны? Это вы так называется математические библиотеки? Что за язык программирования и где считаете логику?
  • Ruscash
    08 августа 2014, 09:42
    твой алгоритм основан на идикаторах? статистике?!
  • vfreeman
    08 августа 2014, 09:45
    попробуйте начать с сеанса разоблачения
    • Шаман
      08 августа 2014, 09:47
      vfreeman, правильно, хотим знать врага в лИЦо :)
  • inc
    08 августа 2014, 09:56
    Все то, что работало в 2010 можно смело палить, т.к. оно сейчас однозначно не работает
  • Иришка Суфарова
    08 августа 2014, 09:56
    Маленький у тебя какойто депозит
      • akey
        08 августа 2014, 10:08
        uralpro, а какой завод обанкротился? если не секрет…
  • professor facepalm
    08 августа 2014, 10:08
    Видимо, мне нужно потарапливаться с разработкой своего робота.
  • Si#
    08 августа 2014, 10:20
    Глупый пост
  • Si#
    08 августа 2014, 10:22
    Автор мошенник!
    Не отвечайте ему!
  • siva
    08 августа 2014, 10:23
    А когда вы индекс РТС составляли из бумаг на споте, вы Si как-то учитывали?

    Сейчас просто данная стратегия не работает уже на обычном терминале и с обычным брокером (лично у меня не получилось что-то нормальное).
      • siva
        08 августа 2014, 10:30
        uralpro, ясно. Если в 2010 году нужна была плаза, то как правильно говорит SECRET, сегодня уже нужен сервер в стойке рядом с биржей и самописный софт на C++ скорее всего.

        Траты большие, а выхлоп сомнительный.

        + непонятно сколько уже ребятишек сидит на этой стратегии, может там уже ликвидности достаточно на этой неэффективности.
  • Valeriy
    08 августа 2014, 10:49
    C# ни чуть не хуже C++, это всего лишь инструменты, если умеете использовать С# вы напишите на нем куда более качественное приложение нежели на С++ в котором плохо разбираетесь.

    siva, сервер в стойке, для HFT нужен был всегда
    • siva
      08 августа 2014, 10:58
      Valeriy, создатель темы торговал в 2010 без сервера в стойке.
  • stitrace
    08 августа 2014, 11:08
    По поводу шарпа и с++ тут скорее дело в используемой платформе, начинать чтото делать лучше (моё мнение) на linux, а там с шарпом проблема. Но только в том случае если ваш алго слишком чуствителен к миллисекундам. Тоесть если для вашего алго 5ms это весьма существенное время, то лучше с++ начинать, даже если пока не планируете использовать linux и сервер в стойке.
  • Valeriy
    08 августа 2014, 11:25
    stitrace, это не проблема, для никсов есть mono, www.mono-project.com/Main_Page.

    что значит чувствителен к миллисекундам, вы думаете на шарпе команды выполняются за часы?

    Я еще раз повторяю если незнаете C++ или плохо его знаете напишите хуже чем на шарпе. Ловля микро и мили секунд на любом языке подразумевает довольно не плохой скил владения этим языком
    • Михаил Пиписькин
      08 августа 2014, 11:35
      Valeriy, на шарпе быстрее написать, на плюсах быстрее работает. Мое убеждение если ваш алгоритм не работает ни на одном языке то на плюсах точно работать не будет. Хотя сам пишу на плюсах перешел с скалы. Не нужно забывать что шарп работает в виртуальной машине по этому вы не можете гарантировать время ответа в 100% случаях, GC.

      Еще есть Delphi тоже очень быстрая штука уровня плюсов.
      • Фибофан
        09 августа 2014, 09:47
        Александр, дельфи сейчас под дотнет, если только старая семерка.
    • stitrace
      08 августа 2014, 14:08
      Я знаю про моно, но с++ с точки зрения гарантированного латенси гораздо предсказуемее. То есть меньше участвует «третих» сторон между вами и рынком.
    • stitrace
      08 августа 2014, 14:12
      Valeriy, в целом, знание языка, по сути мало что решает, необходимо знать что и зачем вы делаете. То есть важно знать не сам язык, а знать то как работает компьютер, как процессор взаимодействует с памятью, как работают потоки на аппаратном уровне и прочие вещи. В случае с mono большую часть из этих вещей за вас решает компилятор, в с++ вы можете сделать более заточенную под ваши задачи вещь. Я говорю о таких, важных для HFT вещах как lock-free обьекты, выравнивание структур в памяти и прочем.
      • Михаил Пиписькин
        08 августа 2014, 15:39
        stitrace, только честно, то что вы в этом комментарии написали помогло вам увеличить доход?
        • stitrace
          08 августа 2014, 15:48
          Александр, я linux и c++ использовал изначально, так что не могу сравнить c mono. lock-free и прочие оптимизации делались скорее «от нечего делать». В целом, я не могу оценить увеличился доход или нет, потому что я не на 100% контролирую свои модели, то что можно принять за увеличении эффективности посредством оптимизации инфраструктуры можно легко списать за изменившиеся тенденции на рынке. Но я считаю, что лишним это не будет.
      • Valeriy
        08 августа 2014, 16:06
        stitrace, ну я в программировании не первый год…
        я знаю С++ и С#
        --пишите на ассемблере там вы можете сделать все что угодно--

        Все зависит от алгоритма вашего HFT если он смотрит всего 2 параметра то вы на с++ его напишите и он у вас будет работать быстро.

        С# уже не тот что был в 2003 когда я его впервые попробывал, сейчас я его успешно использую с связке С++, С++ CLI, C#
        Если что то очень критичное можно выделить это в либу и реализовать это максимально внимательно, а все остальное максимально быстро на C# с минимальным количеством подводных камней.

        Вы не понимаете суть, моих высказываний каждый инструмент для своих целей, ведь никому не придет в голову забивать гвозди микроскопом.
        • stitrace
          08 августа 2014, 17:02
          Valeriy, я прекрасно понимаю о чём вы говорите, для тех целей, для которых вы используете шарп — я использую питон. В таком случае тут вопрос «что лучше использовать» не стоит и спор наш с вами бессмысленен)
  • Lika
    08 августа 2014, 12:09
    Автор, похоже ты решил понтануться)) Я вот тоже хочу уметь программировать — уже изучаю во всю) А тем кто умеет писать ботов, тем более на c#, а не всякими квадратиками, я завидую)
    • stitrace
      08 августа 2014, 14:04
      Lika, главное алгоритмы, разработка дело третье.
  • Сергей
    08 августа 2014, 12:15
    convolutional networks
  • Сергей
    08 августа 2014, 12:34
    Рабочей реализации под наш рынок сейчас нет, к сожалению. Работающих сетей полно в сети, вопрос на каком языке нужно.
  • PASHA
    08 августа 2014, 20:36
    если:
    1. к этому посту проявят интерес достаточное количество людей

    пали грааль, раз уж назвался груздем

    множество адекватных моделей есть в открытом доступе — да вы что? это где? в открытом доступе как раз в основном свечи, мувинги и прочая ересь.
  • Йоганн
    09 августа 2014, 01:20
    1. У меня тоже есть оригинальный прибыльный робот, показывающий непрерывную прибыль на истории за 15 лет по различным валютным парам.
    2. Думаю, объединение людей с оригинальными идеями даст профит и преимущество на рынке.
    3. Не считаю, что алгоритмы или просто ИДЕИ стоит засвечивать в открытом доступе. Это усложнит торговлю не только Вам, но и всем остальным.
    4. Нужно разрабатывать алгоритмы, не критичные ко времени доступа на биржу.
    5. Готов предоставить заинтересованным трейдерам доступ в закрытый форум, либо сам поучаствовать в закрытом форуме со своими мыслями.
    6. С++ или С# — не принципиально. На мой взгляд, при современной мощности процессоров, это только различие в синтаксисе. Рекомендовать Асемблер для таких разветвленных задач — смешно. Лично мне ближе изначальный С++
    =====================================================
    А насчет развала крепкого завода — сейчас это тенденция ((
      • Йоганн
        09 августа 2014, 15:16
        uralpro, здраво рассуждаете.

        На самом деле светить бизнес идеи где бы то ни было — зло. Но если встречаются люди, которые видят потенциал сотрудничества и разделения функций, а также свой выигрыш от этого, то вполне можно рассчитывать на то, что идея не уйдет в широкое пользование и тебя не кинут, как это часто бывает.

        Насчет HFT — да, критично к латенсии, но я имел в виду просто бот-трейдинг.
        Мой робот, например, построен на двух принципах — вход после консолидации (с элементами Иск. Интеллекта — проверкой на вынос стопов) и интеллектуальный трейлинг открытой позиции.
        Хотелось бы прикрутить к нему выявление и поиск постоянно эволюционирующих паттернов и со сбором статистики срабатывания оных.
        Если есть желание, то можем поработать над этой темой.
        Кое-что я уже сделал. А именно — быстрый масштабируемый распознающий механизм. Теперь нужно сделать его рекурсивное скольжение по истории с изменением масштаба.
        Работа плевая, но что-то лень одолела ))))
        Исходники сделал на С++ и С#

        И да, одна из моих концепций — арбитраж по многим валютным парам при загрузке депозита более 50%.

        А насчет объединения на финансовой основе — у меня есть наброски бизнес-плана по созданию неформального фонда, где каждый трейдер финансово «повязан» собственными вкладами и не заинтересован сливать. При этом квоты каждого трейдера на долю в управлении определяются особым алгоритмом.
        Система диверсифицирована по банковским счетам. брокерам, инструментам, стратегиям и имеет тупую отсечку при форс-мажоре.

        Просьба заинтересовавшимся — писать в личку, так как смартлаб не сообщает об ответах на комменты.
  • Atom
    25 марта 2015, 13:36
    а можно в личку код робота?)
  • bang_bang, за 10500р
  • Roman Ivanov
    31 марта 2015, 21:02
    (одного значимого слова (можно на языке вероятного противника) достаточно, я догадаюсь)

    Пресловутое ПоДеПроДо, помедитируй над ним.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн