Мальчик buybuy
Мальчик buybuy личный блог
14 сентября 2020, 20:16

Оптимизация эквити (незаконченная дискуссия с А.Г.)

Добрый вечер, коллеги!

Есть желание устроить нетривиальную математическую дискуссию.
Приглашаются все желающие, но, в качестве дисклеймера, могу сразу заявить, что лохам ловить здесь нечего.

Обычно я вообще не пишу на подобные темы, но 2 выпитые бутылки Borie-Manoux, Chateau Beau-Site, Saint-Estephe, 2013, настроили меня на лирический лад )))

Поэтому предлагаю начать (неначатую) дискуссию с А.Г.

ВВОДНАЯ:
Мы работаем с ценовым рядом x(i). Приращения цен — это d(i)=x(i)-x(i-1)
Мы хотим заработать все деньги мира построить оптимальный линейный индикатор. Он представляет из себя массив коэффициентов a(i).
Таким образом, мы покупаем, когда sign(summ(a(i)*d(n-i))) >=0 и продаем в противном случае.

Эквити ТС при этом будет выглядеть так: приращение Eq(i) = d(i)*sign(summ(a(j)*d(n-j-1)))
Если мы захотим максимизировать рост эквити — у нас есть 2 варианта:
1. (классическая максимизация) — ищем минимуи summ((d(i) — summ(a(j)*d(n-j-1))))^2)
2. (максимизация по Горчакову) — ищем минимум summ((sign(d(i)) — sign(summ(a(j)*d(n-j-1)))))^2)

Первая задача решается элементарно. Но приводит к некомфортному ответу (прогноз часто промахивается мимо нужного знака приращения и дает в итоге некрасивый результат).
Вторая задача кажется нерешаемой, поскольку sign(X) — уж больно корявая функция.

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

С уважением
51 Комментарий
  • 2020
    14 сентября 2020, 20:27
    Для начала надо уравнять шансы. Выпить примерно столько же и того же.)))
  • 3Qu
    14 сентября 2020, 20:31
    Имхо, работа с приращениями — это ни о чем. Приращения зависят от цены и положения цены относительно линии регрессии или чего-то кореллированного с ней. При работе с приращениями цена теряется.
    Таким образом, выражения для линейного прогнозирования будет:
    Y(i+1) = summ(a(k)*x(i-k)). Можно сказать, типичный прогнозирующий фильтр.
    Кроме этого для прогнозирования еще что-то нужно, типа относительного положения цены, дающего вероятности верх/низ, но это уже развитие вопроса.
    Выражения проверялось на нейросетях и получалось вполне неплохое вытянутое облако прогноза. Не уверен, но можно попробовать найти картинку на компе.
    На сем прощаюсь, т.к. по самим приращениям мне сказать нечего, не занимаюсь.
  • Volahub
    14 сентября 2020, 20:53
    без лоха и жизнь плоха
  • А. Г.
    14 сентября 2020, 20:57
    Ну неизменность a(i) — это, ИМХО, не вариант в условиях нестационарности. Но решение было бы интересно увидеть. Я, правда, брал бы относительные приращения.

    И, кстати, «максимизация» 2 не моего имени, а просто максимизация эквити Eq(i).
      • А. Г.
        14 сентября 2020, 21:05
        Мальчик Buybuy, ну давайте посмотрим. А насчет робастности первого решения, в контексте изменчивости дисперсии d(i), сомневаюсь я.
          • А. Г.
            14 сентября 2020, 23:24
            Мальчик Buybuy, что такое NDA?
          • А. Г.
            14 сентября 2020, 23:42
            Мальчик Buybuy, кстати, минимум 

            минимум summ((sign(d(i)) — sign(summ(a(j)*d(n-j-1)))))^2)

            достигается на максимуме «невязки»

            summ(sign(d(i))*sign(summ(a(j)*d(n-j-1))))
              • bstone
                08 февраля 2022, 16:01
                Мальчик Buybuy, какой смысл максимизировать эту невязку, если в нее входит d(i)? Другими словами, там такая же проблема с непопаданием прогноза в знак приращения как и в классическом случае. Разве нет?
          • МХ
            15 сентября 2020, 11:24
            P.S. Робастное решение существует только на мелких таймфреймах.

            Это же самое интересное здесь. Почему так?
    • 3Qu
      14 сентября 2020, 21:41
      А. Г., даже в условиях стационарности неизменность a(i) не катит.
      • А. Г.
        14 сентября 2020, 23:27
        3Qu, в условиях стационарного гауссовского процесса оптимальное решение имеет именно такой вид.
        • 3Qu
          14 сентября 2020, 23:39
          А. Г., в условиях гауссовского процесса следующее значения никак не зависит от предыдущих. А порождаемый винеровcкий процесс имеет оптимальное решение Y(t+tau) = Y(t) для любого t, где tau от 0 до бесконечности.
          • А. Г.
            14 сентября 2020, 23:52
            3Qu, это только если АКФ — тривиальна, то не зависит. А если АКФ нетривиальна, то очень даже зависит.
            • 3Qu
              14 сентября 2020, 23:56
              А. Г., тогда это не Гаусс. А в Гауссе любая АКФ может получиться, чисто случайно, но она будет ни о чем.
              • А. Г.
                15 сентября 2020, 00:10
                3Qu, простой пример гауссовской стационарной зависимой последовательности

                x(i)=a*x(i-1)+n(i), i=1,2,...

                где n(i) — нормально распределенная случайная величина со средним нуль и дисперсией sigma^2;
                n(i) и x(i-1) — независимы;
                |a|<1;
                x(0) - нормально распределенная случайная величина со средним нуль и дисперсией sigma^2/(1-a^2).
                • 3Qu
                  15 сентября 2020, 00:35
                  А. Г., при а=1 получаем винеровский процесс (СБ). Что будет при а<1 что-то не соображу на ночь.)
                  x(0) - нормально распределенная случайная величина со средним нуль и дисперсией sigma^2/(1-a^2).
                  x(t) наверное, но мелочи.
                  Да, но к чему вы это? Что-то мне сдается, что получим Гаусса + EMA от него, т.е., + фильтрованный ФНЧ Гаусс. И что?
                  • А. Г.
                    15 сентября 2020, 08:56
                    3Qu,  к тому, что для любой стационарной гауссовской последовательности d(i) существует summ(a(j)*d(n-j-1)) (в теории сигналов называемый ФНЧ) разница с которым представляет винеровский процесс. Причем СКО этого процесса минимальна в классе всех фильтров.
                    • 3Qu
                      15 сентября 2020, 20:05
                      А. Г., существует, и что? АКФ у Гаусса, помнится, дельта функция, спектр равномерный, а прогнозирование возможно только на конечном спектре и интервал прогнозирования шириной спектра и определяется. Получается, что на приращениях прогнозирование оч проблематично.
                      Как только мы проинтегрируем Гаусса и перейдем к СБ, ВЧ компоненты подавляется (спектр немного ограничится) и появится, хоть плохонькая, но возможность прогнозирования x(t+tau) =x(t).
                      А теперь представьте, что у нас не СБ. Где проще прогнозировать, на приращениях или интеграле от них?
                      • А. Г.
                        15 сентября 2020, 21:56
                        3Qu, это только у независимого стационарного Гаусса. А пример зависимого Гаусса я привел.
                        • 3Qu
                          15 сентября 2020, 23:35
                          А. Г., Последняя фраза именно о нем, зависимом нормальном (это уже, пардон, не Гаусс), а распределение типа нормального. Интегрирование уже, плохонько, но ограничивает спектр по сравнению с приращениями и прогнозирование несколько упрощается и сводится к построению линии регрессии, или чего-то в этом роде.
                          • А. Г.
                            16 сентября 2020, 09:03
                            3Qu,  так гауссовской процесс — это по определению процесс, у которого любой подвектор имеет многомерное нормальное распределение. И ничего  более. Это винеровский процесс — это процесс со стационарными независимыми приращениями, но… необязательно нормальными.

                            Понятно, что может быть гауссовской винеровский процесс, но это частный случай и того и другого.
  • Roman Ivanov
    14 сентября 2020, 22:12
    Обычная линейная регрессия. Оптимизационная задача поставлена не корректно в том смысле, что имеет множество решений. Для исправления, стоит добавить регуляризацию, тут подойдет L2. Также регуляризация поможет бороться с подгонкой.
    Оптимизировать можно каким ни будь тупым методом без производных. Я бы рекомендовал генетический алгоритм.
    Еще я бы добавил порог выше которого покупать/продавать.
    А вобще забейте, бесполезно.
  • wrmngr
    15 сентября 2020, 00:55
    рискую влезть не в свое дело, но мне кажется задача вообще некорректно сформулирована. Рынок сбалансирован относительно потоков, а точнее клиентских потоков. Если есть интерес со стороны конечного потребителя ликвидности, то есть и движение (приращение цены). С другой стороны прилавка находятся поставщики ликвидности в виде арбитражеров разного рода в первую очередь. Как раз они одновременно и гасят волатильность и предоставляют услугу мгновенной ликвидности клиентам.  Зачем здесь нужен оптимальной линейный индикатор цены я не понимаю
  • Vanches
    15 сентября 2020, 07:36
    Доброе утро! Вам чтоб дискуссию продолжить опять допинг понадобится?
  • /\../
    15 сентября 2020, 08:05
    Говорят, вчера Юпитер развернулся)
  • ch5oh
    15 сентября 2020, 15:05

    Второй критерий кажется мягко говоря странным и не очень полезным.

     

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

  • Toddler
    15 сентября 2020, 21:07
    Хе-хе...
    Ну, уши этой темы, очевидно, растут из работы Колмогорова «Интерполирование и экстраполирование стационарных случайных последовательностей»...
    Однако, страждущие забывают (и об этом неоднократно говорил Пророк 3Qu), что это возможно исключительно и только при определенных условиях. А не просто так — взять на шару и прогнозировать ряды.
    Хе-хе...

  • Toddler
    15 сентября 2020, 21:34
    Кстати, вспоминаю свои беседы с Доком...
    Так вот, его нейроТС превосходно предсказывала знаки приращений цен OPEN на секундном ТФ.
    Однако, будучи обложенным оброками в виде спреда, комиссий и т.п., Он решил тоже самое проделать на старших ТФ. Итог закономерен — слив и депрессия...
    Я до сих пор ищу Его… Может, Он здесь? Отзовись, дружище!
  • bozon
    16 сентября 2020, 11:42
    Ничего не хочу разглашать, но очевидно что это gach и суммарная минимизация отклонений последних данных от исторических по сути приводит нас к той же ма-шке, только типа правильной.
    • bozon
      16 сентября 2020, 11:46
      bozon, я бы поспорил с формулой, где д1*сигн(...). Чтоб так получилось, нужно каждую свечку догоняться или использовать опцион.
      • bozon
        16 сентября 2020, 15:58
        Мальчик Buybuy, ну почему же? sign(х(i) — ma), если быть точнее.
  • fxsaber
    17 сентября 2020, 00:00
    Если говорить о практическом применении, то x(i) — это не обязательно таймфреймовый ценовой ряд.

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

    Ломать голову не хочется, но посмотреть решение — вполне. Так что NDA подписываю прямо здесь.

    Интересно покрутить зверя, сравнив с той жe EMA.
  • PlaDJ
    10 ноября 2021, 14:59
    Почему бы не заменить sign() например на тангенс гиперболический. Будет приблизительно то же самое, но проще

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

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