Всем привет,
Не смотря на то, что многие люди довольно скептически отнеслись к китайской идее напрямую оптимизировать значение шарпа и подберать веса для активов используя LSTM сеть (
А что так можно было?), я решил все же этот метод протестировать.
Я не люблю всякого рода сложные подходы, поэтому я пошел в лоб, написал простую стратегию для динамической ребалансировки портфеля (только лонг) и протестировал на ней различные методы.
Для тестов были взяты следующие методы оптимизации финасового портфеля:
Классические:
- Mean-Variance
- Hierarchical Risk Parity (созданный Маркусом Лопезом де Прадо)
- Critical Line Algorithm (говаривают метод специально для оптимизации портфелей придуман)
- Efficient Frontier with nonconvex optimizer (нашел в примерах питоновского пакета, добавил для кучи)
Экзотические:
- LSTM (модель предложенная китайцами, из предыдущего поста)
- Trained LSTM (обученная модель на истории, предсказывает распределение на следующие 22 дня)
Но прежде чем начинать тестирование стратегии, решил я глянуть как вообще работают методы на истории.
- Я взял период с 2008 по 2020 годы.
- Особо не задумываясь о качестве активов выбрал 10 акций: ['MSFT', 'AMD', 'C', 'BA', 'AMZN', 'AAPL','MO', 'AEE', 'AIG', 'WY']
- Случайным обрзом выбрал 10 стартовых дат и взяли историю из 125 дней.
На этих данных были посчтитаны значения Шарпа для всех методов кроме трениорванной модели и вот такой результат получился:

Интересно, что LSTM модель на самом деле показывает результаты не хуже остальных методов, а иногда даже лучше. Однако CLA и MeanVariance выглядят более уверенно.
Что ж, убедившись, что с большего у нас есть методы которые опережают случайное распределение активов, я протестировал эти модели на подготовленной стратегии.
Результаты получились следующими:
2008-2010
Ах да, для классических методов присутствуют 2 теста, один это всегда расчет весов на 125 дня, второй (_cd) это для наколпленных данных, т.е. веча расчитываются на всем прошлом временном периоде.
Удивительно, но просто LSTM показала просто ужастный результат, а вот тренированная модель опередила всех.
2011-2017

На этом периоде все модели опередили случайное распределение весов активов в портфеле, однака наша натренированная модель, хоть и опередила LSTM, несмогла обойти другин методы. На самом деле тут все методы не слишком уж сильно и опередили рандом.
ну и еще тест за 2018 по 2021

Я провел немного больше тестов, так же на других активах, кому интересно возможно посмотрит видео, и мне просмотры на ютубе и вам информация к размышлению
Кому лень смотреть видео, но все же интересно весь код как обычно на гитхабе, даже ссылку вам дам
github.com/CloseToAlgoTrading/CodeFromVideo/tree/master/Episode_20_Battle_Of_Optimization_Methods
В ноутбуках еще можно посмотреть как распределяются активы в течении периода тестирования для различных методов, тоже довольно интересная информация на мой взгляд.
В целом есть шанс получить неплохую натренированную модель, однако стоит поиграться с фичами и данными. Но как обычно, возможно все результаты просто случайность :). А еще все очень сильно зависит от тех активов которые вы выбираете.
Зы. Может кто определит топив в раздел алготрейдинга. Спасибо.
[SPY, TLT, GLD, IYR]
Benchmark везде SPY