Всем бобра!
Мною было принято решение поставить эксперимент. Суть проста: меня всегда вдохновляла возможность в современном мире жонглируя цифрами получать
по голове фидбек быстро и материально. В этом плане рынок со всеми его достоинствами и недостатками идеальное место. У кого-то получается, кто-то спекулирует этой возможностью, кто-то бьется лбом об стенку. Поэтому было принято потратить 4-5-6 месяцев и получить для себя ответ на вопрос «могу ли я зарабатывать на фондовом рынке». Конечно есть много способов (особенно в РФ) заработать быстрее и в перспективе больше, однако большинство из них лежат в плоскостях не очень мне интересных или требуют ведения нечестной игры. Также не принимаются к обсуждению сентенции вроде «рынок не торт, рашка гуано»...
Поскольку лучший вариант разобраться в вопросе (тем более в таком мутном) — набить шишки самому, я решил последовательно перебирать, тестировать стратегии, и для систематизации работы решил вести дневник. Почему бы не добавить немного социализации и выкладывать часть результатов на сайт? Возможно тот кто уже давно прошел начальный путь и находится дальше или просто делал что-то похожее поможет советом или укажет на ошибки.
Итак
почему алготрейдинг (имхо)?
HFT
— не очень перспективно, постоянно возрастающая сложность и уменьшение доходности, мало творчества.
+ сверхбыстрый фидбек, возможность делать простые очевидные вещи которые будут зарабатывать при должном исполнении, все-таки не очень большая конкуренция.
Ручной скальпинг, ручная внутридневная торговля
— возможная деформация психики, необходимость сидеть за монитором во время торгов (а не тогда когда хочется), невозможность торговать сразу 300,1000 (в перспективе) инструментов, человеческий фактор.
+ человеческий мозг — неплохая коробка, хорошо отслеживает паттерны, хорошо обучается и тд и тп, возможность почувствовать рынок и вылавливать сразу рабочие закономерности не просеевая 100500 заведомо неработающих вариантов
Среднесрочная и долгосрочная торговля
— сложно тестировать, тяжело получить отдачу в короткий срок при небольшом капитале (хомо студентикус)
+масштабируемость
и так далее… вообщем остановился на данных с частотой дискретизации одна минута. С одной стороны это позволяет пользоваться большими историческими выборками (таймфрейм не большой), сдругой стороны нет необходимости писать симуляторы, оперировать Big Data, драться за скорость и тд и тп.
Инструментарий. WealthLab для классических стратегий, R для стратегий с примесью mashine learning и для построения статистических функций, S# для имплементации. Подключение — Plaza.
О чем речь?
Чтобы не городить гогород, начнем с того что на слуху: паттерны тренды, контртренды, пробои… ну и старый добрый ТА + здравая логика.
Также планируется попробовать статарбитраж в качестве резервных стратегий, склейка сигналов через методы машинного обучения, фильтрация входов и выходов через классификацию, оптимизация через монтекарло, генетику, отжиг. Обязательным считаю учет коммиссии, спреда и наличие тестового и валидационного множества.
Буду стараться выкладывать результаты работы примерно раз в неделю, не реже.
Минусы:
1. Банальная трата времени, которое может быть потрачено на изучение рынка и написание алгоритмов
2. Любой кто прочитает ваши записи будет думать в вашем-же направлении, а это лишняя конкуренция.
3. Комментарии юзеров-неудачников, считающих себя мегагурами может сбить с верного пути.
4. Эмоциональное напряжение от публичности своих действий, боязнь неудачи.
Здоровья Вашей голове и депозиту!!!
Идей для эффективного HFT раз два и обчелся. Поэтому на одном инструменте не получится много стратегий. А относительно крупные компании, торгующие HFT на 1000 инструментов есть.
У нас нет 1000 ликвидных инструментов :)
Лучше сразу сделать поправочку: 4-5-6 лет…
smart-lab.ru/blog/122223.php
и вообще, автора этого почитайте — может отсеете много ненужного, если охота этим заниматься не пропадет
Если использовать разные платформы, то с высокой долей вероятности Вы столкнетесь с проблемой совместимости. Например, протестированная стратегия будет проторговываться отлично от того как она тестировалась. Ну, и в итоге неожиданные результаты.
«Также планируется попробовать статарбитраж в качестве резервных стратегий, склейка сигналов через методы машинного обучения, фильтрация входов и выходов через классификацию, оптимизация через монтекарло, генетику, отжиг.» — это вообще высший пилотаж. Например, чтобы просто понять как работают алгоритмы оптимизации у меня ушло полмесяца. А на написание своего оптимизатора еще 2. Причем это все на уровне неприрывного «мозгового штурма».
«Обязательным считаю учет коммиссии, спреда и наличие тестового и валидационного множества.» — вот это абсолютно правильный подход.
Создание инфраструктуры для алготрейдинга у Вас займет колоссальное количество времени(если, конечно, планируете серьезно торговать). От себя могу посоветовать начать изучать С#, так вы сможете сэкономить год-два, да, и потом будет проще, много терпения для кропотливого выпиливания алгоритмов и удачи!
Также планируется попробовать статарбитраж в качестве резервных стратегий, склейка сигналов через методы машинного обучения, фильтрация входов и выходов через классификацию, оптимизация через монтекарло, генетику, отжиг.//
Очень крутая программа!
Напомнило мне программу Любищева Александра Александровича. Он хотел создать систему биологических организмов по типу периодической системы Д.И. Менделеева. Про него еще Д. Гранини написал книжку «Эта странная жизнь».
Вопросы:
— самый главный — «когда же мы будем делить наши деньги?!» ©. Когда торговать планируете?
— «склейка сигналов через методы машинного обучения» — это как? Про склейку фьючерсов слышал, а что такое «склейка сигналов»?
— «отжиг» — это что-то с паяльником? Прожигать будете торговые системы в виде микросхем?
Круто Вы замахнулись, молодец! С интересом Вас почитаю.
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
Фишка в том, что методов оптимизации очень много, но они созданы под очень разные задачи. У нас важен не сам метод оптимизации, а понимание того, что можно оптимизировать и когда можно доверять «оптимальному» результату. Потому что любой метод оптимизации может привести к переподгонке.
Вернее так, практически любой метод оптимизации ЕСТЬ переподгонка, но изредка их результатами можно пользоваться, если понимаешь почему.
Раз уж речь зашла об оптимизаторах, вот к примеру реализация специально разработанная для трейдинга:
www.softalgotrade.com/kak-ya-sdelal-tester-optimizator-dlya-naxozhdeniya-pribylnyx-strategij-na-birzhe/
По факту это смесь генетического алгоритма(отсеивание плохих стратегий) и алгоритма монте-карло(поиск экстремумов).
Примеры в статье значительно устарели, уже и Walk Forward и поиск кластеров присутствует, однако принцип и идея алгоритма не изменились.
А в малых размерностях что монтекарло, что аналог перебора по сжимающейся в окрестности хороших точек сетке, все работает приемлемое время.
спасибо за ссылку!
Никогда бы не подумал, что «отжиг» — это метод оптимизации. Скорее подумал бы, что это Хомяк с семьей отжигает Сиртаки.
Увеличьте срок раз в 10, это гораздо ближе к реальности, если конечно всё делать одному и с нуля.
По поводу комментариев:
4-6 месяцев время прощупать идеи fast and dirty. Получить оценочное суждение о перспективах.
Язык c#, R, wealth можно сказать мне знаком, поэтому разворачивать инфраструктуру будем по принципу быстро и на коленке.
S# (рабочая имплементация) вынесена на отдельного человека
Склейка сигналов — имеется в виду использование всякой генетики или например применение стандартных методов классификации для отбрасывание ошибок первого или второго рода. Впрочем пока я испытываю скепсис к сложным коннцепциям.
Secret, ваши доводы учтены и взяты на карандаш;)