Блог им. m07saa3

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

Всем бобра!

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

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


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

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

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


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


О чем речь? 

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

Буду стараться выкладывать результаты работы примерно раз в неделю, не реже.
★15
31 комментарий
Давайте я перечислю минусы того, что вы будете выкладывать результаты своей деятельности, а вы попытаетесь найти плюсы в этом занятии.

Минусы:
1. Банальная трата времени, которое может быть потрачено на изучение рынка и написание алгоритмов
2. Любой кто прочитает ваши записи будет думать в вашем-же направлении, а это лишняя конкуренция.
3. Комментарии юзеров-неудачников, считающих себя мегагурами может сбить с верного пути.
4. Эмоциональное напряжение от публичности своих действий, боязнь неудачи.
avatar
SECRET, особенно 3 пункт
avatar
SECRET, а комментирование на сайте данными минусами не обладает?
avatar
SECRET, плюсики на смарт-лабе уже не ценятся?
avatar
SECRET, пусть пишет!!! Запарил.
avatar
«Уж сколько их упало в эту бездну..©
Здоровья Вашей голове и депозиту!!!
avatar
Насчет доходностей HFT Вы не правы. Без учета расходов на инфраструктуру, они как раз высокие. Проблема в другом: сумма, которая может быть заложена в 1 инструмент под такую стратегию сравнительно мала. А много инструментов вызывают рост затрат на инфраструктуру. Для человека без большого опыта программирования, как частному лицу, это будет дорого стоить. Для сравнительно богатой компании даже 10 инструментов не дадут нужного дохода в абсолюте. Поэтому в России — это работа для небольших групп и программистов с ограниченным капиталом.
avatar
А. Г., всегда было интересно, но никто не мог внятно ответить. Почему индивидуалы и маленькие группы имеют 1-2 ХФТ не особо масштабируемые стратегии, а одна крупная компания не может сделать много стратегий.
avatar
Sekator,

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

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

Лучше сразу сделать поправочку: 4-5-6 лет…
avatar
Hedgehog, или такую — потратить 4-5-6 месяцев и получить для себя ответ на вопрос «могу ли я зарабатывать на фондовом рынке уже завтра… в крайнем случае — послезавтра...»
avatar
Hedgehog, поправочку… потратить 4-5-6 миллионов
avatar
в помощь:
smart-lab.ru/blog/122223.php
и вообще, автора этого почитайте — может отсеете много ненужного, если охота этим заниматься не пропадет
avatar
backUp, да, автор — молодец.
avatar
Попробуйте сначала покончить с алкотрейдингом :)
shaitan, от себя могу посоветовать для начала реально оценить свои силы. WealthLab, R, S# — каждый пункт потребует колосальное количество времени. Я как человек прошедший этот пусть с 0 могу с уверенностью сказать, что реализация Вашего плана при активном изучении займет не менее 3 лет. Причем первые 2 из них вы даже не начнете торговать на рынке)
Если использовать разные платформы, то с высокой долей вероятности Вы столкнетесь с проблемой совместимости. Например, протестированная стратегия будет проторговываться отлично от того как она тестировалась. Ну, и в итоге неожиданные результаты.
«Также планируется попробовать статарбитраж в качестве резервных стратегий, склейка сигналов через методы машинного обучения, фильтрация входов и выходов через классификацию, оптимизация через монтекарло, генетику, отжиг.» — это вообще высший пилотаж. Например, чтобы просто понять как работают алгоритмы оптимизации у меня ушло полмесяца. А на написание своего оптимизатора еще 2. Причем это все на уровне неприрывного «мозгового штурма».
«Обязательным считаю учет коммиссии, спреда и наличие тестового и валидационного множества.» — вот это абсолютно правильный подход.
Создание инфраструктуры для алготрейдинга у Вас займет колоссальное количество времени(если, конечно, планируете серьезно торговать). От себя могу посоветовать начать изучать С#, так вы сможете сэкономить год-два, да, и потом будет проще, много терпения для кропотливого выпиливания алгоритмов и удачи!
avatar
SoftAlgoTrade, команда ускоряет время.
avatar
Sekator, мне кажется, что иногда наоборот замедляет. Сложно объяснить программисту, чего порой от него хотят. Да, и не все торговые стратегии можно алгоритмизировать. Иногда быстрее самому написать алгоритм, протестировать его и начать торговать, чем бодаться с программистом. Ну, и сильная зависость членов команды друг от друга. Один отвалится и вся работа встанет.
avatar
SoftAlgoTrade, Согласен! незачем команда. Я начинал один торговать и торгуя один по сей день ни разу не пожалел о своем выборе. На мой взгляд команды на HFT-рынке вымрут, как динозавры в ледниковый период, т.к. не смогут приспособиться к быстро-меняющимся условиям.
avatar
SECRET, это правильно, себя надо успокаивать)
avatar
«Шайтан, однако!» ©

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

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

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

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

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

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

Круто Вы замахнулись, молодец! С интересом Вас почитаю.
avatar
Сергей Грошев, метод отжига — один из методов оптимизации.
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
Фишка в том, что методов оптимизации очень много, но они созданы под очень разные задачи. У нас важен не сам метод оптимизации, а понимание того, что можно оптимизировать и когда можно доверять «оптимальному» результату. Потому что любой метод оптимизации может привести к переподгонке.
Вернее так, практически любой метод оптимизации ЕСТЬ переподгонка, но изредка их результатами можно пользоваться, если понимаешь почему.
avatar
SergeyJu, совершенно верно!
Раз уж речь зашла об оптимизаторах, вот к примеру реализация специально разработанная для трейдинга:
www.softalgotrade.com/kak-ya-sdelal-tester-optimizator-dlya-naxozhdeniya-pribylnyx-strategij-na-birzhe/
По факту это смесь генетического алгоритма(отсеивание плохих стратегий) и алгоритма монте-карло(поиск экстремумов).
Примеры в статье значительно устарели, уже и Walk Forward и поиск кластеров присутствует, однако принцип и идея алгоритма не изменились.
avatar
SoftAlgoTrade, картинки у Вас красивые. Но я боюсь больших размерностей и неустойчивых экстремумов. Хорошо, когда в достаточно большой окрестности экстремума эквити более-менее хорошие и пригодные для торговли. Тогда собственно задача нахождения максимума не очень критична, все приемлемо из его окрестности. А еще я хочу, чтобы, разбивая время на несколько интервалов получить пересекающиеся «хорошие» зоны.
А в малых размерностях что монтекарло, что аналог перебора по сжимающейся в окрестности хороших точек сетке, все работает приемлемое время.
avatar
SergeyJu,

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

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

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

По поводу комментариев:

4-6 месяцев время прощупать идеи fast and dirty. Получить оценочное суждение о перспективах.

Язык c#, R, wealth можно сказать мне знаком, поэтому разворачивать инфраструктуру будем по принципу быстро и на коленке.

S# (рабочая имплементация) вынесена на отдельного человека

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

Secret, ваши доводы учтены и взяты на карандаш;)
avatar

теги блога Andrey Shabanov

....все тэги



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