У реальной доходности есть только одно определение: на сколько изменилась покупательская способность.
Если у меня денег стало в четыре раза больше (доходность +300%), но при этом кг яблок подорожал в два раза (инфляция 100%), то я смогу купить в 2 раза (или на 100%) больше яблок, то есть реальная доходность 100%.
При вычитании же 300%-100% получается 200%, это бессмыслица.
Для небольших значений доходности и инфляции разница близко аппроксимирует точное значение, поэтому часто пользуются разницей, но для больших значений разница не имеет экономического смысла.
SergeyJu, да, полностью согласен; в численном анализе доказывается, что вычисление высших производных по дискретным формулам — это очень вычислительно неустойчивая (ill-conditioned) операция. Как минимум нужно применять какие-то сглаживающие процедуры типа фильтра Кальмана.
Вы, наверно, знаете из моего блога, что я теоретик :) Ни один свой алгоритм я еще не запускал на практике — просто потому, что я очень тщательно бэк-тестирую, и не вижу на бэк-тестах что-то такое, чем я готов рискнуть на живых деньгах. Из последних моих исследований, то, что показывает какой-то интересный положительный результат, это:
— в области возврата к среднему — кросс-секционные стратегии (торговля теми инструментами, которые отклонились от среднего больше, чем вся группа целиком — причем это среднее может быть что-то простое, как доходность, так и какие-то более сложные вещи, как факторы высшего порядка в PCA анализе);
— самые простые TSMOM-стратегии тоже показали интересные результаты, к моему удивлению.
Также выглядит интересным сочетать оба подхода: например, ставить на возврат к дневному кросс-секционному среднему только тогда, когда есть долговременный тренд в этом же направлении. Мой поверхностный бэктестинг такого комбинированного подхода для BIST (турецкой биржи) показал хороший результат.
Также я начал пробовать подходы с определением режима, но пока не углубился в них.
Подброшу еще одну идею, позаимствованную из чистой математики — может, она покажется интересной вашему другу-математику (я сам математик и тоже люблю такие обобщения и абстракции).
Доходность — это первая производная функции цены (показывает, цена растёт или убывает, и как быстро).
А как насчет второй производной? Она должна показывать ускорение или замедление роста и точки перегиба; можно ли это использовать для трейдинга?
(Производные мы будем вычислять, конечно, по приближенным дискретным формулам).
Интересно, что разница между двумя скользящими средними, которая используется в классическом алгоритме MCAD, тоже может быть проинтерпретирована как вторая производная:
каждая из скользящих средних — это первая производная, их разница — вторая производная.
В приведенных мной статьях, особенно во второй, есть такие отличия от вашего подхода:
— Размер позиции обратно пропорционален волатильности (чем выше волатильность, тем меньше алгоритм берет риск)
— В качестве индикатора можно попробовать использовать не просто доходность (выросла на 5% — открыли позицию), а доходность, нормированную на волатильность. Смысл в том, что такие колебания в 5% могут быть для данного актива обычными дневными колебаниями (шумом), а не началом тренда; а нормализация устранит шум.
Попробуйте прикрутить волатильность — может, результат лучше получится.
Насчет переключения между трендовым алгоритмом и алгоритмом возврата к среднему — это сложная задача (называется «переключение режима», regime change), и решается с помощью разных подходов:
Eth_algotrader, под статистикой результатов вы имеете в виду динамику стоимости пая (equity)? Это открытые и регулируемые данные — они публикуются на платформе TEFAS (единая государственно регулируемая платформа, через которую в Турции торгуются ПИФы).
На основе данных из TEFAS есть много бесплатных и платных приложений, которые высчитывают разные риск-метрики, показывают текущие активы в фонде и их распределение во времени, делают рекомендации по оптимальному портфелю, и т.д. В последнее время также как на дрожжах появляются AI-советники (и по фондам, и в целом по инвестиционным инструментам). Я даже сам пытаюсь сделать такой стартап (фонды + AI), но мало свободного времени, буксую. :(
А вы же вроде copy trading'ом занимаетесь? Насколько я понимаю, открытый исходный код стратегии вы тоже не публикуете? :)
Золото сегодня повысилось из-за эскалации конфликта Израиль-Иран. Технический анализ это не предсказывает. (То есть я хочу сказать, сделка сегодня выиграла не из-за вашей прозорливости, это случайность).
Мне кажется, под метастратегией классически понимается оркестратор стратегий, который перераспределяет доли между ними на основе метрик отдельных стратегий (волатильности, Шарпа, корреляций и т.д.)
В рамках одной стратегии трудно разграничить, где кончается стратегия, а где начинается мета.
Пофилософствую:
Любая стратегия представляет собой функцию от цены одного актива или вектора активов (также дополнительно от объёма, параметров стакана).
F: (Price, Volume, Order Book) -> A
A — пространство действий (покупка, продажа)
Задача функции: выделить устойчивый сигнал из шума. Функция может быть любого уровня сложности: скользящее среднее, нейронная сеть, PCA (Principal Component Analysis), или как в вашем случае композиция двух функций (стратегия ∘ мета).
Для линейного случая можно определить порядок этой функции: сколько раз нужно «продифференцировать» цену, чтобы получить сигнал. Если порядок больше нуля — это будет мета.
Потеряев А.А., за счёт чего у индивидуалов доходность будет выше? Неужели профессионалы с многолетним опытом, которые собаку съели на фундаментальном и техническом анализе, и это их основной род деятельности, не могут сравниться с индивидуалами?
Да, у меня есть знакомые, которые показывают гораздо большую доходность в краткосроке, но их портфели жутко волатильны, на долгосроке они проигрывают.
В том же Марковице есть несколько модификаций, которые позволяют учитывать ожидаемую, а не историческую, доходность (например, есть сложный подход Black–Litterman, использующий байесовскую модель для ожидаемых доходностей — этот подход реализован в pypfopt, если я правильно помню).
Но есть серия статей, показыващих, что на практике простой подход с минимизацией волатильности часто бьёт сложные подходы с доходностью — в том числе бьёт по индикаторам, учитывающим доходность (например, по Шарпу).
Я уже не говорю про то, что чем меньше волатильность, тем меньше ожидаемая просадка, и психологически легче не запаниковать и не закрыть в самый неподходящий момент.
Eth_algotrader, да, формально это ef.min_volatility(), но я в итоге отказался от пакета pypfopt, и реализую вычисления с нуля. Плюс в том, что я не связан функциями пакета, и могу запрограммировать любую логику. Выглядит это как-то так:
Подход рабочий, я его сейчас применяю для своих долгосрочных инвестиций, но оптимизирую не по Шарпу, а по волатильности. То есть, активы выбираю по другим соображениям (макроэкономическим), а вот доли между ними распределяю по Марковицу.
За 2025 у меня годовая волатильность портфеля 10%, а Шарп около 3 (это в турецких лирах и с безрисковой ставкой, равной турецкому депозиту) — считаю, отличный результат.
profynn, то есть я не вижу нигде в отчетах отдельной строки, когда захлопнулся опцион и по какой цене. Буду выяснять у брокера, можно ли это где-нибудь вообще увидеть.
profynn, не знаю, черт ногу поломит, не могу разобраться. У меня был открыт параллельно контракт на фьючерсы с экспирацией в январе, и вот какие движения я вижу по счету. Каждый день ожидаемо капала прибыль по фьючерсам + проценты с залога, но 29-го числа эта прибыль в разы больше, чем в другие дни — может, это и есть захлопнувшийся опцион? Не понимаю, почему 29-го, а не 30-го.
profynn, если вдруг надумаете вложить, говорят, Denizbank один из самых лояльных к россиянам, открывает счета. Но лучше помониторить по телеграм-группам, связанным с Турцией.
profynn, я подписан на один популярный турецкий экономический канал на youtube, его ведущий делает каждую пятницу обзор процентов по банковским вкладам. www.youtube.com/watch?v=pJIZv3mZhhM
Вот его данные за 30 января (я попросил чатгпт сделать табличку из текста субтитров). Процентная ставка сейчас 37%.
А какой тут предполагается правильный ответ?..
sign(A+B) = (A+B)/abs(A+B)
(по определению), и это можно обобщить на любое число слагаемых. Такой ответ подходит?
Если у меня денег стало в четыре раза больше (доходность +300%), но при этом кг яблок подорожал в два раза (инфляция 100%), то я смогу купить в 2 раза (или на 100%) больше яблок, то есть реальная доходность 100%.
При вычитании же 300%-100% получается 200%, это бессмыслица.
Для небольших значений доходности и инфляции разница близко аппроксимирует точное значение, поэтому часто пользуются разницей, но для больших значений разница не имеет экономического смысла.
реал = (1 + номинальная доходность)/(1 + инфляция) — 1.
Но для небольших значених разность это достаточно хорошее приближение.
SergeyJu, мне очень нравятся все ваши комменты, с удовольствием читаю!
SergeyJu, да, полностью согласен; в численном анализе доказывается, что вычисление высших производных по дискретным формулам — это очень вычислительно неустойчивая (ill-conditioned) операция. Как минимум нужно применять какие-то сглаживающие процедуры типа фильтра Кальмана.
Вы, наверно, знаете из моего блога, что я теоретик :) Ни один свой алгоритм я еще не запускал на практике — просто потому, что я очень тщательно бэк-тестирую, и не вижу на бэк-тестах что-то такое, чем я готов рискнуть на живых деньгах. Из последних моих исследований, то, что показывает какой-то интересный положительный результат, это:
— в области возврата к среднему — кросс-секционные стратегии (торговля теми инструментами, которые отклонились от среднего больше, чем вся группа целиком — причем это среднее может быть что-то простое, как доходность, так и какие-то более сложные вещи, как факторы высшего порядка в PCA анализе);
— самые простые TSMOM-стратегии тоже показали интересные результаты, к моему удивлению.
Также выглядит интересным сочетать оба подхода: например, ставить на возврат к дневному кросс-секционному среднему только тогда, когда есть долговременный тренд в этом же направлении. Мой поверхностный бэктестинг такого комбинированного подхода для BIST (турецкой биржи) показал хороший результат.
Также я начал пробовать подходы с определением режима, но пока не углубился в них.
А какие у вас подходы-«чемпионы»?
Подброшу еще одну идею, позаимствованную из чистой математики — может, она покажется интересной вашему другу-математику (я сам математик и тоже люблю такие обобщения и абстракции).
Доходность — это первая производная функции цены (показывает, цена растёт или убывает, и как быстро).
А как насчет второй производной? Она должна показывать ускорение или замедление роста и точки перегиба; можно ли это использовать для трейдинга?
(Производные мы будем вычислять, конечно, по приближенным дискретным формулам).
Интересно, что разница между двумя скользящими средними, которая используется в классическом алгоритме MCAD, тоже может быть проинтерпретирована как вторая производная:
каждая из скользящих средних — это первая производная, их разница — вторая производная.
Такой тип стратегий называется Time series momentum (TSMOM), и есть много работ с исследованием таких стратегий, например:
Time series momentum — Moskowitz et al (классика)
www.sciencedirect.com/science/article/pii/S0304405X11002613
Demystifying Time-Series Momentum Strategies: Volatility Estimators, Trading Rules and Pairwise Correlations — Baltas & Kosowski
www.researchgate.net/publication/255856103_Demystifying_Time-Series_Momentum_Strategies_Volatility_Estimators_Trading_Rules_and_Pairwise_Correlations
и др.
В приведенных мной статьях, особенно во второй, есть такие отличия от вашего подхода:
— Размер позиции обратно пропорционален волатильности (чем выше волатильность, тем меньше алгоритм берет риск)
— В качестве индикатора можно попробовать использовать не просто доходность (выросла на 5% — открыли позицию), а доходность, нормированную на волатильность. Смысл в том, что такие колебания в 5% могут быть для данного актива обычными дневными колебаниями (шумом), а не началом тренда; а нормализация устранит шум.
Попробуйте прикрутить волатильность — может, результат лучше получится.
Насчет переключения между трендовым алгоритмом и алгоритмом возврата к среднему — это сложная задача (называется «переключение режима», regime change), и решается с помощью разных подходов:
— нейронные сети
— марковские цепи
— макроэкономическое моделирование
и т.д.
Eth_algotrader, под статистикой результатов вы имеете в виду динамику стоимости пая (equity)? Это открытые и регулируемые данные — они публикуются на платформе TEFAS (единая государственно регулируемая платформа, через которую в Турции торгуются ПИФы).
На основе данных из TEFAS есть много бесплатных и платных приложений, которые высчитывают разные риск-метрики, показывают текущие активы в фонде и их распределение во времени, делают рекомендации по оптимальному портфелю, и т.д. В последнее время также как на дрожжах появляются AI-советники (и по фондам, и в целом по инвестиционным инструментам). Я даже сам пытаюсь сделать такой стартап (фонды + AI), но мало свободного времени, буксую. :(
А вы же вроде copy trading'ом занимаетесь? Насколько я понимаю, открытый исходный код стратегии вы тоже не публикуете? :)
В рамках одной стратегии трудно разграничить, где кончается стратегия, а где начинается мета.
Пофилософствую:
Любая стратегия представляет собой функцию от цены одного актива или вектора активов (также дополнительно от объёма, параметров стакана).
F: (Price, Volume, Order Book) -> A
A — пространство действий (покупка, продажа)
Задача функции: выделить устойчивый сигнал из шума. Функция может быть любого уровня сложности: скользящее среднее, нейронная сеть, PCA (Principal Component Analysis), или как в вашем случае композиция двух функций (стратегия ∘ мета).
Для линейного случая можно определить порядок этой функции: сколько раз нужно «продифференцировать» цену, чтобы получить сигнал. Если порядок больше нуля — это будет мета.
Потеряев А.А., за счёт чего у индивидуалов доходность будет выше? Неужели профессионалы с многолетним опытом, которые собаку съели на фундаментальном и техническом анализе, и это их основной род деятельности, не могут сравниться с индивидуалами?
Да, у меня есть знакомые, которые показывают гораздо большую доходность в краткосроке, но их портфели жутко волатильны, на долгосроке они проигрывают.
Eth_algotrader, я тоже полюбил волатильность.
В том же Марковице есть несколько модификаций, которые позволяют учитывать ожидаемую, а не историческую, доходность (например, есть сложный подход Black–Litterman, использующий байесовскую модель для ожидаемых доходностей — этот подход реализован в pypfopt, если я правильно помню).
Но есть серия статей, показыващих, что на практике простой подход с минимизацией волатильности часто бьёт сложные подходы с доходностью — в том числе бьёт по индикаторам, учитывающим доходность (например, по Шарпу).
Я уже не говорю про то, что чем меньше волатильность, тем меньше ожидаемая просадка, и психологически легче не запаниковать и не закрыть в самый неподходящий момент.
Eth_algotrader, да, формально это ef.min_volatility(), но я в итоге отказался от пакета pypfopt, и реализую вычисления с нуля. Плюс в том, что я не связан функциями пакета, и могу запрограммировать любую логику. Выглядит это как-то так:
gist.github.com/IgorKuch/2c053644dafd0f6676380ab78a4ecf6aEth_algotrader, спасибо за комментарий!
Подход рабочий, я его сейчас применяю для своих долгосрочных инвестиций, но оптимизирую не по Шарпу, а по волатильности. То есть, активы выбираю по другим соображениям (макроэкономическим), а вот доли между ними распределяю по Марковицу.
За 2025 у меня годовая волатильность портфеля 10%, а Шарп около 3 (это в турецких лирах и с безрисковой ставкой, равной турецкому депозиту) — считаю, отличный результат.
profynn, не знаю, черт ногу поломит, не могу разобраться. У меня был открыт параллельно контракт на фьючерсы с экспирацией в январе, и вот какие движения я вижу по счету. Каждый день ожидаемо капала прибыль по фьючерсам + проценты с залога, но 29-го числа эта прибыль в разы больше, чем в другие дни — может, это и есть захлопнувшийся опцион? Не понимаю, почему 29-го, а не 30-го.
profynn, я подписан на один популярный турецкий экономический канал на youtube, его ведущий делает каждую пятницу обзор процентов по банковским вкладам.
www.youtube.com/watch?v=pJIZv3mZhhM
Вот его данные за 30 января (я попросил чатгпт сделать табличку из текста субтитров). Процентная ставка сейчас 37%.