Условная оптимизация портфеля: использование машинного обучения для адаптации распределения капитала к рыночным режимам
Эрнест Чан, доктор философии, Хаоюй Фань, доктор философии, Сударшан Савал и Квентин Вивиль, доктор философии.
Ранее в этом блоге мы писали об изобретенной нами методике оптимизации параметров на основе машинного обучения под названием Условная оптимизация параметров (CPO). Казалось, что он хорошо работает при оптимизации рабочих параметров торговых стратегий, но мы все чаще обнаруживаем, что его наибольшая сила заключается в его способности оптимизировать распределение портфеля. Мы называем это условной оптимизацией портфолио (которая по счастливой случайности имеет один и тот же акроним).
Давайте вспомним, что такое условная оптимизация параметров. Традиционно оптимизация параметров любого бизнес-процесса (например, торговой стратегии) заключается в том, чтобы выяснить, какие параметры дают оптимальный результат по сравнению с прошлыми данными. Например, установка стоп-лосса на уровне 1% дала лучший коэффициент Шарпа для торговой стратегии, проверенной на исторических данных за последние 10 лет. Или работа конвейерной ленты со скоростью 1 м в минуту привела к наименьшему количеству брака в производственном процессе. Конечно, процедура численной оптимизации может стать довольно сложной в зависимости от ряда различных факторов. Например, если количество параметров велико, или если целевая функция, связывающая параметры с результатом, нелинейна, или если на параметры наложено множество ограничений. Уже есть стандартные способы справиться с этими трудностями.
Что нас беспокоит в PredictNow.ai, так это когда целевая функция не только нелинейна, но и зависит от внешних переменных во времени и стохастических условий. В случае торговой стратегии оптимальный стоп-лосс может зависеть от режима рынка, который не может быть четко определен. В случае производственного процесса оптимальная скорость конвейерной ленты может зависеть от десятков показаний датчиков. Такие целевые функции означают, что традиционные методы оптимизации обычно не дают оптимальных результатов при определенном наборе внешних условий. Более того, даже если вы укажете именно этот набор условий, результат не будет детерминированным. Что может быть лучше, чем машинное обучение, для решения этой проблемы!
Используя машинное обучение, мы можем аппроксимировать эту целевую функцию с помощью нейронной сети, обучая ее множество узлов, используя исторические данные. (Напомним, что нейронная сеть способна аппроксимировать практически любую функцию, но вместо нейронных сетей для этой задачи можно использовать множество других алгоритмов машинного обучения). Входные данные для этой нейронной сети будут включать не только параметры, которые мы изначально намеревались оптимизировать, но и широкий набор функций, измеряющих внешние условия. Например, чтобы представить рыночный режим, мы можем включить рыночную волатильность, поведение различных рыночных секторов, макроэкономические условия и многие другие исходные характеристики. Чтобы помочь нашим клиентам эффективно управлять своими моделями, Predictnow.ai предоставляет сотни таких рыночных функций. Результатом этой нейронной сети будет результат, который вы хотите оптимизировать. Например, типичным результатом является максимизация будущего месячного коэффициента Шарпа торговой стратегии. В этом случае вы должны передать в нейронную сеть исторические обучающие выборки, которые включают торговые параметры, рыночные характеристики, а также результирующий форвардный 1-месячный коэффициент Шарпа торговой стратегии в качестве меток (т. е. целевых переменных). После обучения эта нейронная сеть может прогнозировать будущий месячный коэффициент Шарпа на основе любого гипотетического набора торговых параметров и текущих характеристик рынка.
С помощью этого метода нам «нужно только» попробовать различные наборы гипотетических параметров, чтобы увидеть, какой из них дает наилучший коэффициент Шарпа, и принять этот набор в качестве оптимального. Мы поместили «только нужно» в кавычки, потому что, конечно, если количество параметров велико, может потребоваться очень много времени, чтобы опробовать различные наборы параметров, чтобы найти оптимальный. Так обстоит дело, когда применяется оптимизация портфеля, где параметры представляют собой распределение капитала между различными компонентами портфеля. Этими компонентами могут быть акции взаимных фондов или торговые стратегии в хедж-фондах. Например, для портфеля, содержащего акции S&P 500, будет до 500 параметров. В этом случае в процессе обучения мы должны ввести в нейросеть все возможные комбинации этих 500 параметров, плюс характеристики рынка, и узнать, что получится в результате за 5 или 20 дней. доходность, или коэффициент Шарпа, или любой другой показатель производительности, который мы хотим максимизировать. Все возможные комбинации? Если мы представим капитальный вес каждой акции как w ∈ [0, 1], предполагая, что мы не разрешаем короткие позиции, в пространстве поиска будет w500=[0, 1]500 комбинаций, даже с дискретизацией, и нашему компьютеру потребуется бежать до конца вселенной, чтобы закончить. Преодоление этого проклятия размерности — один из главных прорывов, достигнутых командой Predictnow.ai с помощью условной оптимизации портфеля.
Чтобы измерить ценность, которую добавляет условная оптимизация портфеля, нам нужно сравнить ее с альтернативными методами оптимизации портфеля. Метод по умолчанию — равные веса: применение равных распределений капитала ко всем компонентам портфеля. Еще одним простым методом является метод паритета риска, при котором распределение капитала по каждому компоненту обратно пропорционально волатильности его доходности. Он называется паритетом риска, потому что предполагается, что каждый компонент вносит равную долю волатильности или риска в общий риск портфеля. Это предполагает нулевую корреляцию между доходностями компонентов, что, конечно, нереально. Кроме того, есть метод Марковица, также известный как оптимизация среднего отклонения. Этот хорошо известный метод, за который Гарри Марковиц получил Нобелевскую премию, максимизирует коэффициент Шарпа портфеля на основе исторических средних и ковариаций доходности компонентов. Оптимальный портфель с максимальным историческим коэффициентом Шарпа также называется касательным портфелем. Я писал об этом методе в предыдущем сообщении в блоге. Он, конечно, не принимает во внимание рыночные режимы или какие-либо рыночные особенности. Это также бродячее нарушение знакомого рефрена Прошлые результаты не указывают на будущие результаты, и, как известно, вызывает всевозможные досадные нестабильности (см. здесь или здесь). Тем не менее, это стандартный метод оптимизации портфеля, который используют большинство управляющих активами. Наконец, есть портфель с минимальной дисперсией, в котором используется метод Марковица не для максимизации коэффициента Шарпа, а для минимизации дисперсии (и, следовательно, волатильности) портфеля. Несмотря на то, что это не максимизирует его прошлый коэффициент Шарпа, это часто приводит к портфелям, которые достигают лучших форвардных коэффициентов Шарпа, чем касательный портфель! Еще один случай Прошлые результаты не указывают на будущие результаты.
Давайте посмотрим, как наш метод условной оптимизации портфеля сочетается с этими традиционными методами. Для неограниченной оптимизации портфеля S&P 500, позволяющей открывать короткие позиции и стремящейся максимизировать коэффициент Шарпа на 7-дневный форвард,
(Эти результаты относятся к периоду вне выборки с июля 2011 г. по июнь 2021 г., и набор акций для портфеля — это те, которые присутствовали в индексе SP 500 в течение как минимум 1 скользящего месяца. Коэффициент Шарпа, который мы сообщаем в этой и следующих таблицах все в годовом исчислении). CPO улучшает коэффициент Шарпа по сравнению с методом Марковица в 3,1 раза.
Затем мы проверяем, как работает наш CPO для ETF (TSX: MESH) с учетом ограничений, заключающихся в том, что мы не можем продавать какие-либо акции, а вес w каждой акции подчиняется w ∈ [0,5%, 10%],
CPO работал аналогично методу Марковица на бычьем рынке, но, что примечательно, он смог переключиться на защитные позиции и превзошел метод Марковица на медвежьем рынке 2022 года. Он улучшает коэффициент Шарпа по сравнению с портфелем Марковица на более чем 60% на этом медвежьем рынке. В этом вся суть Условнойоптимизации портфеля — она адаптируется к ожидаемым будущим внешним условиям (рыночным режимам), а не слепо оптимизирует то, что произошло в прошлое.
Затем мы протестировали методологию CPO на технологическом портфеле частного инвестора, состоящем из 7 американских и 2 канадских акций, в основном в технологическом секторе. Ограничения заключаются в том, что мы не можем продавать какие-либо акции, а вес w каждой акции подчиняется w ∈ [0%, 25%],
CPO работал лучше, чем оба альтернативных метода, во всех рыночных условиях. В частности, он улучшает коэффициент Шарпа по сравнению с портфелем Марковица на 75 % на медвежьем рынке.
Мы также проверили, как CPO работает с некоторыми нетрадиционными активами — портфелем из 8 криптовалют, снова допуская короткие позиции и стремясь максимизировать свой 7-дневный форвардный коэффициент Шарпа,
(Эти результаты получены за период вне выборки с января 2020 г. по июнь 2021 г., а набор криптовалют для портфеля — BTCUSDT, ETHUSDT, XRPUSDT, ADAUSDT, EOSUSDT, LTCUSDT, ETCUSDT, XLMUSDT). CPO улучшает коэффициент Шарпа по сравнению с методом Марковица в 3,8 раза.
Наконец, чтобы показать, что CPO работает не только с портфелями активов, мы применяем его к портфелю торговых стратегий FX, которые торгуются в реальном времени частной торговой фирмой WSG. Это портфель из 7 торговых стратегий, а ограничения на размещение w ∈ [0%, 40%],
(Эти результаты относятся к периоду вне выборки с января 2020 г. по июль 2022 г.). CPO улучшает коэффициент Шарпа по сравнению с методом Марковица на 19%.
Во всех 5 случаях CPO смог превзойти наивный портфель Equal Weights и портфель Markowitz во время спада на рынке, обеспечив при этом аналогичные результаты во время бычьего рынка.
Для клиентов нашей технологии CPO мы можем добавить определенные ограничения к желаемому оптимальному портфелю, такие как средний рейтинг ESG, максимальное присутствие в различных секторах или максимальный оборот во время ребалансировки портфеля. Единственный ввод, который мы требуем от них, — это историческая доходность компонентов портфеля (если только эти компоненты не являются публично торгуемыми активами, и в этом случае клиентам нужно только сообщить нам свои тикеры). Predictnow.ai предоставит заранее разработанные рыночные функции, которые собирают информацию о режиме рынка. Если у клиента есть собственные рыночные функции, которые могут помочь спрогнозировать доходность его портфеля, он также может объединить их с нашим. Функции клиентов могут оставаться анонимными. Мы предоставим API для клиентов, желающих поэкспериментировать с различными ограничениями и их влиянием на оптимальный портфель.
Если вы хотите узнать больше, присоединяйтесь к нашему веб-семинару по условной оптимизации портфеля, который состоится в четверг, 22 октября 2022 г., в 12:00 по нью-йоркскому времени. Пожалуйста, зарегистрируйтесь здесь.
А пока, если у вас есть какие-либо вопросы, напишите нам по адресу [email protected].