Тимофей Мартынов
Тимофей Мартынов личный блог
21 марта 2013, 16:25

О штампах и мифах в разработках торговых систем.

В последнее время, с развитием научно-технического прогресса и специализированных программ для тестирования торговых систем, трейдерский интернет, буквально, наводнился скринами протестированных граалей с красивыми графиками, таблицами с коэффициентами и параметрами доходности. При этом некоторые коэффициенты, типа RecoveryFactor, ProfitFactor, MaxDD и др. просто идеализируются, обожествляются, а на самом деле просто обращаются в штампы, типа RecoveryFactor должен быть не менее 10, с ProfitFactor-ом ниже 3 нечего делать на рынке и т.д. и т.п.

Как довольно справедливо заметил выдающийся трейдер нашего времени Алексей Мартьянов в последнем видеообращении к инвесторам, цитирую дословно: 

"… Если к вам приходит очкастый алготрейдер, и начинает тыкать своими графиками, теоретической эквити его алгоритмов, то можете сразу дать ему в [censored] (лицо)..." :) 


Попробуем развеять некоторые мифы и штампы о коэффициентах результатов исторических тестов.

------------------------------------------------

RecoveryFactor

Начнем с самого неприкасаемого коэффициента RecoveryFactor. Часто встречается мнение что для хорошей системы он должен быть не менее 7-10. Нередко, в интернете встречаются протестированные системы с RF более 20-30-50 и более. Новички могут посчитать это за грааль.

Но вспомним как он рассчитывается. Общая прибыль за весь период тестирования поделенная на самую большую просадку. Отсюда должно быть понятно что чем больше период тестирования, тем больше с годами будет накапливаться прибыли.  А просадка не накапливается как прибыль, она одноразовая. И соответственно, чем больше будет период тестирования, тем потенциально больше будет и RF.

Допустим, Иванов протестировал систему за год и получил прибыль и максимальную просадку одинаковой величины что вполне естественно для одного года. Значит RF=1 что по сложившемуся мнению очень-очень мало. А Сидоров протестировал ту же систему, но за много-много лет с 1929 года до наших дней и получил RF= 50. Петров подумал и по сложившимся штампам решил что у Сидорова система в 50 раз лучше чем у Иванова, хотя на самом деле это была одна и та же система.

Также, вполне возможно что система с RF=3 намного лучше чем система с RF=12, но просто протестирована на меньшем периоде.

Поэтому, вывод. При помощи RF можно сравнивать только системы с одинаковым периодом тестирования. Ни больше ни меньше.

---------------------------------------------------
 

Profit-Factor


Пожалуй, самый популярный коэффициент среди начинающих алготрейдеров. И он, по стереотипам, никак не должен быть менее 3.

Я уже когда-то писал что самый большой PF будет в случае торговли без стопов, пересиживания — он будет равен бесконечности. До первого невозврата к цене входа, конечно — когда придет Маржин-колл. Но PF так и останется бесконечным, чем можно будет гордиться всю оставшуюся жизнь, вспоминая о веселых трейдерских годах. Соответственно, чем более удаленный стоп-лосс в системе, тем больше будет PF при прочих равных условиях. То есть большой PF просто говорит о склонности трейдера пересиживать убытки.

Вспомним как он рассчитывается. Это общая прибыль, поделенная на общий убыток за время тестирования.

Давайте рассмотрим на конкретном примере фьючерса на нефть:
----------------------------------
Иванов
-купил 1 контракт нефти по 93,40
-Сработал стоп-лосс по 93,20
-Перезашел в лонг по 93,20
-Зафиксировал прибыль по 93,50

О штампах и мифах в разработках торговых систем.

 Итого:
прибыль — 300 долларов
убыток — 200 долларов

PF = 1.5

--------------------------------

Сидоров
-купил 1 контракт нефти по 93,40
-пересидел просадку и зафиксировал прибыль по 93,50

О штампах и мифах в разработках торговых систем.

 Итого
прибыль — 100 долларов
убыток — 0 долларов

PF = бесконечность
--------------------------------
Вывод: оба игрока заработали по 100 долларов, но у Сидорова PF, а значит и система в бесконечное число раз лучше чем у Иванова????????
Хотя, на самом деле у Иванова система в бесконечное число раз грамотнее чем у Сидорова.

----------------------------------------------------------------------

Максимальная просадка.

«Просадка более 30% это самоубийство»… «Чтобы отыграть просадку 50%, надо заработать 100%» и т.д. и т.п.......

Вспомним что такое Макс.Просадка — это расстояние от предыдущего пика на эквити счета до следующего минимума.

Опять рассмотрим на примере. Допустим, имея на счете $25000 открыли длинную позицию по фьючерсу на серебро по 38.00 со стопом 37.50. Так как 1 пойнт серебра равен 5000 долларов, то риск 0,5 соответствует 2500 долларов.

После открытия позиции цена резко выросла до 50 и потом внезапно обвалилась так что не успели среагировать и зафиксировали прибыль по 39, заработав 5000 долларов. Вроде, нормально — прибыль 5000 долларов при риске 2500.

О штампах и мифах в разработках торговых систем.

Но тут и начинается самое интересное — так как на пике счет от $25000 начальных достигал $60000, а после фиксации прибыли уменьшился до $30000, то это означает ПРОСАДКУ 50%. 

То есть, вроде бы и заработали, и даже в минусе не побывали, а такой показатель как MaxDD теперь оставит позорное клеймо на системе. С таким MaxDD   системы ни один инвестор не вложит деньги, да и на форумах будут пальцем показывать. А ведь MaxDD мог быть и более 50%… и 80%, и даже 95%....

Выводы делайте сами :)

------------------------------------------------------------------------------

Продолжение о штампах и мифах в разработке торговых систем следует..... 

Оригинал статьи тут:
http://www.jc-trader.com/2013/03/20/o-shtampah-i-mifah-v-razrabotkah-torgovy-h-sistem/
 
48 Комментариев
  • alex
    21 марта 2013, 16:36
    а вы какой профитфактор считаете адекватным (величина)?
      • Moka_Baron
        21 марта 2013, 18:19
        JC, «выдающийся трейдер нашего времени Алексей Мартьянов»…
        Варианта три!
        1) Ты полный неадекват, раз об этом куске амна такими словами говоришь.
        2) Ты такой же кусок…
        3) Ты — это и есть кусок амна мммщик майтрейд…
        • Moka_Baron, четвёртый вариант: ты не уловил сарказм.
          • Moka_Baron
            21 марта 2013, 23:54
            JC, Если это был сарказм, то сорри…
            Нет не знакомы… но оказывается я вас читал в жж… хм тогда точно сорри.
            • Евгений
              22 марта 2013, 12:44
              Moka_Baron, можно удалить комментарий, раз было недоразумение. JC как обычно написал все по делу. Без истерики, как у нашего выдающегося трейдера.

              Леше вообще нужно дать совет не нервничать. С мужчин с 30 по 40 лет самый высокий риск умереть от сердечных болезней. А тут и трейдинг (нервы), и публичность (нервы в двойней), и собачество (вообще нагрузка зашкаливает).
      • alex
        21 марта 2013, 19:41
        JC, спасибо
  • Swan
    21 марта 2013, 16:37
    Люди становятся жертвами популярного софта «для народа», где все показатели стараются
    1) сделать понятными в рамках школьной математики
    2) сделать показатели «красочными, яркими», легко представимыми

    Тот же Profit Factor:
    общая прибыль поделить на общий убыток — просто, понятно, конкретно. Для вычисления используется математика начальной школы.
      • Swan
        21 марта 2013, 17:08
        JC, среднее и дисперсия — тоже просто как кирпич, но обычным людям эти параметры слабо понятны. Большинство не сможет даже сказать, чем отличается системы с характеристиками (m=2, s=3) и (m=3, s=5)
          • Swan
            21 марта 2013, 17:21
            JC, =)))))))))))
          • lobanov174
            22 марта 2013, 11:22
            JC, Здесь похоже много «обычных людей». Сегодня озадачился как выразить через формулу среднюю цену фьючерса после докупки (добора позиции). Умом понимаю, насколько она должна сместиться после операции (при доливке 0,5 к позиции, на 1/3), а сел в экселе посчитать: голову ломал как формулой описать это полчаса
  • Twilight_reg73
    21 марта 2013, 16:45
    ДД фиксируется по закрытой сделки
    • Twilight_reg73
      21 марта 2013, 16:46
      так что в Вашем примере ДД = 0
  • Twilight_reg73
    21 марта 2013, 16:50
    Вродебы давно пишете роботов, читаю Ваш ЖЖ или я в чем то ошибаюсь?
  • Тимофей Мартынов
    21 марта 2013, 16:52
    Молодец Юрий Иванович! Все-таки не уютно вам без смартлаба!:)
      • Тимофей Мартынов
        21 марта 2013, 17:07
        JC, рад что вам нравится)
      • Shara
        21 марта 2013, 20:52
        JC, Да, у Вас скучно, и купить нечего.
  • Опять неплохо, чо там.
    Но плюса в личку не будет — больше не принимает смартлабик.
  • Иван Коваль-Зайцев
    21 марта 2013, 17:07
    отлично!
  • Fedot
    21 марта 2013, 17:13
    шняга про МаксДД, Деньги то выводим, да максДД может случиться на старте системы.
      • Fedot
        21 марта 2013, 17:20
        JC, если тупо копить, то это странно… а если разгонять депо, то просадка никуда не денеца, увеличенным сайзом и просядешь глубже.
          • Fedot
            21 марта 2013, 17:34
            JC, «разогнать депо» это в моем выражении реинвестировать(увеличивать сайз). Ну а обсуждали мы, то что максимальная просадка это не такой уж и миф и не нужный показатель.
  • Артемий Должиков
    21 марта 2013, 17:21
    Вместо RecoveryFactor можно вполне использовать коэффициент Калмара=Среднегодовая прибыль/maxDD. Он даёт более показательные результаты и + с увеличением периода тестирования растёт доверие к результатам, в отличие от Рековери
  • Николай Лазарев
    21 марта 2013, 17:34
    Хорошая статья +++
    Я всегда смотрю сгенерированные сделки на графике. Если точки входа и выхода меня устраивают, то побоку все факторы восстановления и прибыли. Если не совпадают — шлифую логику.
  • Edward
    21 марта 2013, 17:43
    нормально так февраль — март — апрель — не успел отреагировать?!)
  • Антон Кротов
    21 марта 2013, 17:57
    В общем-то, все правильно. Но по отдельности любой параметр можно разгромить (хоть rf, хоть %win). Боюсь, что те, кто еще не освоил чтение параметров системы по генерируемым платформой результатам, неправильно поймут Ваш посыл.
  • MrDrJOKER
    21 марта 2013, 18:47
    аццки плюсую, Юрий Иванович как всегда на высоте :)
  • Антон Денисков (Fry)
    21 марта 2013, 20:44
    Хорошо.
    От себя замечу: трейдеру в результате нужно одно число — баланс счёта, а не сумма параметров ТС.
    Все остальные циферки нужны лишь для того чтобы не было «так страшно» =)
    А если они не справляются со своей задачей (всё равно страшно или даже страшнее), то с этими циферками что-то не так.
  • q-trader
    22 марта 2013, 00:33
    ИМХО, лучше сосредотачиваться не на максимальной просадке, а на стартовой. Максимальная просадка при t-->inf также -->inf, а вот стартовая имеет предельное значение. Правда, может попасться такая траектория на тесте, что стартовой просадки совсем нет, или она очень маленькая, но это можно отмонтекарлить. А вообще все эти показатели определяются статистическими моментами доходностей системы, и поэтому в них действительно нет ничего «волшебного» — типа «максДД — круто, а рековери — отстой» — такие утверждения лишены смысла. Все эти показатели зависят от моментов, поэтому в принципе для некоторых распределений можно максДД вычислить как функцию дисперсии, начальной ДД или даже рековери фактора.

    Показатели — ничто, устойчивость показателей при реальной торговле — всё!
    • Swan
      22 марта 2013, 10:07
      q-trader, поддерживаю по всем пунктам.
      особенно, что главное наше всё — это остационарить рабочий ряд любыми способами.
    • Swan
      22 марта 2013, 10:09
      q-trader, кстати, выражения типа «статистические моменты» лучше расшифровывать, иначе большинство не поймёт
      • q-trader
        22 марта 2013, 16:14
        Swan, ну, наверно, да. Конкретный пример — логдоходность эквити описывается нормальным распределением. Любые показатели эффективности — максДД, стартДД, рековери, профит можно посчитать через среднее и диспесию, а если задасться целью, то можно и вывести формулы связывающие например максДД и стартДД и т.п. Т.е. первичны моменты, в данном случае первые два — среднее и дисперсия, они полностью описвают риски в этой модели, а все показетели эффективности — это уже производные от моментов, вторичные величины, хотя может и более удобные для восприятия, напр, просадка

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн