CloseToAlgoTrading
CloseToAlgoTrading личный блог
24 апреля 2021, 13:36

Битва методов оптимизации портфеля!

Всем привет, 

Не смотря на то, что многие люди довольно скептически отнеслись к китайской идее напрямую оптимизировать значение шарпа и подберать веса для активов используя 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

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

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

Зы. Может кто определит топив в раздел алготрейдинга. Спасибо. 
43 Комментария
  • Sir Dasfig
    24 апреля 2021, 14:38
    Интересно посмотреть сравнение моделей на классах активов — акции, облигации, золото. В качестве активов взять любые 3 дешевых от ETF от Вангарда или Блекрок.
  • Capital Management
    24 апреля 2021, 16:23
    Интересно когда все в низ политики какая оптимизация будит
  • Алексей Никитин
    24 апреля 2021, 16:33
    ничего не  понятно но жутко интересно -))))

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

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