Гордость
Гордость личный блог
26 августа 2022, 18:37

Подсчет доходности торговой системы

С интересом для себя, уже не в первый раз сталкиваюсь с тем, что даже опытные в инвестициях/торговле/спекуляциях люди не знают или не понимают как правильно посчитать и оценить доходность своей (или той, которую разрабатывают/оптимизируют) торговой системы.  И эта заметка делается с целью один раз все записать и иметь потом ссылочку где это написано. И так…


Для простоты возьмем выдуманный пример из трех сделок.

Пусть при стоимости инструмента 200 пунктов (можете считать в рублях/долларах/в чем угодно) мы открыли сделку и взяли тейк размером 20 пунктов.

Затем инструмент стал стоить 100 пунктов мы зашли в сделку и проиграли 20 пунктов.

После этого инструмент опять стал стоить 200 и мы открыли сделку и взяли 10 пунктов прибыли.


Соответственно средний П/У (средняя прибыль/убыток на сделку) в пунктах у этих трех сделок будет равен (20 — 20 + 10) / 3 = 3.33 пункта. Класс! У нас отличная торговая система, она зарабатывает в каждой сделке в среднем 3.33 пункта!


Теперь мы хотим узнать сколько в среднем процентов в каждой сделке мы будем зарабатывать на вложенный капитал, т.е. мы такие прям инвесторы/спекулянты и хотим понять, вот мы вложили полностью свой капитал (ну, вот прям все свободное бабло туда засунули, или часть засунули и хотим понять сколько на засунутое мы процентов заработаем) в эту торговую систему и хотим понять сколько же процентов мы сможем заработать. То здесь уже исходы каждой сделки в процентах выигрыша/проигрыша будут равны +10%, -20%, + 5% (считаем сколько процентов от цены входа составляет наш выигрыш/проигрыш в каждой сделке), что эквивалентно +0.1, -0.2, +0.05. Тогда средний процент выигрыша/проигрыша в сделке будет равен (0.1 — 0.2 + 0.05) / 3 = -0.017. И тут уже что-то как-то не очень классно получается, мы в каждой сделке в среднем уже начинаем проигрывать 1.7% на вложенный капитал (вот, прям, вложили 3 рубля и проиграли 5 копеек, и так в каждой сделке).


Но мы же тут деньги собрались зарабатывать, все по взрослому, реинвестировать все заработанное обратно, чтобы заработанное еще больше бабла приносить стало. И теперь мы хотим посмотреть сколько в среднем на сделку мы будем зарабатывать в случае когда мы всю полученную прибыль/убыток реинвестируем обратно (по сути получая те самые «волшебные пузырьки» — сложный процент), то в этой ситуации финансовый результат такой торговли/инвестиций будет равен 1 * (1 + 0.1) * (1 — 0.2) * (1 + 0.05) = 1 * 1.1 * 0.8 * 1.05 = 0.924 (и это прям не круто уже, потеряли 7.6 процента от первоначального депо). И теперь мы хотим понять какая в среднем сделка у нас была в процентах, а для этого надо из полученного финансового результата взять корень по степени количества сделок (наш финансовый результат — это произведение доходностей сделок, соответственно среднее здесь будет геометрическое, а это корень степени по количеству сделок), т.е. т.к. сделок у нас было 3, то надо взять корень третьей степени из 0.924, что примерно равно 0.97 (т.е. 0.97 * 0.97 * 0.97 = 0.913). И если это перевести в проценты, то 0.97 — 1 = -0.03. И вот тут уже оказывается, что мы в каждой сделке начинаем проигрывать уже целых 3% на вложенные средства. И это уже фиаско братан!


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


Правильный же подход к подсчету прибыльности (или убыточности) торговой стратегии нужно производить исключительно через доходность сделок в процентах.


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

 
32 Комментария
  • мнгнкбзлк
    26 августа 2022, 18:52
    а если сделки только в плюс закрываю, нормально будет?)
  • SergeyJu
    26 августа 2022, 19:07
    Лошади кушают овес и сено. Волга впадает в Каспийское море. 
     А. П. Чехов «Учитель словесности»
      • VladMih
        26 августа 2022, 23:45
        Гордость, нах*вертил так,
        что простую по сути вещь даже я перестал понимать. )))))))
        Пишешь о простых математических вещах — будь проще,
        пиши без вывертов и люди к тебе потянутся.
        Возможно даже будут благодарны.

        Кстати, правильных методов посчитать доходность несколько.
        Их можно посмотреть в действии на ПАММах, на Мухобойке и т.п.
        Там же и методика расчета описана простыми словами.

        А реинвестирование при любом методе учитывается автоматически, если торгуется не фиксированным объёмом.
          • VladMih
            27 августа 2022, 00:20
            Гордость, ну уж, проще-то точно смог бы.
            Просто мода щас такая дебильная писать типа «с юморком», с приподвывертом. У кого-то может получается, у кого дар писательский, остальные со словом как обезьяна с гранатой.
            И это почти поголовно.
            Аж тошнит уже от этого всеобщего выпендривания.
            Без обид.
              • VladMih
                27 августа 2022, 00:30
                Гордость, дак я и не пытался обидеть, сказал как вижу. 
                А вы зацепились за обиду, значит …
                не такой взрослый, каким себе кажетесь.

                Да все мы дети. Особенно мужики. Особенно до 40-ка.
                Я уж молчу про после 60-ти )))))
                  • VladMih
                    27 августа 2022, 00:45
                    Гордость, дак разговор-то не про то, обидитесь вы или нет!

                    Знаете, курю на балконе и зачастую «подслушиваю» разговоры бабушек на скамейке. Одна про одно, другая про другое, а если и про одно, то мнения вплоть до прямо противоположных.
                    И при этом друг другу кивают, поддакивают, соглашаются...
                    Разговор поддерживают ))))))))
                      • VladMih
                        27 августа 2022, 00:52
                        Гордость, 8 лет назад я тоже бросил. Щас снова бросаю ))))
  • Daniil Lazarev
    26 августа 2022, 23:39
    На самом деле проблема оценки доходности до сих пор до конца (мной) не решена, тк у каждой стратегии есть просадки, риски слива, размер депо и пр … и доходность это не просто сумма или процент на капитал, а кмк сложный синтетический показатель. Частично проблема была решена мной в ходе многочисленнных форвардных тестах. Я моделировал рынок на 500 ппримерно лет вперёд и запускал генетический алгоритм и смотрел по какому критерию оценки доходности я получал макс капитал . 
      • Daniil Lazarev
        27 августа 2022, 00:19

        Гордость,  рынок имеет всего две фазы — накопление и распределение. Накопление — это боковик, который характеризуется случайным диапазонном и длительностью, а тренд — случайной амплитудой и случайной длительностью. Момент переключения между фазами — случайная величина. Ооооочень упрощенно, но это реально похоже на то, что происходит на рынке. 

        Генетический алгоритм это способ ускорить оптимизацию параметров стратегии. Я никогда не тестирую стратегию на прошлых данных, только на форвардных с помощью ген

        • VladMih
          27 августа 2022, 00:23
          Daniil Lazarev, не проще взять реальную историю за лохматые годы прошлого века и посмотреть как ТС, построенная на ТЕХ данных поведет себя на сегодняшних ценах.
          Теоретически вы правы, но у вас дополнительный (лишний)
          и плохо учитываемый фактор — качество вашего моделирования.

          Тем более, что ДА -  рынок имеет 2 фазы, НО
          характеристики этих двух фаз на разных рынках разные.
          Например, биржа или внебиржа, бумаги или сырьё, продукты или IT… И т.д. и т.п.
          Если скажете, что это неважно, с вами тогда говорить не о чем.

          Кстати, про лохматую историю я сказал лишь в контексте сравнения с вашей «генерацией». На самом деле это тоже… глуповато. )
          С одной стороны суть рынков не меняется, с другой стороны рынки сейчас совсем не те, что в лохматые годы. Другая волатильность и т.п.
          • Daniil Lazarev
            27 августа 2022, 00:34
            VladMih, я тут ни с кем не спорю, я просто делюсь опытом … возможно кому-то будет полезно. Как факт — есть 3 рабочее безубыточные стратегии. Но опять таки, тут каждый сам для себя решает …
            • VladMih
              27 августа 2022, 00:38
              Daniil Lazarev, не спорите — и не надо.
              Я ж понимаю, на мои аргументы не каждый найдет чем возразить обоснованно. А рабочие ли ваши стратегии — жизнь покажет. Думаю, что пока еще выводы делать рано.

              В профиле написано «не торгую».
              Поторгуете лет 17, как я — расскажете.

              Или может сначала раскроете секрет откуда взялись ваши 5 подписчиков и 3 друга, если вы не написали еще ни одного поста?
              • Daniil Lazarev
                27 августа 2022, 00:48
                VladMih, все верно. Я не торгую, у меня своя торговая платформа с прямым подключением к 5 биржам. Работают мои стратегии на платформе BASIS. Есть свой патент. Пока вы там занимаетесь воздушными шариками, я автоматизирую. А что касается постов, мне это не нужно. Я не инфоциган.
          • VladMih
            27 августа 2022, 00:40
            Гордость, у чувака 5 подписчиков + 3 друга, хотя нет ни одного поста. Явный признак инфоциганства или чего-то подобного. Трейдеры так не химичат, им незачем.
            Я жалею, что сначала с ним связался и только потом глянул в профиль.
            • Daniil Lazarev
              27 августа 2022, 00:42
              VladMih, ээээ это ты про меня? Инфоциган без постов и друзей ?? Ню ню 😀 
          • Daniil Lazarev
            27 августа 2022, 00:41
            Гордость, ген алгоритмы я использовал чтобы найти показатель эффективности и отсеивать заведомо убыточные идеи. В итоге пришёл к очень простой модели — это расчёт средней цены текущего периода (не обязательно дня), на основе данных прошлых пентодов. Грубо говоря я  знаю где сегодня будет средняя цена, ну а дальше все просто 
              • Daniil Lazarev
                27 августа 2022, 00:52
                Гордость, с помощью генетики можно делать и то и другое. Сначала мне нужно было найти оптимальный KPI для оценки стратегий, потом оценивать стратегии. генетика нужна только потому что прямой перебор невозможен 
                  • Daniil Lazarev
                    27 августа 2022, 01:23
                    Гордость, вы невнимательно читали, я написал что в моей модели случайной были параметры, но не модель. Тренд, какой же он случайный ? 
                      • Daniil Lazarev
                        27 августа 2022, 01:49
                        Гордость, вы хотите, чтобы я выложил вам подробно все методы? ммм… нет )) достаточно того, что я уже сказал 1) тестировать нужно не на прошлых данных, а моделировать «будущие» 2) можно использовать ген алгоритмы и это действительно работает 3) нужно найти KPI эффективности, без которого невозможно корректно оценить ни эффектиность ни сравнить разные стратегии и для этого тоже подходит ген алгоритмы 4) торговать лучше роботом 

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

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