Replikant_mih
Replikant_mih личный блог
13 мая 2017, 15:53

Роли в алгоритмической команде.

Многие алгоритмические трейдеры – одиночки – он и трейдер, он и кодер, и квант. И хотя во многом эти роли близки (например, если сказать: трейдер, художник, квант, кодер, уберите лишнее слово, то оставшиеся 3 видно, что достаточно близки), всё-таки при этом они и существенно отличаются между собой. В контексте данного поста важны те отличия, которые завязаны на предрасположенности. Я допускаю – и это так и есть – что человеку могут подходить часть этих ролей и не подходить другие, или подходить меньше. Меньше подходить, в данном случае означает, что отдача от выполнения соответствующей роли будет меньше. Да, ты приспособишься, адаптируешься, подтянешь нужные дисциплины, засунешь подальше свои предрасположенности и предпочтения и будешь делать весь спектр работ, но нетипичная роль, нелюбимая роль всегда будет в отстающих в твоём единоличном тандеме.

Какие блоки (процессы, этапы) имеются в алгоритмической торговле:

1. генерация идей.

2. формализация идей.

3. тестирование идей.

4. аналитика результатов тестирования.

5. техническая реализации торговых роботов, и всей инфраструктуры для всех процессов в целом.

Для целей поста классификация прокатит.

Из предложенного списка я хорош в 1, неплох в 3, 4 и довольно слаб в 2, 5.

Генерить идеи – это прям моё!) Я в целом по жизни предпочитаю абстрактный уровень мышления конкретному – это даёт тебе в плане генерации идей огромное преимущество. Какие идеи хороши? – не стандартные, ну, вернее, не стандартные идеи повышают твои шансы наткнуться на что-то действительно стоящее, интересное, не избитое на рынке, где ещё нет толпы высокообъёмистых алго-конкурентов. Когда ты любишь и умеешь мыслить на абстрактном уровне, твоё конкурентное преимущество основано на том, что мысля так ты не цепляешься за землю – за конкретный уровень, ты как бы мыслишь свободно, да, ты платишь за это цену в виде того, что некоторые идеи могут быть абсурдными, бессмысленными и т.д., но для фильтрации таких идей есть последующие этапы, наличие таких идей не проблема, а вот отсутствие нестандартных идей – вот настоящая проблема.

Тестирование идей и аналитика результатов – ну это аналитика – это я тоже люблю, это я тоже умею, но поскольку генерить идеи – это для меня прям лайтовый процесс, т.е. если процесс пошёл – он идёт легко, ненапряжно, эмоционально приятно и т.д., аналитика же, это хоть и интересный процесс, но более приземленный, сам по себе лайтово он не идёт, чуть, скажем так, напряжней этот процесс, это и на результатах сказывается, именно поэтому эти блоки я оценил применительно к себе только как «неплохо».

Формализация идей, тут речь собственно о формализации), конкретизации идей, но главное, что я в данный блок смыслово вкладываю – это то, что в данном случае залог успеха часто – наличие хорошего математического бэкграунда и общая техническая подкованность. По своей основной на данный момент работе у меня получаются отличнейшие тандемы с людьми с хорошим техническим бэкграундом – моей общей технической эрудиции вполне достаточно чтобы находить общий язык с такими людьми и направлять их качественные технические знания в нужное русло, получаются классные результаты. Аналогично и с технической реализации всей инфраструктуры, кода – ну тут нужно быть хорошим программистом – т.е. опыт и знания, ну и предрасположенность. В целом мне нравится кодить, но это не то что прям «моё», поэтому даже если я подтяну серьёзно знания, наберусь опыта, «моим» это всё равно не станет и этот блок всегда будет в отстающих.

В идеале алгоритмическая команда должна составляться таким образом, чтобы тетрис сложился, чтобы минусы одного компенсировались плюсами других. Предпринимал я попытки объединяться, но тогда я имел смутное представления о критериях выбора компаньонов и из этого получались то команда из трёх с половиной трейдеров и одного полу-кодера, то трейдер + сисадмин с навыками программирования и начальными знаниями в трейдинге, другими словами, итоговая команда ни разу не была сколько-нибудь эффективней чем я один)).

А как бы выглядела идеальная алгоритмическая команда в случае если бы я был её участником: я – генератор идей, хороших и разных. Есть кто-то с хорошей мат. подготовкой, с этим человеком мы находим интересные, прогрессивные, эффективные способы реализации идей – в тандеме. Далее есть человек – супер-кодер, супер-технарь, который мутит качественную архитектуру софта и собственно сам софт – быстрый, надежный, расширяемый, гибкий. Как-то так. Возможно, к этому приду. Но, видимо, не сейчас. В любом случае, даже если прийти в итоге к такой схеме, желательно иметь достаточно хорошее представление обо всех этапах, обо всех процессах, т.е. быть ассом в своем и разбираться во всём.

56 Комментариев
  • злой человек
    13 мая 2017, 16:27
    Ну не скажи, вот я успешно совмещаю в себе все эти роли! Я являюсь очень крутым математиком, поэтому отлично справляюсь с работой кванта. Раньше я своим выдающиеся математические способности прикладывал в программирование, много лет проработав профессиональным программистом( это очень родственные области, для программистов тоже важно логическое мышление и математические способности), так что с програмной составляющей у меня тоже все впорядке.
     Ну а трейдинг это вообще элементарная составляющая, посадить следить за роботами можно даже неквалифицированную обезьяну, но я сейчас занимаюсь этим сам. На втором мониторе открыты квики и мониторилка роботов и я иногда краем глаза туда поглядываю как у них идут дела, спокойно на основном моне занимаясь первыми двумя ролями.
    • Watcher
      13 мая 2017, 21:47
      sore, где служил диссертацию где защищал и по какой теме?
      • злой человек
        13 мая 2017, 22:01
        Enfernuz, я не настолько глуп чтоб тратить свое время впустую на написание диссеров ;)
        • Watcher
          13 мая 2017, 23:00
          sore, толсто
  • Антон Иванов
    13 мая 2017, 16:40
    Что хуже всего при работе с друзьями/партнерами/командой? То, что тебя рано или кинут/обманут. Проверено жизнью и не один раз. Друзей после совместного бизнеса не остается.
  • Андрей К
    13 мая 2017, 17:12
    Можно промониторить все имеющиеся вакансии в стране и сложится довольно правильное мнение о ролях в команде на практике.
      • Андрей К
        13 мая 2017, 18:26
        Replikant_mih, у вакансий есть сезонность. Сейчас не сезон. Чуть позже.
          • Андрей К
            13 мая 2017, 18:51
            Replikant_mih, ага, сразу после НГ в середине января начало. Пару месяцев. И примерно в конце сентября и тоже на пару месяцев.
  • Cristopher Robin
    13 мая 2017, 18:34
    Сейчас вакансии идут под стартапы. Собрать блестящую команду, которая предназначена для эксперимента, очень несложно. В ней не будет никаких проблем и никаких разногласий, все просто получают ЗП не зависимо от результата. Собрать команду для совместного извлечения прибыли, а не для просерания бюджета — не реально.
      • Cristopher Robin
        13 мая 2017, 19:03
        Replikant_mih, я вот не уверен, что есть такие команды.
  • StockChart.ru
    13 мая 2017, 18:55
       Я думаю что для многих идеальный вариант придумывать идеи ака пиздеть, а что бы работали за них другие, а чо удобно — ответственность перекладываешь на других, а бабки себе забираешь )
  • sortarray sortarray
    13 мая 2017, 19:08
    в плане разработки генерация идей распространяется почти на все, что Вы написали. Есть идеи о том, что это должно из себя представлять, идеи как это должно работать, и идеи как это формализовать и реализовать.
    В этом случае реализация тривиальна, но идеи всегда стоят впереди — идеи об архитектуре, например, о гибкости, расширяемости.
    Мы же не говорим, что идея двигателя внутреннего сгорания состояла в том, чтобы что-то ездило по дорогам, абстрактно, и непонятно каким образом.

    Народ давно изобрел ступу бабы яги и летающие ковры, но самолеты намного позже пришли в нашу жизнь
      • sortarray sortarray
        13 мая 2017, 19:26
        Replikant_mih, для того чтобы делегировать часть работы, скажем, избавить себя от скучного число*бства и перекладывания байтиков, нужно обладать даром декомпозиции и модульности, разделения ответственности модулей приложения, нужно уметь четко отделять компоненты, и не смешивать все в одну кучу, это основной момент, и это, пожалуй то, чего основной массе разрабов катастрофически не хватает. Я бы выделил два краеугольных камня в разработке: умение сформулировать, выразить и построить архитектуру в терминах решаемой задачи, или предметной области, что практически сводится к построению DSL в том или ином виде, и второе — построить «правильные» взаимосвязи между компонентами приложения
  • ves2010
    13 мая 2017, 19:24
    на самом деле все просто… берешь 2 скользящие средние… пишешь бота… пускаешь в торговлю… видишь недостатки — улучшаешь бота… опять пускаешь в торговлю… снова видишь недостатки — исправляешь… и тд и тп по кругу т.е. тот кто реально не торгует роботов писать не может
      • ves2010
        13 мая 2017, 19:32
        Replikant_mih, 
        1 проскальзывание и реальное исполнение приказов по бэк тесту не поймешь
        2 многое решают психологические аспекты… и кботу тупо надо привыкать
        3 кроме того есть комфортные боты и некомфортные… т.е. одни боты более удобны в торговле чем другие… ну например мне нравится когда бот торгует только часть дня… мне нравится когда у меня постоянный хедж и мне не страшен внезапный гэп на -30-50%… мне нравится когда бот сам по себе отбивает затраты на торговлю… мне нравится что когда отваливается брокер у меня не теряются заявки… мне нравится когда у меня частично захеджен валютный риск и тд и тп
          • ves2010
            13 мая 2017, 19:46
            Replikant_mih, идея в том что генератор идей должен чувствовать баланс… между сложностью и практичностью…  и чувствовать торговлю… и придется заниматься всем подряд
      • злой человек
        13 мая 2017, 19:52
        Replikant_mih, написать грамотный бектестер это довольно нетривиальная задача. Среди публично доступных тесторов качественных решений я не встречал.
          • злой человек
            13 мая 2017, 20:00
            Replikant_mih, а можно пример такого качественного среди доступных? 
             ПС. под качеством я подразумеваю отличие в результатах торговли в реальности с тем, что тестер выдает при тестировании на том же интервали времени. Хороший тестер это тот, у которого не мение 99% сделок будет совпадать с тем что получилось при реальной торговле.
              • злой человек
                13 мая 2017, 22:43
                Replikant_mih, проблем сделать реалистичное тестирование много, и мало кто из тестиров справляется с их решением. Проверь Wealth-Lab протестировав свой алгоритм на интервале, на котором до этого торговал в реале, результат будет заметно отличаться.
                   Для качественного бектеста как минимум требуется фулордерлог в качестве исходных данных и грамотно написанный алгоритм экзекьюшена ордеров. В то время как все публично доступные бектестеры(которые мне доводилось встречать) не заморачиваются и делают примитивный нериалистичный экзекьюшен и используют сильно упрощенные исходные данные вплоть до свечек. И чем меньшие движения ловит алгоритм, тем сильней различается результат теста от реальности. Вплоть до того, что тестер выдает хорошую прибыль в то время как в реальности алгоритм торговал в убыток.
                  • злой человек
                    13 мая 2017, 23:16
                    Replikant_mih, как я уже писал, точность симулятора меряется процентом расхождения с реальностью. Для твоих стратегий делал замеры на Wealth-Lab? В 1% укладывается расхождение между реальным ПнЛ и тестом?
  • Petr S
    13 мая 2017, 19:25
    генерация идей без ее формализации — называется просто пиз*ж. и сейчас да, навалом таких вот «креаклов» которые «придумывают» что-то совершенно не понимая  что ЭТО никогда не взлетит
  • silentbob
    13 мая 2017, 20:16
    нужен кодер, который кодит
    нужны идеи и предварительная формализация
    ну и конечно нужен балабол чтоб притягивать денег
    иначе смысл торговать на свои?
      • silentbob
        14 мая 2017, 01:21
        Replikant_mih, еще такой момент.
        вот есть команда 3 человека.
        есть капитал суммарный пусть Х рублей и доходность с него 50 годовых.
        вопрос
        сколько должен быть капитал, чтоб три человека с него прокормились год если поделят эти 50 годовых?
        а если с 50 годовых они получат всего лишь бонус 20% что составит 10% от капитала в итоге
        тут и кроется ответ почему все по-одиночке сидят в норах (мудилы) и ничего друг другу не рассказывают
  • SMT
    13 мая 2017, 20:25
    Думаю, ни кто не сможет лучше и быстрее формализовать идеи, нежели чем сам автор идей, если он в компетенции их формализовывать, конечно. 

    Думаю для команды достаточно дуэта.
    Первый — генератор идей и по совместительству их формализатор.
    Второй софтер -хардкоддер, которого не интересуют  идеи первого (иначе он их спи*зит (в случае их сверхпрофитности) и пошлет первого на**й, либо втихую будет перекрывать ликвидность их «общему» проекту), но который в компетенции надежно прикрутить любую приблуду к любому шлюзу,   отвечать за исполнение  и архитектуру. 
      • SMT
        14 мая 2017, 00:33
        Replikant_mih, ясно. Чтобы добиться синергии, так сказать. 
        Но все упрется в условия сотрудничества (с тем же математиком) — если только не нанять за з/п, если есть серьезный объем работы, которым можно его загрузить.
         Проще будет на форумах синергии добиваться, имхо.

    • ves2010
      14 мая 2017, 09:58
      SuperMegaTrader, на сверхпрофитность забей сразу… все это сказка и фантазия
      • SMT
        14 мая 2017, 16:38
        ves2010,  если  две Машки мучить — то, конечно.
  • Sergey Pavlov
    15 мая 2017, 06:19
    Идея идее рознь — вот в чем проблема. Торговать только по утрам — идея. Торговать только по sma — идея. Торговать каждую большую свечу в контртренд — опять идея. Не торговать по средам — снова идея. И т.д.
  • SenSoR
    16 мая 2017, 12:39
    Так сложилось по жизни, что мне пришлось реализовывать все 5 пунктов)

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

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