Блог им. Serg_V

Путь алгоритмического трейдера

    • 15 февраля 2013, 10:55
    • |
    • Serg_V
  • Еще
Здравствуйте!
 
Решил поделиться своим опытом и рассказать свой путь алгоритмического трейдинга, с целью пользы в основном начинающим алготрейдерам. Сейчас эта тема очень популярна. Основное преимущество что хороший алгоритм дает результаты, которые можно ожидать в будущем, с некими допущениями (предположим что рынок становится сложнее и параметры во времени будут падать).
На рынке я с 2007г. Начало — банально, ПИФы, акции. С 2008 г исключительно системный трейдинг фьючерсами FORTS. За это время прорабатывались различные идеи, которые можно формализовать 100%. Свои системы эксплуатировал от полугода до 2х лет. Система в среднем дает порядка 40% на 1к без эффекта плеча, с показателями доходность/макс просадка порядка 3/1-5/1 на годовом интервале. Алгоритмы все направленного типа. Т.е зарабатывают за счет движения из точки A в точку B.
С 2011г уровень алгоритмов значительно повысился, стал применять различные методики в разработке и методике оценки качества системы. При разработке главное сама идея (торгующейся паттерн, который имеет свойство устойчиво повторяться во времени), это для 100% формализованных алгоритмических систем. Сама идея при наложении на все временные участки должна иметь хорошие параметры (стабильная кривая вверх), далее дело техники, доработка, фильтрация неблагоприятных фаз рынка и т.п. Идея проверяется на 1м временном интервале (INSample), накладывается на другие(OUTOfSample- период чисто рыночной торговли), параметры OUTOfSample должны укладываться в InSample. Далее алгоритм ставится на реальный счет, если по итогу параметры OUTOfSample укладываются в INSample значит идея рабочая и устойчива, далее отслеживаем во времени и смотрим насколько реальные параметры соответствуют тестовым. Основные количественные параметры системы, которые принимаются в эксплуатацию Доходность(не менее 40%), Максимальная просадка(не более 5%), Средняя сделка(Не менее 200п), % прибыльных сделок(в зависимости от самой идеи системы), Профит фактор(не ниже 1,5), Рекавери Фактор(не ниже 15), Средняя Прибыль/Средний Убыток(в зависимости какой % прибыльных сделок, если более 50% то не ниже 3). Качественные параметры – Коэффициент шарпа (не ниже 6), показывает насколько доходность равномерна распределяется  во времени.
Ссылка на одну из систем в онлайнтрансляции http://tslab.comon.ru/67B16998220CBAADE67B0B99A2AD6F72
В начале 2011г наткнулся на одну из статей про достижения некого высокого  эффекта от композита (портфеля) низко коррелируемых систем. Основная идея – объеденение в портфель нескольких алгоритмов, работающих по различным принципам, разных инструментах, различном таймфрейме. Основная цель- на выходе получать параметры в разы устойчевее, нежели параметры в отдельности каждого алгоритма.
На середину 11г такой портфель быть запущен в боевом режиме.  Работают порядка 5 алгоритмов на различных идеях, внутри каждого также от 1-5 алгоритмов. По эквити виден результат, так называемый синергетический эффект от объеденения алгоритмов в 1 систему, с присвоением удельного веса каждой, в зависимости от корреляции, частоты сделок и качества параметров. Каждый алгоримт торговался в чисто рыночном режиме (не менялся не один из параметров). Видно что с конца сентября 2012г эффективность портфеля упала, с падением общей волатильности и обьемом торгов на РФР, на часть алгоритмов оббьем был снижен. Пример приведен с целью показа как от несложных алгоритмов (не сложные значит идея простая но не очевидна) можно получать хороший  результат. Расчет на сумму в 5000000р, с заданным максимальным риском 10% (500000р).Доход 2500000 за 1,5г (50%)
Что касается мани-менеджмента, о котором написано множество книг и статей, я принимаю достаточно простой метод. Суть заключается в том, что есть статистическая максимальная просадка всего композита. Делаем предположение что в будущем просадка обновится но не привысит 3х кратного размера. Т.е к примеру сумма 5000000р заданный максимальный риск 10%, это 500000р. В расчетах принимаем что просадка может составить 1500000р. Поэтому обьемы снижаются в 3 раза. Что касается реинвестирования, то не применяю. Проводил исследования на благоприятные месяцы для моего композита. Т.е берем суммируем все цены закрытия помесячно, получаем среднюю за месяц, проводим линию. Если цена пересекала линию более 6 раз, предполагаем что месяц был плохой, если менее значит хороший. По статистике 12 г имел 6 не благоприятных месяцев, тем не менее композит имел 3 убыточных месяца.  Например май, январь из года в год имеет блогоприятную статистику, что хорошо для вхождения в рынок. Поэтому при достижении прибыли на начало этих месяцев увеличиваем объем например на ¼ от прибыли. Основной смысл-счет должен расти быстрее чем объем по алгоритмам.
Сложность алгоритмического трейдинга заключается в том, что поиск идей непрерывный, т.е идея перестают работать, нужно вовремя отследить и законсервировать алгоритм. Но преимущественно дает надежные ожидания будущих результатов. Маловероятно что все алгоритмы начнут «лосить» в одно и то же время, и что приведет к значительной просадке.
Все алгоритмы реализованы на ТСлаб, C#, надежный терминал для автоматизированной торговли.
Могу поделиться идеями по разработкам, так же помогу  реализовать идеи на C#.
Вопросы на почту [email protected]
Путь алгоритмического трейдера
★38
31 комментарий
Супер.

«Работают порядка 5 алгоритмов на различных идеях, внутри каждого также от 1-5 алгоритмов» — это тоже супер.

А то что с сентября эффективность упала, по-моему, еще ничего не значит. Это может быть временная динамика рынка, а потом эффективность снова повысится.

+ за блог
avatar
Neonmouse, если эффективность падает, то по этому поводу есть различные техники для ротации отдельных систем: когда падает доходность или растёт неопределённость в одной, мы сокращаем позиции и перебрасываем средства на другую систему. Так что если работает 5-10 разных систем и парочку из них временно начинают сливать — это действительно не повод ставить на них крест...+
Neonmouse, удивляются я смартлабу. Человек пишет о своем пути алготрейдера, и подрабатывает на заказах робота. О чем тут писать? Путь привел в никуда.
avatar
reist, думаю, это просто дополнительный заработок. Почему бы и не продать парочку средненьких систем, а деньги не использовать для своих разработок.
avatar
если одна стратегия имеет отношение прибыли к просадке 3/1, а другая 2/1 — как между ними распределить депозит? В отношении 3:2? Первой дать больше?
avatar
Хорошие слова, с октября по н.в. так же наблюдаю сильное снижение доходности и остановку по большинству систем. Рынок поменялся.
avatar
круто если а трендах и паттернах при боковом рынке шарп «не ниже 6», наверняка при небольшой сумме.
и насколько реал соотрветствует бектестам.
avatar
если одна стратегия имеет отношение прибыли к просадке 3/1, а другая 2/1 — как между ними распределить депозит? В отношении 3:2? Первой дать больше?

Да, примерно так.
avatar
По опыту параметры падают во времени, но это заложено в ожиданиях. Плюсаните пост пожалуйста.
avatar
Сергей, есть ряд вопросов
1. " Сама идея при наложении на все временные участки должна иметь хорошие параметры (стабильная кривая вверх), .." — Это обязательное условие? имхо к примеру трендовые системы устойчиво работают начиная от 30 мин, в то время как 5-30 мин лучше контртренд.
2. "… торгующейся паттерн"… — расшифруйте что это по Вашему… т.е. это могут быть к примеру высоко вероятностные сделки с небольшим кол-вом повторов, в виде комбинации свечей или комбинация индикаторов с установленными параметрами. Т.К. Вы зависите от волатильности возможны оба варианта.
3. "… Что касается реинвестирования, то не применяю. "… т.е. постоянный объем, а потому на сколько % должен увеличится счет что бы начать вывод или у Вас идет разгон счета за счет новых эмитентов?
4. " Сложность алгоритмического трейдинга заключается в том, что поиск идей непрерывный, т.е идея перестают работать, нужно вовремя отследить и законсервировать алгоритм." а вот за это поставил бы +, но пока чего то там не хватает.

В челом содержательно, видно человек торговлей увлекается. Молодец
avatar
1. При наложении я имел ввиду, не на разные таймфреймы, а на разные временные интервалы и так что б он захватывал разные фазы рынка (флэт, тренд, ). Если трендовая система сильно лосит на боковике, значит не надежна.
2. Паттерн- это какая-либо формация. Т.е например рынок при сильном гэпе растет 30мин в выборке 200 из 300. Это паттерн и на нем можно сделать стратегию.
3. Алготорговля далеко не идеальна, так что забудтье про разгон счета, достаточно 3-5 алгоритмов с низкой корреляцией, прошлюе проецирете на будущее (со снижением естесственно)и вперед. Работа по цели. Лучше работать еденицей объема, т.е повышать объем раз в пол года, я вообще не повышаю. 50% при риске 10% это очень хороший результат на сумму например 5000000р.
avatar
А что за диаграмма? доходность?
avatar
график издох)
avatar
Доходность
avatar
Serg_V, Интересно! но риски надо бы увеличить, а то получается что если в банк положить просто под % получится больше прибыль :) 5.000.000 сумму если у вас диаграмма с неё составлена.
avatar
Отличный пост, граммотный. Сейчас сам дописываю документ на эту тему, застрял как раз на разделе Оптимизации параметров. Довольно-таки философская вещь. Как вы смотрите на эту часть разработки мтс? Какой подход применяете?)
avatar
50% годовых вам никакой банк не даст.
Оптимизация должна применяться в очень разумных пределах, т.е +-30% изменения параметров, должны давать также устойчивы результаты эквити. Насчет философии не знаю)) если ваша идея 100% формализуема, то ее легко проверить на работоспособность. Могу предложить в аренду некоторые скрипты, т.к они масштабируемы и до 300к в себя вмещают.
avatar
Serg_V, Кстати да, я просто невнимательно прочитал ваш пост, всех ньюансов не знаю. А вообще очень интересно! Да нет, пока не нужно)
avatar
Serg_V, ну платная аренда меня не интересует, спасибо;)
По поводу +-30% полностью согласен, я бы даже советовал строить распределение доходности от значений параметра или двух, но тут уже возникает проблема, если параметров больше)))
Про философию, я имел ввиду следующее:
какие данные для оптимизации параметров брать:
1. макс. кол-во разных состояний рынка (или фаз, в вашей терминологии))
2. брать самые неблагоприятные фазы рынка
3. брать самые благоприятные фазы рынка
в состояние рынка входит и таймфрейм и прочее, т.к. там свои характеристики у рынка будут.
И ещё вопрос, оптимизировать ли все параметры сразу или разделить их на группы и проводить оптимизацию в определённом порядке. Вы как тут делаете? прогоняете сразу 10 млн. проходов в ТСЛаб или как-то иначе?))
avatar
Нет. Вы однозначно не на правильном пути. Алгоритм должен быть логичен, вы должны четко понимать за счет чего вы зарабатывает и за счет кого. Предположим есть экстремумы, цена начинает себя как либо вести, либо пробивает, либо ложный прокол, вот нужно идентифицировать правильный момент. На вход параметры допустим это уровень и время нахождения цены на этом уровне. На выход тейк и трейлинг стоп. Оптимизируйте вначале на вход, далее на выход. Все прежде всего логично. Тем более будте аккуратны когда используете какие либо индикаторы, их период, легко переоптимизировать.
avatar
Serg_V, начало практически слово в слово повторяет то, что я написал в своём документе))) про понимание, на чём зарабатывает система)
а вот про порядок оптимизации на уровне «сначала на вход, потом на выход», я не подумал. подход логичный.
avatar
Serg_V, Как Вы тестируете трейлинг? поподробней…
Ещё вопрос. Вы стреляете по цели алгоритмом, как решаете проблему повторного входа в точке выхода если условие входа ещё сохраняется? Если такой проблемы нет- вопрос снят
avatar
Неужели у вас out of sample Шарп >= 6? Это ж грааль практически (если с рычагом торговать)
avatar
на выходе от 5 алгоритмов шарп 6, грааля нет, качественные алгоритмы, шарп 6 до 19 сент 2012г, далее эффективность упала, это нормально, нужно уметь ждать)
avatar
Serg_V, если не секрет на сколько упала в Шарпе?
avatar
ДОходности нет за этот период, Шарп это доходность-фикс.ставка/стандартн отклонение. Следовательно <0 за этот период.
avatar
Serg_V, тут еще интересно посмотреть скользящим окном как данный показатель колебался ранее. Как-то с +6 до ниже нуля резковато будет
avatar
А каким образом отслеживаете и консервируете переставшие работать алгоритмы?
За период нет доходности, поэтому и ниже 0. Но в общем это в пределах ожиданий. Статистически портфель имел длительность по просадке не более 1 мес. В ожиданиях заложено не более 3х. Т.е нормально.
avatar
Неэффективность пропадает. Т.е Алгоритм стагнирует более чем заложено. Отслеживаем и отключаем или консервируем.
avatar
Тоже торгую портфелем стратегий. Осенью действительно волатильность на рынке сильно упала и перфоманс стратегий мизерный. Замена стратегий принципиально ничего не меняет.
avatar

теги блога Serg_V

....все тэги



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