Блог им. uralpro

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

    • 08 августа 2014, 09:38
    • |
    • uralpro
  • Еще
        Итак, моя десятилетняя карьера на заводе в качестве начальника снабжения завершилась неудачно, в связи с продажей завода новым хозяевам, которые довели завод до банкротства в рекордные 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. Сложность математики меня не пугает, есть опыт программирования достаточно серьезных алгоритмов ( решение дифф. уравнений, динамическое программирование, опционные модели).

       И еще — я пишу на си шарпе — быстродействия-то хватит на сегодняшнем рынке, или уже на С++ надо переходить?
★21
54 комментария
Глупо давать на такие вопросы ответы, в открытом доступе
avatar
Иван Иванов, Я не думаю получить точные ответы, мне интересны мнения
avatar
uralpro, Да -алгоритм работает, да -есть адекватные математические модели, не надо быть супер програмистом, есть программы заточенные под рынок там в них встроена и булевская логика и куча еще всякой байды и есть (самое важное) сторонние аддоны где как раз и реализованы достаточно интересные мат модели
avatar
Иван Иванов, спасибо, это тоже важная информация для меня. А вы сами все это применяете?
avatar
uralpro, Да, потому что я не програмист а палить идею кому либо не хотелось, потому что для меня ВАЖНо работать по нескольким инструентам в разном стиле и благодаря аддонам я получил столько разных идей которые уже реализованы в программе ну и робот полностью автономен и ВАЖНО что при отключении интернета он НЕ теряет позу
avatar
Иван Иванов, что за аддоны? Это вы так называется математические библиотеки? Что за язык программирования и где считаете логику?
avatar
твой алгоритм основан на идикаторах? статистике?!
avatar
ruscash, и на том, и на другом
avatar
попробуйте начать с сеанса разоблачения
avatar
vfreeman, правильно, хотим знать врага в лИЦо :)
avatar
Все то, что работало в 2010 можно смело палить, т.к. оно сейчас однозначно не работает
avatar
Маленький у тебя какойто депозит
Иришка Суфарова, в смысле? Это условия конкурса, там начинали с 50 тыс., чтобы больше процентов показать, и то, в связи с ошибкой начальную указали в 104 тыс. руб, но на самом деле было 50 т.р.
avatar
uralpro, а какой завод обанкротился? если не секрет…
avatar
akey, не думаю, что нужно это говорить, может это каким-то образом затронет людей, еще работающих там
avatar
Видимо, мне нужно потарапливаться с разработкой своего робота.
avatar
Глупый пост
avatar
Автор мошенник!
Не отвечайте ему!
avatar
kreativ_25, с чего вы решили, что я мошенник?
avatar
А когда вы индекс РТС составляли из бумаг на споте, вы Si как-то учитывали?

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

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

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

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

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

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

Еще есть Delphi тоже очень быстрая штука уровня плюсов.
Александр, дельфи сейчас под дотнет, если только старая семерка.
avatar
Я знаю про моно, но с++ с точки зрения гарантированного латенси гораздо предсказуемее. То есть меньше участвует «третих» сторон между вами и рынком.
avatar
Valeriy, в целом, знание языка, по сути мало что решает, необходимо знать что и зачем вы делаете. То есть важно знать не сам язык, а знать то как работает компьютер, как процессор взаимодействует с памятью, как работают потоки на аппаратном уровне и прочие вещи. В случае с mono большую часть из этих вещей за вас решает компилятор, в с++ вы можете сделать более заточенную под ваши задачи вещь. Я говорю о таких, важных для HFT вещах как lock-free обьекты, выравнивание структур в памяти и прочем.
avatar
stitrace, только честно, то что вы в этом комментарии написали помогло вам увеличить доход?
Александр, я linux и c++ использовал изначально, так что не могу сравнить c mono. lock-free и прочие оптимизации делались скорее «от нечего делать». В целом, я не могу оценить увеличился доход или нет, потому что я не на 100% контролирую свои модели, то что можно принять за увеличении эффективности посредством оптимизации инфраструктуры можно легко списать за изменившиеся тенденции на рынке. Но я считаю, что лишним это не будет.
avatar
stitrace, ну я в программировании не первый год…
я знаю С++ и С#
--пишите на ассемблере там вы можете сделать все что угодно--

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

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

Вы не понимаете суть, моих высказываний каждый инструмент для своих целей, ведь никому не придет в голову забивать гвозди микроскопом.
avatar
Valeriy, я прекрасно понимаю о чём вы говорите, для тех целей, для которых вы используете шарп — я использую питон. В таком случае тут вопрос «что лучше использовать» не стоит и спор наш с вами бессмысленен)
avatar
Автор, похоже ты решил понтануться)) Я вот тоже хочу уметь программировать — уже изучаю во всю) А тем кто умеет писать ботов, тем более на c#, а не всякими квадратиками, я завидую)
avatar
Lika, понтоваться жизнь давно отучила :)) Все делаю с какой-то практической целью, каковой понты не являются
avatar
Lika, главное алгоритмы, разработка дело третье.
avatar
convolutional networks
avatar
Сергей, спасибо. А уже есть рабочая реализация? Честно говоря, нейронными сетями хотел бы заняться в последнюю очередь — неясен процесс обучения и принятия решений. Фактически выявляются паттерны, которые вряд ли устойчивые образования. Хотя, кто его знает…
avatar
Рабочей реализации под наш рынок сейчас нет, к сожалению. Работающих сетей полно в сети, вопрос на каком языке нужно.
avatar
если:
1. к этому посту проявят интерес достаточное количество людей

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

множество адекватных моделей есть в открытом доступе — да вы что? это где? в открытом доступе как раз в основном свечи, мувинги и прочая ересь.
avatar
PASHA, ну неделю-то дайте, secret не ответил, я сам протестирую на сегодняшних данных, вдруг чудо случится
avatar
1. У меня тоже есть оригинальный прибыльный робот, показывающий непрерывную прибыль на истории за 15 лет по различным валютным парам.
2. Думаю, объединение людей с оригинальными идеями даст профит и преимущество на рынке.
3. Не считаю, что алгоритмы или просто ИДЕИ стоит засвечивать в открытом доступе. Это усложнит торговлю не только Вам, но и всем остальным.
4. Нужно разрабатывать алгоритмы, не критичные ко времени доступа на биржу.
5. Готов предоставить заинтересованным трейдерам доступ в закрытый форум, либо сам поучаствовать в закрытом форуме со своими мыслями.
6. С++ или С# — не принципиально. На мой взгляд, при современной мощности процессоров, это только различие в синтаксисе. Рекомендовать Асемблер для таких разветвленных задач — смешно. Лично мне ближе изначальный С++
=====================================================
А насчет развала крепкого завода — сейчас это тенденция ((
avatar
Йоганн, согласен, хорошие идеи светить не стоит, я скорее хотел узнать общие настроения. Не критичные к латенси алгоритмы вряд ли существуют в смысле hft — там весь смысл в торговле на микроструктуре, и чем больше сделок( до разумных пределов, конечно), тем больше статистическая устойчивость алгоритма. Менее чувствительны могут быть только арбитражные стратегии, но арбитраж должен быть каким-то сложным, на многих инструментах — весь простой уже давно отработали (да, еще и опционные стратегии могут быть относительно медленными). Все остальное, что предполагает предсказание цены на более чем секундной сетке — по-моему не может работать, во всяком случае, я не находил таких зависимостей (я и на секундах не находил уже в 2010 году), но тут я могу, конечно и ошибаться. Также считаю, что общение на закрытом форуме не принесет ничего полезного — если вы считаете, что здесь не стоит светить идеи, то зачем их светить перед более компетентным сообществом, где вероятность ее реализации еще выше. Вы же не думаете, что с вами потом поделятся (даже не деньгами, а просто технологией)? Объединение возможно только на финансовой основе — запасаться деньгами на год, собираться в одном помещении, писать планы, и, не отрываясь, этот год пахать, пока не выйдет что-то, что можно выпускать на реальные торги. И общение в таком формате становится очень полезным и даже необходимым.
avatar
uralpro, здраво рассуждаете.

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

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

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

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

Просьба заинтересовавшимся — писать в личку, так как смартлаб не сообщает об ответах на комменты.
avatar
а можно в личку код робота?)
avatar
bang_bang, за 10500р
(одного значимого слова (можно на языке вероятного противника) достаточно, я догадаюсь)

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

теги блога uralpro

....все тэги



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