Грааль – это стратегия, теоретически, способная делать деньги из воздуха.
Верю ли я в грааль? Наверное, верю, но для меня грааль не совсем тоже самое, что и для большинства трейдеров.
Представим человека, который на протяжении 5-ти лет искал грааль и разочаровался в сотнях стратегий, которые ему пришлось перелопатить за это время, чтобы протестировать и убедиться в том, что даже у самой хорошей стратегии случаются моменты, когда она здорово сливает.
Но этот счастливчик, даже не представляет, что сидит на граале и не видит его, наверное, вы уже догадались, что для меня грааль – это не одна стратегия – а комплекс стратегий (портфель).
В таком портфеле качество стратегий конечно важно, но больше важны устойчивость принципов, на которых они построены. Стратегии могут быть очень простыми и иметь довольно большие просадки, лишь бы эти просадки каждой из стратегий не совпадали по времени, но ближе к делу.
Вот 3 стратегии входы, которых построены на разных принципах:
— Паттерн – Ударный день
— Parabolic
— Классический канал Дончиана
В качестве выходов, используем TrailingSMA, про который
я рассказывал в одном из своих постов.
Все 3 техники популярны и общедоступны, в чистом виде, понятно, их никто торговать не решится, из-за возможности больших просадок.
Вот как выглядят графики эквити и просадок этих стратегий на фьючерсах Ri и Si за последние 5 лет (
интересно будет дальше, после картинок):
Ударный день, фьючерс на индекс RTS (1 опт параметр, Sma):
Ударный день, Si (1 опт параметр, Sma):
Parabolic, фьючерс на индекс RTS (1 опт параметр, Sma)* :
Parabolic, Si (1 опт параметр, Sma)*:
*Параметры Parabolic используются классические и вставлены в виде констант.
Канал Дончиана, фьючерс на индекс RTS (2 опт параметра, Sma и период канала):
Канал Дончиана, Si (2 опт параметра, Sma и период канала):
А вот, те же самые стратегии, но в виде портфеля в равных долях:
На графике видно, что по сравнению со стратегиями на Si нам удалось уменьшить неприбыльные участки и увеличить доходность в 1,5-2 раза. По сравнению со стратегиями на Ri в 3 раза уменьшилась просадка, правда, вместе с этим уменьшилась и доходность, но не сопоставимо просадке, гораздо меньше.
Нужно отметить, что это всего лишь пример, торговать такой портфель «как есть» я никому не рекомендую.
— Во-первых, изначально никто не будет брать в портфель стратегии с 30% просадкой.
— Во-вторых, в Combination Strategy – невозможно протестировать инструменты с плечом, естественно, что у Si плечо должно быть раза в 2-3 больше чем у Ri, но здесь такого не протестируешь. Данный подход, скорее годится для того, чтобы прикинуть, как стратегии будут вести себя в паре, на начальном этапе формирования своего собственного портфеля стратегий.
При этом, наверняка, многие ожидали увидеть заоблачную эквити и она была бы такой, если бы в данных стратегиях использовались бы входы по рынку, без указания проскальзывания. Для стратегий на Si использовались как выходы, так и входы лимитными ордерами – а значит, никакого проскальзывания быть не может. Для стратегий на RTS лимитные ордера использовались только на вход, в связи с особенностями инструмента, но проскальзывание стоит. На обе бумаги указана комиссия в размере 4 рубля на круг – это большая комиссия даже для Ri, а для си то завышена практически в 2 раза, сделано это для того, чтобы окончательно убрать все вопросы о вероятности, или невероятности результатов.
Главное, что я хотел показать, что портфели стратегия торговать намного комфортнее.
А теперь немного теории.
Таким образом, мы получаем бесконечное число портфелей, так как мы можем задать абсолютно любые веса для каждой стратегии.
Задача будущего «героя открытых рынков» выбрать только те портфели, которые обеспечат нам наибольшую доходность при одинаковом риске. Для этого, нам желательно привести все стратегии к одному показателю риска, чтобы их можно было сравнить. Например, это может быть стандартное отклонение, либо просадка.
Нам, как адекватным участникам рынка важно найти портфель на эффективной границе.(ссылка на вики)
Для этого:
-Оценим ожидаемую доходность всех стратегий
-Оценим попарные ковариации всех стратегий, с помощью матрицы ковариации
-Подберем наименее коррелированные инструменты.
-Подобрать веса
Практика.
По 10-15 стратегий можно проторговывать и через Wealth, но
— эти стратегии должны быть все на разных инструментах(это зависит от коннектора, конечно но, как правило)
— я бы не стал его перегружать стартегиями,
— если нам нужно поторговать таймфрейм меньше часовика, тоже нет.
— если у нас только одна лицензия, где мы будем тестировать наши новые стратегии, если wealth у нас задействован в ежедневной торговле?
— опционы через него тоже не торгуются.
Поэтому, если стратегий у нас прилично, среди них есть опционные стратегии. Или стратегии на мелких тайм-фреймах - лучше проторговывать наш портфель на Stocksharp.
В моем приводе несколько стратегий выглядят таким образом:
В Stocksharp Studio вот так:
Тестировать портфелей можно производить в Wealth. 6-ой версии есть классная возможность посмотреть, что будет со стратегиями, если их объединить, называется Combination strategy.
Очень хороший визуализатор и все агрегированные показатели, которыми мы обычно пользуемся при анализе отдельной стратегии.
Если вы тестируете в StockSharp – там можно использовать всю мощь C# и осуществить довольно подробное тестирование, намного точнее, чем в Wealth из-за использования стакана и ордер лога.
Самым простым способом проверить, как стратегии себя будут вести в союзе — это выкачать еженедельную доходность каждой из них и сравнить. Для анализа подойдет обычный Exсel.
В нем можно посчитать корреляцию, или просто объединить эти доходности.
Для наглядности пользуйтесь условным форматированием.
Пример недельных доходностей трех стратегий.
Профессионалы же используют оптимизаторы портфелей, написанные самостоятельно и как правило с использованием технологии CUDA – вычисления на графических картах, так как подбор весов стратегий в портфеле – зада сложная даже для современных мощных компьютеров.
После того, как вы нашли несколько стратегий, с непохожими недельными результатами (или можно смотреть финрез. на каждую сделку), ставим их на торговлю и когда одна из стратегий получает убыток, другие вытягивают общий результат в плюс. Правильно, используем принцип диверсификации.
Для того, чтобы сильнее прокачаться в портфельной теории есть книги специально по портфельному инвестированию, но для начала советую изучить работу Шарпа «Инвестиции» — там пара глав, которые помогут вам разобраться в азах портфельной теории современной портфельной теории.
Воспользовавшись новыми знаниями Вы еще сильнее улучшите результаты и уже не будете относиться к средничковым стратегиям, так строго — будете поступать мудрее, тестировать в союзе с другими, более прибыльными.
В одном из следующих своих постов, я собираюсь написать про то, как веса стратегий могут самостоятельно регулироваться в зависимости от результатов той или иной стратегии с помощью мани-менеджмента. Так что не пропустите! =)
Вот коды стратегий для того, чтобы можно было меня проверить, в публичном доступе в виде cs фалов:
-Паттерн – Ударный день
Ri,
Si
-Parabolic
Ri,
Si
-Классический канал Дончиана
Ri,
Si
Если нашли какие-то ошибки — пишите, буду рад поправить! ))
Спасибо за внимание!
Пишите стратегии, пользуйтесь Wealth-lab, Stocksharp, получайте прибыль и узнавайте много всего нового!
Подробнее о StockSharp на
http://stocksharp.com/
Официальный сайт Wealth-lab
http://www.wealth-lab.com/
Ставьте плюсики и пишете!
По поводу этого:
"… убедиться в том, что даже у самой хорошей стратегии случаются моменты, когда она здорово сливает..."
Я бы сказал не сливает, а не приносит дохода. Иначе такую стратегию фтопку.
По ходу статьи вижу что плюс-минус именно это вы и имели в виду.
2) Все три стратегии--это трендовухи. И оба инструмента RI и Si--также весьма трендовые на периоде вашего тестирования. Поэтому ваш подход выглядит переподогнанным. Возьмите-ка Лукойл и Ростелеком--и поторгуйте их УД, дончианами и параболиками.
3) В свете пункта 2) различные методы управления долями выглядят несвоевременными--для начала системы нужны качественные.
4) Имхо, этот высококвалифицированный пост (с точки зрения используемого инструментария) посвящен исследованию не особо нужных для трейдинга вещей. Исследуется вопрос--как из не пойми чего сделать конфетку. Ответ--никак. В будущем низкокачественная система будет работать как минимум также мерзко, как и в прошлом. А вероятней всего--работать не будет вообще. И пул из таких систем--тоже шедевром не будет. Вероятно, это будет СБ с уменьшенной за счет диверсификации дисперсией. Нужно изначально делать конфетки.
5) Для хорошей системы вопросы вкладываемой доли решаются за две минуты. А диверсификация получается практически автоматически--ибо хорошие системы разной логики друг с другом не коррелируют (в отличие от дончианов).
я так понял, что автор разжевал 3 мысли по диверсификации:
1) диверсифицировать нужно
2) диверсифицировать нужно по некоррелирующим активам+стратегимя
3) диверсификация уменьшает сигму портфеля
всё остальное — просто весёлые картинки помогающие начинающим понять эти 3 банальные, но такие правильные вещи
Я с вами согласен. Данные стратегии были взяты для примера. В разделе «Теория», я написал, что нужно диверсифицироваться и по типу стратегий, как то — арбитражные, скальперские, трендовые, свинг стратегии и т.д. Также, я считаю, что от самого инструмента (бумаги) очень многое зависит, и нельзя одну стратегию размазывать на 10 абсолютно непохожих акций и фьючерсов.
Поэтому и написал, что не все так просто)))
За труд в любом случае спасибо! всегда интересно на алготрейдерскую тему читать.
Главное в системном трейдинге--хорошие системы. А не диверсификация/управление капиталом/риск менеджмент итд.
Назовите вашу статью попроще. Например, «О пользе диверсификации»--и вопроса не будет. А так эта заметка выглядит как искусственное привлечение внимания.
Еще один момент. Вероятно, та куча низкокачественных систем, которую вы предлагаете собрать в портфель, будет высококоррелирована. Например, вы любите трейлинги. Вероятно, любые две системы на одинаковом ТФ с трейлингом на выходе дадут высокую корреляцию. Это дополнительный вклад в уменьшение действия диверсификации. Попробуйте.
Вы не обижайтесь, я вполне понимаю, что вы старались и, вероятно, действительно верите в написанное. И статья неплохая по своему математическому и программистскому уровню. Но сама идея, имхо, уводит вас и читателей в сторону от денег на рынке. Удачи.
Например иногда имеет смысл добавить в пакет убыточную стратегию если она удачно компенсирует просадки других стратегий.
Я слышал про то, что некоторые ставили в портфель стратегию которая не приносит дохода, но вытягивает трендовые стратегии во время флета. Сам не пробовал, на мой взгляд, лучше все-таки выбирать прибыльные стратегии. И раз уж у нас на РФ рынке практически нет инструментов, на которых можно поторговать флет, нужно идти за диверсификацией на зарубежные рынки.
А главное интересует вопрос, каким образом отслеживалось качество исполнения лимитных заявок на утренних гэпах в первую минуту торговой сессии. Так как, если это никак не учитывалось, то результаты тестов могут быть значительно хуже, чем показано выше.
Еще раз хочу заметить стратегии плюшевые — они использовались только для примера! Они скорее дают понять, что даже на одном таймфрейме и на одном рынке можно улучшить свои результаты за счет составления портфеля.
Но,
1) Захода в первый час торгов нет.
2) Вы можете все протестировать сами, код я выложил, или вы предлагаете вставить еще больше картинок в статью?
Конечно, я согласен, что основой целью вашей статьи является ознакомление начинающих алго-трейдеров с базовыми принципами диверсификации и построением портфеля торговых алгоритмов. К сожалению, я не могу оперативно воспользоваться выложенными исходными кодами алгоритмов, т.к. не пользуюсь ни WealthLab, ни Stocksharp, в силу упомянутых же вами различных сложностей и ограничений в этих продуктах, при одновременной торговле множества алгоритмов. Но просмотрев код, у меня сложилось впечатление, что выходы по трейлинг-стопам, которые будут попадать на первую минуту торгов, чаще всего будут выполнять на практике по значительно худшим ценам, чем будет показано в результатах тестирования, что может значительно повлиять на форму эквити в худшую сторону, особенно с таким продолжительным пологими участками. И это влияние будет сильно связано с общим количеством сделок, которое совершил алгоритм. Поэтому я и хотел уточнить, на каком временном интервале (TimeFrame) проводились тесты, и какое количество сделок в каждой эквити. В качестве эксперимента, можно сделать те же тесты, но с добавленной фильтрацией первой минуты сессии (или первых 15-30 секунд, если это позволяет ваша тестовая платформа, хотя это маловероятно), т.е. чтобы стратегия ничего не делала, в течение этого интервала и сравнить результаты.