Мальчик buybuy
Мальчик buybuy личный блог
05 ноября 2024, 21:58

Deep learning и прогноз рыночных цен

Добрый вечер, коллеги!

Сам то я всегда скептически относился к AI, но один резидент СЛ (один из 3.5 человек, которые внимательно читают мои посты), а именно — уважаемый SergeyJu  — убедил меня в необходимости более глубокого изучения Machine Learning.
Тут все просто на самом деле — при построении общей теории заработка на рынке я предложил считать все индикаторы ТС полиномиальными (благо, теория это позволяет при достаточно  высокой степени используемых полиномов).
Напротив, SergeyJu законно возразил мне, что классические индикаторы ТА, кроме операций сложения, умножения и деления, также успешно используют функции min и max. И это разумно.

Далее, вместо функций min и max (элементарное рассуждение) можно использовать их аналоги — abs, sign, функцию Хевисайда и любые другие пороговые функции.
Простое рассуждение показывает что, поскольку от индикатора торговой системы нам требуется только знак (про MM мы пока не рассуждаем), то операцию деления можно опустить и ограничиться сложением, вычитанием, умножением, min и max.
Еще более простое рассуждение показывает, что 2 функции min и max можно заменить на 1 функцию — sign.

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

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

С ЭТОГО МОМЕНТА НАЧИНАЕТСЯ ИЗЛОЖЕНИЕ СУТИ ПОСТА.

В рамках обозначенной выше системы терминов задача оптимального приближения знака будущего приращения цены актива знаком «обобщенного полинома» в точности соответствует задаче обучения нейронной сети с каким-то количеством скрытых уровней и пороговой функцией sign. Ну т.е. (для лохов) библиотеки на Python давно умеют делать нечто похожее (нюансы обозначены ниже).

Я пока ограничился простейшей задачей — нейронная сеть без единого скрытого слоя — только вход и выход.

Каноническую задачу максимизации выражения, составленного из плюсов, минусов, умножений и sign не умеет решать никто (кроме меня, наверное).

Поэтому в Deep Learning функцию sign заменяют на tanh, а после этого решают новую задачу оптимизации методом градиентного спуска (Ньютона, методом сопряженных градиентов… — нужное подчеркнуть).

ПРЕДВАРИТЕЛЬНОЕ РЕЗЮМЕ.

Я сравнил на длинных рядах приращений цен (1000000+ минутных баров) результаты, полученные оптимизацией гладкой задачи Deep Learning, со своими результатами получения субоптимальных решений для негладкой задачи.

Если вкратце:
1. Доступный в массе библиотек классический для DL подход выдает чушь
2. Решения негладкой задачи оптимизации кроют варианты решений DL как бык — овцу

ВЫВОДЫ:
Либо методы Deep Learning плохо подходят для решения задачи предсказания знака будущего приращения цены
Либо модная в Deep Learning замена негладкой функции sign гладкой функцией tanh приводит к решению совсем другой задачи

Я понимаю, что столь серьезные обвинения требуют доказательств, так что выложу их чуть позже
После их рассмотрения мы (надеюсь) перейдем к соревнованию с нейронками с одним скрытым слоем
Потом с двумя...
Потом с любым количеством скрытых слоев...

С уважением

36 Комментариев
  • Head of Algonaft'$
    05 ноября 2024, 22:05
    не работает ваш ТА ни боком ни раком) и качество нейронок здесь не причем. Вам бы DataSet бы по началу написать… а как поймете, что его (дата сет) не написать из данных из инета, то и ИИ ваш можно в топку)))
  • Head of Algonaft'$
    05 ноября 2024, 22:03
    А вы архитектуру юзаете, при этом не понимаете, что хотите получить на выходе, т.к. на входе хрен пойми что даете (то же походу не понимаете) Ваш извращенный ТА — это бред. Так можно всю математику скормить… ответ-то какой хотите получить на выходе?!
      • Head of Algonaft'$
        05 ноября 2024, 22:40
        Мальчик buybuy, ну тогда какая/кой же это ИИ?! ИИ — это нужный ответ на выходе при правильно поставленном вопросе! Тогда вы не ии занимаетесь) а просто другим подходом к математике)))) Какой вы ответ хотите получить от ваших манипуляций? Есть конкретный ответ на ваши действия… то-то же)))
          • Head of Algonaft'$
            05 ноября 2024, 22:51
            Мальчик buybuy, После их рассмотрения мы (надеюсь) перейдем к соревнованию с нейронками с одним скрытым слоем

            я подключусь к соревнованиям (топик же про ИИ, не?!) когда вам все надоест и вы захотите спросить, что вы делаете/делали не так. Я попробую еще раз вам объяснить, что вы потратили свое время на ИИ… мы же об ИИ говорим, да?! так вот: я вам скажу, что не работает ИИ на рынке ценных бумаг и/или деривативов и почему)))
            Вы не обижайтесь))) я прошел этот путь еще в 19… пройдете и вы. Вы то же догадаетесь) я в это верю.
          • Beach Bunny
            05 ноября 2024, 23:36
            Мальчик buybuy, для простых нейронок уже все попробовали
            -> smart-lab.ru/blog/1064919.php#comment17339662
            Там всего 8нейронов, 5входящих, 2скрытый слой и 1выходной.
            Функция активации SigMoid.
            Суть нейронки генерировать предсказание на основе 5 индикаторов.
            — Работает —
            Вот так на часовиках Si



          • Beach Bunny
            05 ноября 2024, 23:40
            Мальчик buybuy, а вот так на 5мин Si c той же сеткой, но чуть улучшив торговых алгоритм(когда торгуем, когда не торгуем и т.п. — простые доп правила) 
            Это Wealth-Lab 6.4 .


  • BobbyKotick
    05 ноября 2024, 22:18
    Херня этот ваш диплернинг, дорогие хфтшники. Мне так Мальчик Буйбуй сказал.
  • Beach Bunny
    05 ноября 2024, 22:21
    Напиши когда протестируешь на нейронке с 7млрд параметров, тогда посмотрим.
      • Beach Bunny
        05 ноября 2024, 22:28
        Мальчик buybuy, хотя бы затем что у LLM моделей началось что-то путное получаться после 1млрд параметров.
        • Head of Algonaft'$
          05 ноября 2024, 22:42
          Beach Bunny, +++ яросно плюсую. Но о5 же) что бы загнать такие параметры и/или заставить нужную архитектуру прелопатить эту кучу… надо правильно задать вопрос (задать датасет) и правильно поставить желанный ответ!
  • Translator
    05 ноября 2024, 22:23
    Вот пара конкретных статей, каждая из которых является лишь частью циклов публикаций их авторов по теме:

    Модифицированный советник Grid-Hedge в MQL5 (Часть IV): Оптимизация простой сеточной стратегии (I)

    Нейросети в трейдинге: Адаптивное представление графов (NAFS)
      • Translator
        05 ноября 2024, 22:35
        Мальчик buybuy, Могу ошибаться, но раньше там за статью платили несколько тысяч долларов.
        Но дело не в этом. Там люди конкретно годами работают по теме.
        В обеих статьях и формулы, и уравнения, и коды рабочих программ.
          • Translator
            05 ноября 2024, 22:39
            Мальчик buybuy, В любом случае, в статьях всё очень конкретно и по теме.
  • Иван-дурак
    05 ноября 2024, 22:55
    Даже не знаю что сказать.  Как минимум их поста не ясно что вообще на вход подавалась что за архитектура использовалась, как тренировалась.   
      • SergeyJu
        06 ноября 2024, 16:12
        Мальчик buybuy, а если чуть ближе к практике, 3 сигнала: купить, продать, не менять позицию? 
          • SergeyJu
            06 ноября 2024, 18:05
            Мальчик buybuy, если бы у нас позиция была бы +1 0 -1, то да, суперпозиция. Но искать оптимум портфеля не то же самое, что оптимум одной реверсивной системы. Они должны же чем-то различаться. 
            Но я имел в виду вариант +1, -1, «как до этого». Это вообще-то одна система, но с  с памятью. 
              • SergeyJu
                06 ноября 2024, 18:23
                Мальчик buybuy, 
                1. Общие генетические черты, это как? Допустим, Вы выделили однопараметрическое семейство систем и среди его представителей ищете наилучший портфель из 2 систем. Это понятно, но, строго говоря, другая задача, чем исходная у Вас. 
                2. Тут все просто. Приведу пример. Предположим у меня есть неплохая система, которая плодит слишком много сделок и транзакционные потери меня огорчают. Я добавляю к ней фильтр, который говорит, когда надо изменить позицию в соответствии с системой, а когда пропустить сигнал и оставить позу без изменения. 
                Чисто теоретически можно предположить, что в сетке будет построен блок, который будет учитывать издержки и сам проредит сигналы. На практике каскадный подход обычно проще. 
                  • SergeyJu
                    06 ноября 2024, 18:41
                    Мальчик buybuy, никогда не решал задачу максимизации прибыли на сделку. Я пробовал решать задачу максимизации отношения суммарной прибыли к суммарным убыткам (с учетом издержек, понятно), но эта метрика мне не понравилась. По мне, лучше доху к риску максимизировать. 
                      • SergeyJu
                        06 ноября 2024, 19:21
                        Мальчик buybuy, я считаю риск в отношении по шарпу, по сортино и по индексу язвы (по сути — ско дроудауна). Худший по результатам Шарп, но разница не принципиальна. Конечно, все расчеты с уже учтенными издержками. И, конечно, не аналитика, а честная вычислительная оптимизация. 
  • Вася Пражкин
    06 ноября 2024, 00:01
    Я пока ограничился простейшей задачей — нейронная сеть без единого скрытого слоя — только вход и выход.
    Ну это Вы даже не потрогали, а прикоснулись к Deep Learning. Там вся суть в двух вещах — архитектуре нейросети и правильно подобранному датасету на очень-очень много параметров и данных.
    • kot6ra
      06 ноября 2024, 06:50
      Вася Пражкин, просто и со вкусом) 
  • Eth_algotrader
    08 ноября 2024, 17:12
    А зачем предсказывать знак будущего приращения цены, если намного проще предсказать величину этого приращения? Чем с успехом занимаются все прибыльные трендовые системы.

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

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