CloseToAlgoTrading
CloseToAlgoTrading личный блог
06 июля 2022, 13:53

Как легко и просто обыграть рынок. Momentum and Portfolio Optimization.

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

И так,
  • Возмем 500 бумаг которые на данный момент находятся в индексе snp500.
  • Каждый месяц будем отбирать 10 бумаг по принципу силы импульса за последний год. Имеется ввиду процентное изменение.
  • Вторая стратегия будем отбирать 10 бумаг, но импульс будем считать как разницу цены и скользящей стредней с периодом 252.
  • Ребалансировка портфеля через каждые 22 дня.
  • Только лонг.
Протестируем за 10 лет начиная с 2005, и получим вот такой прекрасный результат: 
Как легко и просто обыграть рынок. Momentum and Portfolio Optimization.


Общая доходность в 10 раз выше индекса, годовая в 5. Однако видим что и просадка у нас повыше. 

Но мы же все делаем на питоне, где полно всяких полезных пакетов. Воспользуемся библиотекой PyPortfolioOpt, и добавим попробуем эти же две стратегии с импользованием следующих методов оптимизации портфелей: CLA, HRP, CVaR, DVaR

И посмотрим на результат:
Как легко и просто обыграть рынок. Momentum and Portfolio Optimization.
Как легко и просто обыграть рынок. Momentum and Portfolio Optimization.


Тада!!! Мы видим что некоторые методы оптимизации сработали довольно хорошо, и теперь наша просадка ниже чем если бы мы инвестировали в индекс. 

Интересно что такого рода стратегии работали всегда и продолжают работать, а последнии два года так вообще взлет доходности.


Ну и по традиции видюшка...


ссылка на код.
github.com/CloseToAlgoTrading/CodeFromVideo/tree/master/Portfolio_Testing_Framework


 
42 Комментария
  • MPlus
    06 июля 2022, 14:19
    Наоборот сработает наверняка. Слабые бумаги удаляйте, отрасти шансов уже нет. За рост рынков ничего сказать не могу. 
      • MPlus
        06 июля 2022, 14:58
        CloseToAlgoTrading, Не время сейчас для портфельный инвестиций, не удержите прибыль.
          • MPlus
            06 июля 2022, 16:58
            CloseToAlgoTrading, Открыл здесь два виртуальные портфеля. Это 70 лучших доходных бумаг прошлого 21'года. Портфель Сектор+ это те кто шли выше индекса, Сектор- ниже индекса, но вполне прибыльные. Что имеем через полгода = всего 9 бумаг в плюсе, остальные «пусть полежат». И  по тем, что «лежат» иллюзий не должно быть никаких -40-80% усредняйтесь — не хочу.

            Та же история по кварталам'22 — с активным управление каждый набор красавец, как только бумаги оставишь, портфель сползает в убыток. Пока деньги идут с рынков, зачем с этим спорить, на постоянных шортах капиталы не сохранить. А до первого, ближайшего  нашего днища еще довольно далеко, опускают инвесторов плавненько, чтобы не разбежались.
  • wrmngr
    06 июля 2022, 14:49
    ну конечно же! как мы все не догадались! наконец все будет хорошо!
    по снп 500 явно ложные данные
  • Дмитрий Т
    06 июля 2022, 15:15
    Ошибка в расчётах как минимум одна — для тестов вы берете текущий состав индекса, а он со временем изменяется. Таким образом вы отбросили бумаги, которые падали и выпали из индекса и тестируете только на тех, которые росли и попали в него.

    Вместо индекса сравнивайте результат такого портфеля с портфелем всех акций (типа удерживать в равных долях все бумаги на которых тестируете и ребалансируйте такой портфель раз в год (для выравнения долей)). Думаю что результаты немного расстроят.
      • Дмитрий Т
        06 июля 2022, 15:47
        CloseToAlgoTrading, да, не тестируем на бумагах, которые выпали из индекса. Но в большинстве случаев из индексов выпадают или бумаги которые упали, или если есть более интересные. И это сильно влияет на результат (сам через это проходил). Просто сравнивать результат таких тестов с индексом некорректно.
        А ребалансировку я имел ввиду делать в «самодельном» индексе. И тогда уже можно будет хоть как-то сравнивать результат тестов с таким «самодельным» индексом.
      • Дмитрий Т
        06 июля 2022, 15:51
        CloseToAlgoTrading, тема поста «Как легко и просто обыграть рынок» немного некорректна. Ведь если взять текущий состав индекса, купить все эти бумаги в равных долях в начале 2005 года, то мы уже обыграем индекс. Но вот какой будет состав индекса через несколько лет никто не знает.
          • Дмитрий Т
            06 июля 2022, 20:08
            CloseToAlgoTrading, индекс обыгрываем, но уже не с таким отрывом, верно? Об этом я и говорил.

            А в Квантконнекте учитываются ли дивиденды? Если учитываются новые/старые бумаги в индексе, то может и дивиденды тоже учитываются. В этом случае надо сравнивать с индексом полной доходности (с дивидендами).

            P.S. По поводу того хорошая ли эта стратегия или нет я ничего не сказал.
      • Кирилл Гудков
        06 июля 2022, 16:03

        CloseToAlgoTrading, 

        но это по любому играет немного нам на руку

        Может быть немного играет на руку, а может быть все ставит с ног на голову. И то и другое — оценки взятые с потолка, они равноправны.
        Однако применяя некоторую оптимизацию
        Оптимизация всегда улучшает результат, вплоть до получения дистиллированного подгоночного мусора. Можете даже пооптимизировать 500 и 10 (если еще этого не сделали) и тоже получить улучшение, без всяких там CVaR/CDaR.
  • Пафос Респектыч
    06 июля 2022, 15:23
    На истории рынок обыгрывать можно ещё круче и проще, раз эдак в сто. Просто покупаешь на минимумах и продаёшь на максимумах, и радуешься и немного жалеешь что график на следующий год только в конце следующего года дорисуется.
  • Ig62
    06 июля 2022, 15:28
    Если кто то говорит, что сложную проблему можно решить легко и просто, то это либо лжец, либо мошенник, либо политик
  • Laukar
    06 июля 2022, 16:25
    Так нельзя оптимизировать. Надо года 4 оставлять на бэктест без оптимизации и год на форвард без оптимизации, под остальные 5 лет оптимизируете и так сразу увидите потом что в реале оно не обгоняет индекс, а иначе только на практике убедитесь…
      • Laukar
        06 июля 2022, 17:52
        CloseToAlgoTrading, если так оптимизировать то любая стратегия будет радовать фейковыми результатами, совершенно не повторяющимися на реале где нет оптимизации!
          • Laukar
            06 июля 2022, 18:48
            CloseToAlgoTrading, с этой оптимизацией не так что это тупо подгонка под историю. Надо оставлять несколько лет форвард теста — без оптимизации… По ним смотреть как оно работает без оптимизации, это будет ближе к реальным результатам и по этим годам можно делать выводы, а не по времени под которое велась оптимизация. Что тут непонятного?
      • matroskin
        07 июля 2022, 14:16
        CloseToAlgoTrading, а на нашем рыночке тестипровали? Вроде как у нас варианты моментума работают не хуже, если не лучше.Интересно было бы узнать результаты тестов на ММВБ.Если конечно проводили.
        ВОобще интересные вариации обыгрывания моментума)
          • matroskin
            07 июля 2022, 15:09
            CloseToAlgoTrading, хм… ну в свете последних событий, может и к счастью)))Спасибо за исследование!
              • matroskin
                07 июля 2022, 17:08
                CloseToAlgoTrading, я пока что с питоном на уровне того что змея такая есть)))
                Шучу)Но пробел у меня тут серьезный, как раз в планах его устранить.Я по старинке лапками тестирую((
  • Evgeny Baranov
    10 июля 2022, 16:13
    Модификацию foolish four тут вижу я. Стратегия считается невалидной на данный момент.

    P.S. почему бы просто не покупать s&p500?
      • Evgeny Baranov
        11 июля 2022, 17:39
        CloseToAlgoTrading, может опережаеть индекс в любом направлении, стоит упомянуть ) но это тоже не точно.
  • ves2010
    19 марта 2023, 21:59
    судя по экспоненте тест был с рефинансированием… надо тестить на постоянной сумме… тогда можно сравнивать с индексом… успехов

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

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