комментарии Павел Целищев на форуме

  1. Логотип TSLab
    Переоптимизация?

    Добавили тут на днях в ТСЛаб возможность штатным образом случайные числа получать. В связи с чем возникла идея устроить небольшой стресс тест стратегиям, заменив имеющееся управление позицией выходом по рынку через случайное количество баров.
    Я считаю, что то, что принято называть переоптимизацией, кроется как раз в управлении позицией. Если подумать, то в точке входа подгонки не может быть по определению. Ведь задача как раз найти такое соотношение параметров, которое работает в нашу сторону как можно чаще. И чем сильнее будет подгонка под идеальный сетап — тем лучше, тем точнее мы опишем желаемую ситуацию. А вот с выходом всё иначе. Тут уже есть конкретные точки входа и конкретный набор свечей на истории… И вот как раз тут может быть подгонка параметров стопа, тейка, трейлинга и т.п. под эти конкретные ситуации..
    Подгонка может быть столь сильной, что за ней вполне может спрятаться полное отсутствие положительного смещения вероятности в точке входа…
    Вот мне и стало интересно, что если выход из позиции будет произвольным? Тогда, по идее, значительный перевес положительных исходов может намекать на наличие положительного смещения вероятности в точке входа.
    Для эксперимента взял 2 стратегии на Ri. Одна, проверенная девятью месяцами реала и подтвердившая свою профпригодность на сегодняшний день, и другая — простая, состряпанная на скорую руку, стратегия по скользяшкам с максимальным фиттингом (оптимизация точки входа одновременно с трейлингом по широкому диапазону параметров на всей истории за один проход). Везде стоит комиссия 20п.
    Итак, изначальная эквити «проверенной» стратегии выглядит так:
    Переоптимизация?


    читать дальше на смартлабе
  2. Логотип TSLab
    О тренде формально.

    О тренде формально.

    А точнее о том, как формализовать тренд в алго торговле на примере ТСЛаб.

    Существует масса различных способов для определения тренда. Начиная от готовых индикаторов с “классическими” параметрами и заканчивая “супер навороченными” математическими моделями. Я же решил поделиться своими, относительно простыми, но весьма эффективными (с моей точки зрения) наработками по формализации тренда и созданию тренд-фильтров на их основе.

    Итак, как человек, не верящий в систему с одним параметром, всякий раз при разработке нового алгоритма я пытаюсь впихнуть в него какой-нибудь фильтр, который изрядно увеличит количество этих самых параметров, а заодно и профит). Вбил я себе в голову, что нельзя торговать какой-то сетап (паттерн) в отрыве от контекста. Ну вот и фильтрую всё ненужное. Входим на пробой уровня в лонг? Только если глобально рынок растет! Продаем отскок от value area high? Только если глобально снижаемся, или во флете..

    Так вот о том, как я в своих стратегиях определяю эти самые глобальные снижения, росты и флеты я и расскажу далее.

    Всего у меня есть 2 любимых способа. Каждый обладает своими недостатками и преимуществами. В этой статье расскажу об одном из них, второй оставлю на потом.

    Итак, вся суть первого способа заключается в тех буквах… AMA! Или Adaptive Moving Average. Всё до безобразия просто: смотрим на изменение AMA и на основе этого делаем вывод какая тенденция сейчас превалирует.

    Теперь немного подробнее и с примерами. Для начала давайте объясню, почему именно AMA, а не какие-нибудь другие буквы (SMA, EMA, ТЬМА). В отличие от других скользящих средних, эта имеет одно замечательное свойство. Если говорить простым языком, то она может менять свой период в зависимости от рыночных условий. Когда на рынке есть направленные и импульсные движения, она ведет себя как быстрая скользящая средняя, когда же на рынке флет, её характер меняется на “медленный”. На практике это означает, что в тренде она будет меняться быстро, а во флете, напротив, даже не пошевелится… Этим и будем пользоваться.

     Сравнение АМА и SMA

    Итак, весь фильтр сводится к одной простой формуле (пример для Ап тренда):

    AMA-AMA[-1]>N

    Попросту говоря, если за одну свечу значение АМА меняется больше, чем на N пунктов, то мы считаем, что на рынке тренд вверх. Через величину изменения мы по сути дела определяем крутизну скользящей. Чем больше N, тем круче будет расти AMA, тем сильнее тренд.

    Ясное дело, таймфрейм AMA, а также величину N мы изменяем в соответствии с поставленными задачами. N мы можем выразить как в абсолютных величинах (пунктах), так и привязать к текущей волатильности (AMA-AMA[-1]>ATR*N), или цене инструмента (AMA-AMA[-1]>CLOSE*N).

    Вот, собственно, и весь фильтр. Ниже несколько примеров с отфильтровыванием Ап тренда, Даун тренда и флета.

     О тренде формально.

    Определяем понижательную тенденцию

    Определяем боковик

    Что касается недостатков. Хоть и в меньшей степени, но все же AMA, как и все скользящие, запаздывает, что видно на примерах выше. Тем не менее, внедрение подобного фильтра может значительно увеличить эффективность стратегии и даже стать её основой. Проверено как в теории, так и на практике).

    P.S. Если статья понравится, то в следующей расскажу про второй способ фильтрования контекста, обладающий некоторыми другими преимуществами. Например, практически полное отсутствие запаздывания ;)

     


  3. Логотип TSLab
    Лучший трейлинг на свете! Часть 3.

    Продолжаю разбирать возможности ТСЛаб по организации  трейлинг стопов средствами «из коробки». 
    Сегодня речь пойдет о трейлинге позиции по параболе.



    Лучший трейлинг на свете! Часть 1.

    Лучший трейлинг на свете! Часть 2.
  4. Логотип TSLab
    Оптимизация или подгонка?

    Почти у всех трейдеров, использующих в своей торговле алгоритмические системы, рано или поздно при оптимизации этих самых систем встает вопрос: «а не занимаюсь ли я подгонкой алгоритма под рынок, может он и не рабочий вовсе?» Эта мысль не раз возникала и у меня, и каждый раз я думал над тем, как понять где «полезная» оптимизация и поиск смещения вероятности, а где уже переоптимизация и подгонка под рынок. В итоге появились некоторые мысли, которые предлагаю к обсуждению. Итак, вот к чему я пришел.

    Для начала предлагаю разделить весь процесс оптимизации на 2 основные части:
    1. Оптимизация параметров, отвечающих за вход в позицию
    2. Оптимизация параметров, отвечающих за выход из позиции (стопы, тейки, трейлы и т.д.)
    И вот это вот деление, на мой взгляд, и дает ключ к ответу на вопрос «настройка, или подгонка?»

    Разберемся по порядку. Чем мы занимаемся, когда оптимизируем параметры, отвечающие за точку входа?

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

    Но тут есть нюансы, которые могут бросать пыль в глаза.

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

    Я сейчас не призываю отказаться от оптимизации этих параметров.

    Нет, это тоже важная вещь, но сначала нам надо убедиться, что основная идея у системы есть и она работает. Кстати, справедливости ради, надо сказать, что в самом принципе управления выходом из позиции может крыться смещение вероятности, которое в итоге на реале может «вытянуть» плохую систему. И даже вроде бы есть такие системы, основанные исключительно на мани менеджменте. Но сейчас я не об этом). Так как же нам понять, что идея нашей торговой системы рабочая, что мы нашли смещение вероятности? Очевидно, надо каким-то образом избавиться (на время) от ценовых параметров выхода из позиции. Нам ведь что интересно? Как мы поймем, что смещение есть? Да очень просто, цена, после входа в позицию, сразу или через время должна пойти в нашу сторону. Неважно насколько, не важно каким образом (импульсно, постепенно, с задёргами, или без), но она чаще должна идти в нашу сторону. Это и будет означать наличие смещения вероятности. Т.е. мы будем знать, что сейчас больше шансов, что пойдет туда-то. Осталось только как-то это отследить.

    И тут я предлагаю такой вариант: нам просто надо фиксировать позицию через определенное время. Если получим убедительный плюс — смещение есть! Тут важно только понять, а сколько держать?.. Ну вот тут есть элемент интуиции и понимания своей системы. Все согласно тайм фрейма и идеи. Я проверил пару своих идей так: прикинул средний размер движения, которое планирую брать в системе, прикинул его продолжительность (минимальную и максимальную) и провел оптимизацию по времени удержания позиции от минимального до максимального (взял с запасом от 5 до 1500 минут). Поразительно, но 99% исходов оказались в положительной зоне. Число выигрышных сделок варьировалось от 50% до 65% по всей сетке, профит фактор от 1.3 до 2 (за исключением пары исходов) Т.е. 6 из 10 раз цена шла в мою сторону, да к тому же на расстояние в полтора-два раза больше, чем когда цена шла против меня… И всего 2 отрицательных исхода… 5 и 10 минут (видать, система не скальперская:) ) Неважно как, неважно насколько, цена шла в мою сторону! Вот оно смещение) Теперь бояться нечего, можно и второй частью оптимизации заняться, высосать из системы по максимуму!
    Модернизация скрипта для проверки
    Результаты оптимизации




Чтобы купить акции, выберите надежного брокера: