Как сравнивать торговые системы

posted by admin @ 9:40 ДП
12 Апрель 2011

   Одним из важнейших вопросов трейдинга является вопрос сравнения торговых систем. Что лучше: купил и держи или скальпинг, торговать акциями или положить деньги на депозит, торговать интрадэй или дневки—все эти вопросы не так просты. Для сравнения систем существует много способов. Приведу некоторые самые распространенные.

     1) По доходности. Чем выше доходность, тем лучше система. На мой взгляд, способ не выдерживает никакой критики. Доходность на банковском депозите равна 4%, доходность победителей ЛЧИ составляет тысячи процентов. Но это не значит, что победители ЛЧИ в тыщу раз лучше депозита—ведь почти все эти люди слили не по одному депозиту. К сожалению, в России основным способом сравнивания инвестиционных стратегий является именно доходность, что говорит о не очень высоком уровне владения предметом.

     2) Отношение годовой доходности к максимальной просадке счета. Чем оно больше, тем лучше. Это уже гораздо более хороший способ—ибо он включает в рассмотрение не только доходности, но и риски. В принципе, таким способом можно даже пользоваться, но лично мне он не нравится. Дело тут вот в чем. Максимальная просадка счета не является статистически устойчивой величиной. Она сильно зависит от результатов конкретных сделок. Приведу пример. Пусть у нас уже накопилась просадка в 10%. Следующая сделка с вероятностью 0.5 может быть с результатом +1.2% и с вероятностью 0.5—с результатом -1%. Допустим, дальше просадка кончится. Это значит, что мы равновероятно получим просадку либо 8.8% либо 11%. Это большая разница, и возникает она из-за того, что максимальная просадка счета, не являясь никаким средним, не обладает статистической устойчивостью. Поэтому этот способ также мне не нравится.

    Для справки приведу еще другие примеры «плохих», то есть статистически неустойчивых величин: максимальное количество идущих подряд убыточных сделок, максимальное количество идущих подряд прибыльных сделок

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

       3) Способы, включающие рассмотрение как доходности, так и риска при помощи средних по результатам сделок.

Для справки: среднее—это некоторая величина, усредненная по всему массиву данных (в данном случае массивом данных являются результаты всех сделок). Например, средняя прибыль на сделку—среднее. Этот класс способов является самым научно обоснованным. Я использую следующие параметры:

    а) МО (выборочная средняя результатов сделок). Это средняя прибыль на сделку. Должна быть существенно больше транзакционных издержек. Если честно, я не люблю название МО, поскольку выборочная средняя—это не матожидание. Но так уж принято в трейдерской тусовке.

     б)  СКО-выборочное среднеквадратичное отклонение (неисправленное) результатов сделок от своего среднего. Оно должно быть не слишком большим по сравнению с МО.

     в) Величина SQN=МО*sqrt(N)/СКО, где N-общее число сделок. С легкой руки Ван Тарпа эта величина названа System Quality NumberTM . Значок ТМ поставил Ван-Тарп—типа он это придумал. Ну простим ему это—он же трейдер, к тому же американец—такого сорта людям положено выпендриваться : ) Справедливости ради скажу, что считаю Ван-Тарпа трейдером и биржевым тренером высокого уровня.

      Итак, что такое SQN? Это t-статистика или статистика Стьюдента, придуманная лет сто назад для выявления значимости отличия выборочной средней нормального распределения от нуля. То есть логика такая: предполагаем, что распределение сделок—нормально. Далее вычисляем SQN по этому распределению. Чем SQN больше, тем вероятнее, что система действительно имеет отличное от нуля матожидание.

     Из моего опыта следует, что SQN—отличный классификатор. Им даже можно пользоваться как целевой функцией при компьютерной ранжировке систем. Система считается хорошей, если SQN>3.

   SQN является очень хорошим сравнивателем систем, но он хорошо работает лишь когда число сделок велико. Однако есть системы с малым числом сделок, например—система купил-держи. Как быть с ней? Все классификаторы, основанные на статистике сделок, для купил-держи не работают. Поэтому выделяют еще одну группу классификаторов.

    4) Способы, включающие рассмотрение как доходности, так и риска при помощи параметров кривой эквити. В отличие от статистики сделок, кривая эквити любой системы, независимо от числа сделок может быть охарактеризована статистически значимыми параметрами. Я использую не очень научно обоснованный метод изучения эквити. Он таков: соединяем первую и последнюю точку эквити прямой и вычисляем среднеквадратичное отклонение эквити от этой прямой (СКО). Тогда наклон прямой соответствует ожидаемой прибыли на один бар (МО), а отношение МО/СКО характеризует соотношение доходность/риск. Этот классификатор я обычно использую для сравнения с системой купил-держи—все мои системы должны быть лучше купил-держи.

    Этот метод не очень правилен вот почему. Не совсем верно соединять концы эквити прямой. Лучше провести линию линейной регрессии, и уже по ней отсчитывать СКО и МО. Но это сложней технически, а для моих целей впоне хватает вышеупомянутого метода.

12 Responses to “Как сравнивать торговые системы”

  1. Lel666 Says:

    Анатолий,разжуйте плиз,как СКО посчитать???спасибо заранее!

  2. admin Says:

    Вот здесь я кратко ответил на этот вопрос: http://www.2stocks.ru/utkin/?p=713 А вообще, определение выборочных средних, в том числе и СКО, есть во всех учебниках по статистике. Либо добро пожаловать на мои консультации–научим!

  3. def Says:

    Анатолий, для способа 4 можно использовать коэффициент Кестнера (K-Ratio). Можете погуглить для информации.

  4. admin Says:

    Спасибо за информацию! Только что прочитал, ибо был на отдыхе, так что извиняюсь за поздний ответ.

    Я почитал про коэффициент Кестнера–признаюсь, я не знал такого термина :) Коэффициент этот использует те же величины, что и я ( да и все остальные :) ) то есть наклон линии регрессии кривой эквити и ее ошибку. Другие величины, в общем, тяжело придумать, да и, наверное, не нужно.

  5. Eldar Says:

    Выборочное геометрическое среднее разве не будет являться матожиданием?

  6. admin Says:

    Нет. Матожидание–это первый момент некой функции распределения. Это термин, относящийся к распределению случайной величины. А выборочное среднее–это просто среднее арифметическое от результатов некоторой выборки.

    Тут логика какая. Мы предполагаем, что результаты сделок распределены по некоторому закону. Он нам неизвестен в принципе, мы можем знать лишь выборочную информацию. Так вот, одна из основных теорем статистики заключена в том, что чем больше размеры выборки, тем ближе выборочное среднее к неизвестному матожиданию (Это частный случай центральной предельной теоремы–ЦПТ).

    Замечу еще, что условия ЦПТ выполнены на рынке не очень хорошо, и пользоваться статистикой для рыночных цен следует с оглядкой.

  7. Eldar Says:

    Можно также использовать коэффициент R-Squared для оценки отклонения кривой эквити от линии регрессии. Если R-Squared > 0.95 то это хорошо :)

  8. admin Says:

    r^2 в данном случае–это квадрат коэффициента корреляции между временем и значениями эквити. То есть он характеризует, насколько зависимость эквити от времени похожа на прямую. То есть в принципе, эта величина может быть использована для оценки хорошести эквити.

    Но! Это относительная величина. То есть если умножить всю эквити на 100, то r^2 не изменится. В то же время стандартная ошибка линии регрессии–величина абсолютная. Но конечно Вы правы–r^2 тоже можно использовать–ведь между r^2 и стандартной ошибкой есть прямое соотношение вида SD=sqrt(n/(n-2))*SKO(equity)*sqrt(1-r^2).

  9. Eldar Says:

    А как посчитать СКО от линии регрессии? Я так понял, что нужно взять разности между эквити и линией. Я прав? :)

  10. admin Says:

    В моем посте №8 под SKO(equity) подразумевается среднеквадратичное отклонение значений эквити от своего среднего. То есть работа идет только с массивом значений эквити. Например, пусть эквити состоит из трех точек с ординатами 1, 2, 3, тогда SKO(equity)=sqrt(2/3)

  11. Eldar Says:

    ок, но тогда не понятно, почему Вы используете арифметическое среднее, вместо геометрического. Геометрическое среднее учитывет сложные проценты (время), а арифметическое нет. Например есть у нас результаты 3 cделок: +50%, +1000%, -100%. Ну так по ариф. среднему у нас получается, что средняя сделка равна +317%, что есть не правильно, ибо в последней сделке мы слили весь капитал. Среднее геометрическое покажет истинную каритну - 0%. (по правде логарифм от нуля не считается, поэтому нужно брать не -100%, а число стремящееся к этой величине, тогда среднее геом. будет стремиться к нулю).
    Также нужно вместо обычного арифметического СКО использовать геометрическое СКО. ГСКО вычилстяется через арифметическое: EXP(STDEV.S(LN(A+1)))-1
    Я использую смещенное СКО (со знаменателем n-1), так как оно больше, чем несмещенное а занчит дает какой-то запас прочночти :)

  12. admin Says:

    Я считаю, что геометрические эффекты “замазывают” кривую эквити, выделяя последние сделки. Взгляните на кривую индекса Доу в линейном масштабе, там крах 1929 покажется маленькой впадинкой. А на самом деле–это именно судьбоносный и важнейший крах. Поэтому при проектировании торговых систем я использую метод постоянной суммы. То есть в каждую сделку вкладывается одна и та же сумма, например, миллион.

    А геометрические эффекты–это уже скорей управление капиталом. То есть вначале тестируется система на постоянной сумме, затем (если система нормальная) при помощи реинвеста из прямой линии делается экспонента.

    Ваш пример со сделкой в -100% абсолютно правилен, но такие системы я просто не рассматриваю. Такая система–нерабочая, как ее не рассмотри.

Leave a Reply


ИСПОЛЬЗОВАНИЕ CAPTCHA: CAPTCHA ИНОГДА ГЛЮЧИТ. ПОЭТОМУ ПОСЛЕ НАБОРА КОММЕНТА (ОСОБЕННО ДЛИННОГО) КРАЙНЕ РЕКОМЕНДУЮ СКОПИРОВАТЬ ЕГО В ТЕКСТОВЫЙ РЕДАКТОР, А УЖЕ ПОТОМ ВВОДИТЬ КОД ДЛЯ CAPTCHA.

*

Anti-Spam Image

счетчик посещений