Казай Мазай
Казай Мазай личный блог
23 августа 2013, 09:53

Algotrading workflow

хороший пост не грех и перепостить из уютнейшей 
http://kazai-trader.livejournal.com/148815.html


Я всегда недооценивал порядок, в любых его проявлениях.

Мне почему-то всегда было комфортно, когда все вокруг находится в состоянии срача. Видимо, что б всегда можно было быстро вернуться к делу, включиться и сделать hot-fiх.

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

Я и сам всегда стараюсь придерживаться состояния хаоса. Не особенно что-то люблю планировать. Люблю приступать к чему-то случайным образом. Когда проснулся, тогда и утро. Когда появилось настроение, тогда и сделал. Кстати, это и на отдых распространяется: пришло настроение — проснулся\выпил\покурил\искупался в море\уснул.


Но, к сожалению, так не получается. Дела не делаются, все стоит на месте. Под лежачий камень вода не течет.

В компании, где я пишу софт, достаточно много внимания уделяется вопросам планирования и управления проектами.

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

Подозреваю, что у большинства читающих этот пост, дела в этом смысле обстоят не лучшим образом.

Я убедился вот в чем : 

серьезность подхода обязана соответствовать желаемому результату.



Важнейшими аспектами прогресса являются

  • Постановка задач
  • Планирование
  • Подведение итогов

Удивительно, насколько простое следование этим трем пунктам меняет характер течения дел.



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

Это ведь прекрасно, не так ли?



Весь рабочий процесс aka. Algotrading workflow я разделил на три направления:

  • Разработка инфраструктуры
  • Разработка торговых алгоритмов
  • Управление, подведение итогов.



По два дня в неделю уделяю каждому из первых двух.
Ну а итоги обычно подводить не долго.
Зачастую на выходных тоже работаю, что очень плохо.

Бывает, что целую неделю, править в инфраструктуре нечего, можно все время ресерчить.
В начале, же, дел было настолько дохуя, что до ресерчей руки не доходили. Особенно, если учесть, что всем этим я занимался после работы часов с 8-9 вечера и до 3-4 утра.

Примерно после месяца таких марш-бросков, я реально почувствовал, что организм в ауте. Обычно, от такого режима у меня падает иммунитет, и я заболеваю. Этот раз не был исключением. Заболел и все.



Разработка торговых алгоритмов.

Как бы грустно ни звучало, но стратегии смертны. Но это еще пол беды. Плохо то, что они внезапно смертны.

У стратегии простой жизненный цикл: 

Birth =>  paper trading => real trading => death.

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

Не раз сталкивался с ситуацией, когда запилил стратегию,  от жадности тут же ее стал торговать. от радости на новые разработки забил.
В чувства обычно приводит draw down. Особенно, когда он есть, а новых стратегий нет.

Теперь я все записываю и все планирую на несколько месяцев вперед. Когда изобрел, на каких данных тестировал, когда IS когда OOS. Когда начал paper-trading и когда собираюсь ввести в бой в случае ожидаемых paper-результатов. 


Разработка инфраструктуры.

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

Но далее речь пойдет о торговой части инфраструктуры, более известной, как торговый робот.

В идеале всего должно быть по два. Два сервера\два робота\два хранилища и т.д. Development и production.

Все изменения в роботе и стратегиях должны попадать сначала на dev сервер. Туда же и стратегии, за которыми пока что просто наблюдаем. Если все окей, то через какое-то время все переносится на production.

Очень большую помощь в этом оказывает git-репозиторий.
Про git-workflow можно почитать тут: http://habrahabr.ru/post/106912/ 
Вся соль в том, что можно что-либо новое впиливать хоть вдесятером, ничего при этом не ломая, и в любой момент времени иметь рабочую стабильную версию. Это все очень круто.


Планирование.

Тут все просто. Есть задачи по инфраструктуре. Есть задачи по стратегиям: как по разработке новых, так и по введению в бой существующих как минимум на пару ближайших месяцев.

Все они укладываются в одну линию партии, ведущую к более глобальным целям. 


А теперь можно и итоги подвести.

Честно сказать, я не сделал всего по два. 
У меня нет двух серверов. Двух одновременно работающих роботов тоже нет, потому что не было времени решать гемор с дублированием всего и вся. 

Сначала вообще не было двух роботов. Теперь есть. Все как полагается development и production.
Еще совсем молодые и поэтому почти одинаковые но один все-таки чуть стабильнее).
Но одновременно они работать пока что не умеют, поэтому paper trading пока что просто как бектест на новых данных. 



Для меня важно, что вышеописанное позволяет превратить «занятие торговлей на фондовом рынке» из чего-то хаотичного, в хорошо организованный, формализованный и спланированный процесс. Это не только повышает эффективность но и дает возможность распределить его, например, на целую команду, не смотря на то, что она пока что состоит только из меня.
10 Комментариев
  • какие успехи? в деньгах.
  • Патриот_России
    23 августа 2013, 10:27
    У меня дома такая же херня!
  • traderobots
    23 августа 2013, 10:34
    какие алгоритмы используешь по частотности? сколко сделок в день?
  • Fedot
    23 августа 2013, 10:40
    все это хрень, серваки, дев, продакшен, это барахло деньги не заработает. Зарабатывает идея.
    • Fedot, все что вы перечислили — это психотерапия… иногда не стоит рушить мир иллюзий)
    • _xXx_
      23 августа 2013, 11:00
      Fedot, да. Поиск идеи должен занимать 80% времени. Инфраструктура и прочая хрень 20%.
  • _xXx_
    23 августа 2013, 10:54
    Есть еще принцип Парето — 80/20. Не надо долизывать робота или инфраструктуру, если они не начнут от этого приносить сильно больше денег. Он же и говорит, что эти 20% хаоса должны оставаться, ибо уже ключевых изменений от их устранения не произойдет.

    А вот ПРОЦЕСС действительно должен присутствовать всегда.
    1. Цель
    2. Планирование
    3. Реализация
    4. Подведение итогов.
    5. По результатам п.4 появляется новый п.1 и круг замыкается.
  • pattern
    24 августа 2013, 10:52
    автор безусловно прав в главном — трейдер должен управлять своими ресурсами (время, энергия, деньги). Это умение — один из навыков, который повышает его конкурентоспособность… Это особенно актуально в наше время изза переизбытка информации…

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

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