Andrey Shabanov
Andrey Shabanov личный блог
25 сентября 2014, 01:30

Алготрейдинг: с чего начать...

Всем бобра!

Мною было принято решение поставить эксперимент. Суть проста: меня всегда вдохновляла возможность в современном мире жонглируя цифрами получать по голове  фидбек быстро и материально. В этом плане рынок со всеми его достоинствами и недостатками идеальное место. У кого-то получается, кто-то спекулирует этой возможностью, кто-то бьется лбом об стенку. Поэтому было принято потратить 4-5-6 месяцев и получить для себя ответ на вопрос «могу ли я зарабатывать на фондовом рынке». Конечно есть много способов (особенно в РФ) заработать быстрее и в перспективе больше, однако большинство из них лежат в плоскостях не очень мне интересных или требуют ведения нечестной игры. Также не принимаются к обсуждению сентенции вроде «рынок не торт, рашка гуано»...

Поскольку лучший вариант разобраться в вопросе (тем более в таком мутном) — набить шишки самому, я решил последовательно перебирать, тестировать стратегии, и для систематизации работы решил вести дневник. Почему бы не добавить немного социализации и выкладывать часть результатов на сайт? Возможно тот кто уже давно прошел начальный путь и находится дальше или просто делал что-то похожее поможет советом или укажет на ошибки. 


Итак почему алготрейдинг (имхо)? 
HFT
        — не очень перспективно, постоянно возрастающая сложность и уменьшение доходности, мало творчества.
      + сверхбыстрый фидбек, возможность делать простые очевидные вещи которые будут зарабатывать при должном исполнении, все-таки не очень большая                конкуренция.
Ручной скальпинг, ручная внутридневная торговля
        — возможная деформация психики, необходимость сидеть за монитором во время торгов (а не тогда когда хочется), невозможность торговать сразу 300,1000 (в перспективе) инструментов, человеческий фактор.
       + человеческий мозг — неплохая коробка, хорошо отслеживает паттерны, хорошо обучается и тд и тп, возможность почувствовать рынок и вылавливать сразу рабочие закономерности не просеевая 100500 заведомо неработающих вариантов

Среднесрочная и долгосрочная торговля
        — сложно тестировать, тяжело получить отдачу в короткий срок при небольшом капитале (хомо студентикус)
        +масштабируемость

и так далее… вообщем остановился на данных с частотой дискретизации одна минута. С одной стороны это позволяет пользоваться большими историческими выборками (таймфрейм не большой), сдругой стороны нет необходимости писать симуляторы, оперировать Big Data, драться за скорость и тд и тп.


        
Инструментарий. WealthLab для классических стратегий, R для стратегий с примесью mashine learning и для построения статистических функций, S# для имплементации. Подключение — Plaza.


О чем речь? 

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

Буду стараться выкладывать результаты работы примерно раз в неделю, не реже.
31 Комментарий
  • SECRET
    25 сентября 2014, 03:25
    Давайте я перечислю минусы того, что вы будете выкладывать результаты своей деятельности, а вы попытаетесь найти плюсы в этом занятии.

    Минусы:
    1. Банальная трата времени, которое может быть потрачено на изучение рынка и написание алгоритмов
    2. Любой кто прочитает ваши записи будет думать в вашем-же направлении, а это лишняя конкуренция.
    3. Комментарии юзеров-неудачников, считающих себя мегагурами может сбить с верного пути.
    4. Эмоциональное напряжение от публичности своих действий, боязнь неудачи.
    • websan
      25 сентября 2014, 08:01
      SECRET, особенно 3 пункт
    • professor facepalm
      25 сентября 2014, 08:57
      SECRET, а комментирование на сайте данными минусами не обладает?
    • Федор Зозуля
      25 сентября 2014, 08:57
      SECRET, плюсики на смарт-лабе уже не ценятся?
    • siva
      25 сентября 2014, 10:01
      SECRET, пусть пишет!!! Запарил.
  • Владимир Спицын
    25 сентября 2014, 06:37
    «Уж сколько их упало в эту бездну..©
    Здоровья Вашей голове и депозиту!!!
  • А. Г.
    25 сентября 2014, 08:56
    Насчет доходностей HFT Вы не правы. Без учета расходов на инфраструктуру, они как раз высокие. Проблема в другом: сумма, которая может быть заложена в 1 инструмент под такую стратегию сравнительно мала. А много инструментов вызывают рост затрат на инфраструктуру. Для человека без большого опыта программирования, как частному лицу, это будет дорого стоить. Для сравнительно богатой компании даже 10 инструментов не дадут нужного дохода в абсолюте. Поэтому в России — это работа для небольших групп и программистов с ограниченным капиталом.
    • Sekator
      25 сентября 2014, 09:09
      А. Г., всегда было интересно, но никто не мог внятно ответить. Почему индивидуалы и маленькие группы имеют 1-2 ХФТ не особо масштабируемые стратегии, а одна крупная компания не может сделать много стратегий.
      • А. Г.
        25 сентября 2014, 09:21
        Sekator,

        Идей для эффективного HFT раз два и обчелся. Поэтому на одном инструменте не получится много стратегий. А относительно крупные компании, торгующие HFT на 1000 инструментов есть.
        • Sekator
          25 сентября 2014, 09:48
          А. Г., у нас нет компаний ХФТ с 1000 инструментов))
          • А. Г.
            25 сентября 2014, 09:56
            Sekator,

            У нас нет 1000 ликвидных инструментов :)
  • Hedgehog
    25 сентября 2014, 09:16
    Поэтому было принято потратить 4-5-6 месяцев и получить для себя ответ на вопрос «могу ли я зарабатывать на фондовом рынке».

    Лучше сразу сделать поправочку: 4-5-6 лет…
    • Владимир Спицын
      25 сентября 2014, 09:23
      Hedgehog, или такую — потратить 4-5-6 месяцев и получить для себя ответ на вопрос «могу ли я зарабатывать на фондовом рынке уже завтра… в крайнем случае — послезавтра...»
    • Sekator
      25 сентября 2014, 09:49
      Hedgehog, поправочку… потратить 4-5-6 миллионов
  • backUp
    25 сентября 2014, 09:28
    в помощь:
    smart-lab.ru/blog/122223.php
    и вообще, автора этого почитайте — может отсеете много ненужного, если охота этим заниматься не пропадет
    • SergeyJu
      25 сентября 2014, 12:29
      backUp, да, автор — молодец.
  • Русский Иван (LOSSBOY)
    25 сентября 2014, 09:34
    Попробуйте сначала покончить с алкотрейдингом :)
  • SoftAlgoTrade
    25 сентября 2014, 09:43
    shaitan, от себя могу посоветовать для начала реально оценить свои силы. WealthLab, R, S# — каждый пункт потребует колосальное количество времени. Я как человек прошедший этот пусть с 0 могу с уверенностью сказать, что реализация Вашего плана при активном изучении займет не менее 3 лет. Причем первые 2 из них вы даже не начнете торговать на рынке)
    Если использовать разные платформы, то с высокой долей вероятности Вы столкнетесь с проблемой совместимости. Например, протестированная стратегия будет проторговываться отлично от того как она тестировалась. Ну, и в итоге неожиданные результаты.
    «Также планируется попробовать статарбитраж в качестве резервных стратегий, склейка сигналов через методы машинного обучения, фильтрация входов и выходов через классификацию, оптимизация через монтекарло, генетику, отжиг.» — это вообще высший пилотаж. Например, чтобы просто понять как работают алгоритмы оптимизации у меня ушло полмесяца. А на написание своего оптимизатора еще 2. Причем это все на уровне неприрывного «мозгового штурма».
    «Обязательным считаю учет коммиссии, спреда и наличие тестового и валидационного множества.» — вот это абсолютно правильный подход.
    Создание инфраструктуры для алготрейдинга у Вас займет колоссальное количество времени(если, конечно, планируете серьезно торговать). От себя могу посоветовать начать изучать С#, так вы сможете сэкономить год-два, да, и потом будет проще, много терпения для кропотливого выпиливания алгоритмов и удачи!
    • Sekator
      25 сентября 2014, 09:50
      SoftAlgoTrade, команда ускоряет время.
      • SoftAlgoTrade
        25 сентября 2014, 09:58
        Sekator, мне кажется, что иногда наоборот замедляет. Сложно объяснить программисту, чего порой от него хотят. Да, и не все торговые стратегии можно алгоритмизировать. Иногда быстрее самому написать алгоритм, протестировать его и начать торговать, чем бодаться с программистом. Ну, и сильная зависость членов команды друг от друга. Один отвалится и вся работа встанет.
        • SECRET
          25 сентября 2014, 10:42
          SoftAlgoTrade, Согласен! незачем команда. Я начинал один торговать и торгуя один по сей день ни разу не пожалел о своем выборе. На мой взгляд команды на HFT-рынке вымрут, как динозавры в ледниковый период, т.к. не смогут приспособиться к быстро-меняющимся условиям.
          • Lafert
            25 сентября 2014, 21:47
            SECRET, это правильно, себя надо успокаивать)
  • Сергей Грошев
    25 сентября 2014, 10:35
    «Шайтан, однако!» ©

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

    Очень крутая программа!

    Напомнило мне программу Любищева Александра Александровича. Он хотел создать систему биологических организмов по типу периодической системы Д.И. Менделеева. Про него еще Д. Гранини написал книжку «Эта странная жизнь».

    Вопросы:
    — самый главный — «когда же мы будем делить наши деньги?!» ©. Когда торговать планируете?

    — «склейка сигналов через методы машинного обучения» — это как? Про склейку фьючерсов слышал, а что такое «склейка сигналов»?

    — «отжиг» — это что-то с паяльником? Прожигать будете торговые системы в виде микросхем?

    Круто Вы замахнулись, молодец! С интересом Вас почитаю.
    • SergeyJu
      25 сентября 2014, 12:35
      Сергей Грошев, метод отжига — один из методов оптимизации.
      ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B8%D0%BC%D0%B8%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BE%D1%82%D0%B6%D0%B8%D0%B3%D0%B0
      Фишка в том, что методов оптимизации очень много, но они созданы под очень разные задачи. У нас важен не сам метод оптимизации, а понимание того, что можно оптимизировать и когда можно доверять «оптимальному» результату. Потому что любой метод оптимизации может привести к переподгонке.
      Вернее так, практически любой метод оптимизации ЕСТЬ переподгонка, но изредка их результатами можно пользоваться, если понимаешь почему.
      • SoftAlgoTrade
        25 сентября 2014, 13:28
        SergeyJu, совершенно верно!
        Раз уж речь зашла об оптимизаторах, вот к примеру реализация специально разработанная для трейдинга:
        www.softalgotrade.com/kak-ya-sdelal-tester-optimizator-dlya-naxozhdeniya-pribylnyx-strategij-na-birzhe/
        По факту это смесь генетического алгоритма(отсеивание плохих стратегий) и алгоритма монте-карло(поиск экстремумов).
        Примеры в статье значительно устарели, уже и Walk Forward и поиск кластеров присутствует, однако принцип и идея алгоритма не изменились.
        • SergeyJu
          25 сентября 2014, 20:30
          SoftAlgoTrade, картинки у Вас красивые. Но я боюсь больших размерностей и неустойчивых экстремумов. Хорошо, когда в достаточно большой окрестности экстремума эквити более-менее хорошие и пригодные для торговли. Тогда собственно задача нахождения максимума не очень критична, все приемлемо из его окрестности. А еще я хочу, чтобы, разбивая время на несколько интервалов получить пересекающиеся «хорошие» зоны.
          А в малых размерностях что монтекарло, что аналог перебора по сжимающейся в окрестности хороших точек сетке, все работает приемлемое время.
      • Сергей Грошев
        25 сентября 2014, 14:07
        SergeyJu,

        спасибо за ссылку!

        Никогда бы не подумал, что «отжиг» — это метод оптимизации. Скорее подумал бы, что это Хомяк с семьей отжигает Сиртаки.
  • robomakerr
    25 сентября 2014, 14:01
    "… потратить 4-5-6 месяцев и получить для себя ответ… решил последовательно перебирать, тестировать стратегии"

    Увеличьте срок раз в 10, это гораздо ближе к реальности, если конечно всё делать одному и с нуля.

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

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