Илья Т.
Илья Т. личный блог
14 мая 2021, 21:47

Градиентный бустинг с годовой перспективой ч.2

Неделю назад, я рассказал о своих попытках применить градиентный бустинг к выбору акций на годовую перспективу.
Тогда, в комментариях мне рассказали много всего полезного, но основные замечания над которыми я работал в течении недели были:
1. Бэктест был проведен всего на 3-х годах (что было обусловлено небольшим обучающим набором)
2. Граница принятия решения 1.01 обеспечивала «заглядывание в будущее» из-за того что использовала прошлогоднюю отчетность.
Я сместил границу принятия решения на апрель и расширил тренировочный датасет (и ещё провел кучу мелких улучшений, например вместо RMSE перешел на квантильную функцию потерь, что оказалось очень уместно). К сожалению, расширение тренировочного датасета ни на грамм не снизило ошибку при обучении на 20 годах, но теперь при уменьшении количества лет, качество страдает значительно меньше, что в свою очередь позволило мне провести бэктест на 7 годах (хотя в качестве 2014-го я сильно сомневаюсь).
С выборкой в 7 наблюдений, уже можно (зажмурившись) попытаться оценить статистическую доствоерность гипотезы о том что моя модель дает лучшие результаты чем S&P500 по итогам года. У меня получилось p-value ~ 0.03 (парный стьюдент-тест), что вроде-бы хорошо, но я что-то в этом сильно сомневаюсь и буду ещё перепроверять.
Я создал тестовый портфель из акций, рекомендованных моделью на 21-22ее годы (там ещё INTU должно было быть, но я его здесь не нашел) — будем наблюдать.
Графики бэктестов (S&P500 — красная, модель- синяя):
Градиентный бустинг с годовой перспективой ч.2
Градиентный бустинг с годовой перспективой ч.2
Градиентный бустинг с годовой перспективой ч.2
Градиентный бустинг с годовой перспективой ч.2
Градиентный бустинг с годовой перспективой ч.2
Градиентный бустинг с годовой перспективой ч.2
Градиентный бустинг с годовой перспективой ч.2
26 Комментариев
  • Михаил
    14 мая 2021, 22:03
    К 7 заведомо не нормальным величинам применять Стьюдента имхо не очень. Мне кажется нужно копать в сторону большего числа точек. Отчетность выходит раз в квартал, почему бы не принимать решения раз в квартала на основе отчетности за предыдущий квартал. У вас уже будет 28 точек. Я бы к ним какой-нибудь непараметрический тест применил (Манна — Уитни или Уилкоксона).
      • Михаил
        15 мая 2021, 06:22
        Илья Т., доходность ограничена снизу -100% и не ограничена сверху — если выбирать среди простых распределений, то скорее логнормальная или логарифм распределен нормально. Но про доходности давно известней факт, что хвосты очень тяжелые. Обычно логарифм неплохо приближается или t-распределением с малым числом степеней свободы (3-6) или смесью двух нормальных (с малой дисперсией и большим весом и большой дисперсией и малым весом).
  • 3Qu
    14 мая 2021, 23:06
    Почитал пред топик. Понравился.
    Думаю, основная мысль:
    Мне 42 года и большую часть из них я в сказки не верю, поэтому думаю что это выглядит слишком хорошо чтобы быть правдой. Если бы в природе существовали такие фичи, которые давали бы прибыль больше чем рандом, то наверное человечество бы их заметило и учло раньше меня
    Вы знаете как я могу нейросети готовить? И не только нейросети.) Не оторвешься.
    Давал обучалки другим, проверяли своими методами — тоже все отлично.
    Одна беда, в реальности все это не работает.
    ЗЫ Кстати, мартышка Долли который раз превосходит по эффективности лучшие инвест фонды. Ни о чем не говорит?
      • 3Qu
        15 мая 2021, 15:23
        Илья Т., 
        нет. расскажите.  Keras или PyTorch?
        PyTorch почти не знаю, не работал. В основном scikit-learn и TensorFlow.
        Результаты вот такие, например:

        Это прогноз изменения котировок на 5 мин. По х — прогноз, по Y — реальное изменение. Мы видим, что при прогнозе >1.5 и <-1.5 прогноз оч неплох. Ну, а прогноз в окрестностях нуля нас и не оч интересует.
        Понятно, что все цифры нормированы, и к реал рыночным значениям их надо пересчитывать.
        Почему разброс по y, думаю понятно, там сигмоиды по входам НС.
        Как Вы относитесь к мнению, что NN больше подходят для однородных данных (CV, распознавание речи итп),  для табличинных данных лучше использовать «деревянные» алгоритмы?

        Честно, так, абстрактно, не знаю. Это конкретно надо смотреть.

        Говорит, но это прямо отдельным постом надо писать. В целом ничего удивительного.
        Напишите про мартышку Долли. Интересно ваше мнение.
  • Гуру Хренов
    15 мая 2021, 00:53
    почему машинное обучение работает хорошо на исторических данных, но отказывается работать на реальных данных — это самая большая загадка искусственного интеллекта
    • 3Qu
      15 мая 2021, 02:23
      Гуру Хренов, вопросом на вопрос.
      Почему статистика брокеров по выигрышам/проигрышам клиентов оч хорошо совпадает с аналогичной статистикой выигрышей/проигрышей на случайном блуждании? Упрощенно говоря, как если бы трейдеры играли в рулетку на красное/черное.
    • SergeyJu
      15 мая 2021, 10:14
      Гуру Хренов, потому что стандартный ИИ настроен на совсем другие задачи. 
      У нас два особых фактора, нестационарность и высокий уровень шума. 
      • MadQuant
        15 мая 2021, 10:30
        SergeyJu, с нестационарностью можно бороться и до определенной степени делать предсказываемые величины гомогенными (силами того же машинного обучения). Имхо главная проблема для применения ИИ в торговле — катастрофически малый объем данных. Т.е. формально-то он большой, но все коррелировано, зависит в моменте от малого количества факторов. Поэтому обучаться полноценно не получается.
  • П М
    15 мая 2021, 04:36
    Для чистоты стоит сделать портфель НЕ рекомендованных акций и сравнить итоги потом
      • П М
        16 мая 2021, 10:55
        Илья Т., не совсем так. я имел в виду, не помню как это правильно называется, нулевая гипотеза? 
        если есть список из 100 акций, который рассматривает ваша система, и она выбирает из него 30, то вы смотрите за этими 30.
        но ведь интересно же, И как поведут себя остальные 70?
  • Skifan
    15 мая 2021, 08:46
    такая интересная статья, ее начинаешь читать, и просто видно нарушение последовательности мысли,
    надоели  
      • Skifan
        15 мая 2021, 17:22
        Илья Т., 
        я не лучше и не хуже 
        Граница принятия решения 1.01 обеспечивала «заглядывание в будущее» из-за того что использовала прошлогоднюю отчетность. 
        расширение тренировочного датасета ни на грамм не снизило ошибку при обучении на 20 годах, но теперь при уменьшении количества лет, качество страдает значительно меньше, что в свою очередь позволило мне провести бэктест на 7 годах 

        ни че не замечаешь? 
        нарушение связей, все скачками. Когда с психически больными общаешься, вот у них похожая «логика»
          • Skifan
            15 мая 2021, 18:43
            Илья Т., вот теперь я вижу грамотного человека и это радует ))) 
            грубо говоря прогнозирование рынка на основе старой волы 

            Линду Рашки читали ??  если нет, советую, много моделей описано,
            проблема всех этих моделей, что работают определенный период времени на определенных активах, каждые 3-4 года рынок меняется и бывает очень круто меняется. 
            Удачи ) 
  • MadQuant
    15 мая 2021, 09:49
    На p-value 0.03 как-то не похоже, но теперь этим результатам можно доверять по крайней мере, и видно, что зарабатываете +- индекс.
    Не пробовали подход с квантильными Лонг-шорт портфелями, про который я писал в прошлый раз? Так хотя бы было видно, может ли ваша модель отделить виннеров от лузеров.
    • Kot_Begemot
      16 мая 2021, 16:50
      MadQuant, можете описать смысл квантильного подхода, что он нам дает?
  • ves2010
    15 мая 2021, 12:05
    когда моделирую портфели… то у меня критерий крайне простой...

    мой портфель должен вдвое втрое обгонять, но не индекс сипи, а портфель из самих же акций...
    ну т.е например… изначально делаем выбор из 50ти акций… выбираем 10 луших… и должный обгонять в 2-3раз портфель в котором у каждой из 50этих акций 1/50...

    а сравнивать сипи это тупик...

    как пример… сравнения портфеля




     
      • ves2010
        15 мая 2021, 21:14
        Илья Т., сипи переиграть на бычьем тренде крайне легко
        Просто выбираешь акции с высокой беттой…

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

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