В этой статье я решил сравнить два популярных сервиса ChatGPT и Claude.ai и посмотреть, как они справляются с задачей поиска торговых неэффективностей на ноябрь 2024 года. Я оценил их функционал и удобство использования, чтобы выяснить, какой из них лучше подходит для анализа данных и разработки прибыльной торговой стратегии.

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

Я скачал минутные данные по BTCUSDT за 2024 год, которые составили примерно 25 МБ, и выгрузил их в CSV-файл.

В Гидре есть и своя аналитика, но дальше вы увидите насколько это всё отстало от возможностей ИИ, где не нужно даже писать код самому:

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

Подготовка данных

Получив минутные данные, я загрузил их в Python (код писал сам ИИ, я лишь печатал текстом что я от него требую) и начал с предобработки. Это включало назначение имен для каждого столбца и объединение даты и времени в единый столбец, чтобы упростить анализ временных рядов.

Пример структуры данных в CSV-файле:

Дата;Время;Открытие;Максимум;Минимум;Закрытие;Объем 2023-12-31;21:01:00;42613.1;42629.2;42610.1;42625.7;64.946

Поиск неэффективностей с помощью ИИ

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

  1. Кластеры волатильности — Часы с высокой волатильностью могли бы быть подходящими для импульсной стратегии.

  2. Склонность к возврату к среднему — В моменты отклонения цены от среднего уровня можно использовать стратегию возврата к среднему.

  3. Импульсные паттерны — В определенные часы наблюдалось устойчивое движение цены, что могло быть сигналом для трендовой стратегии.

Разработка стратегии

На основе предложений ИИ я выбрал для тестирования две стратегии:

  1. Возврат к среднему (Mean Reversion): Открытие короткой позиции при сильном отклонении цены вверх от среднего значения и длинной — при отклонении вниз. Закрытие позиции — при возврате цены к среднему.

  2. Импульсная стратегия (Momentum): Открытие позиции в направлении тренда в моменты повышенной волатильности. Если доходность положительна и выше порога, позиция открывается на покупку, а если отрицательна и ниже порога — на продажу.

Для каждой стратегии были заданы базовые правила входа и выхода, а также стоп-лоссы для управления рисками.

Бэктестинг стратегий

С помощью ChatGPT я смог также выполнить бэктест обеих стратегий, чтобы увидеть, как они бы сработали на исторических данных. Результаты тестирования показали кривую доходности для стратегии возврата к среднему (см. график ниже).

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

Claude.ai

В процессе работы я также попытался использовать Claude Sonnet от Anthropic, который недавно анонсировал свой функционал анализа больших данных (подробнее здесь). Идея казалась многообещающей: загрузить файл размером 25 МБ, чтобы Claude мог помочь с анализом.

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

Хотя я люблю работать с Claude, надеюсь, что инженеры проекта доработают эту функцию и существенно расширят окно для загрузки данных. Это позволит более эффективно анализировать крупные файлы и открывать новые возможности для работы с большими объёмами информации.

Заключение

Использование ChatGPT позволило мне не просто провести анализ данных, но и задать вопросы ИИ о подходящих методах создания стратегии. Этот подход не только дал новые идеи, но и помог быстро протестировать гипотезы и получить рекомендации, которые могли бы остаться незамеченными при обычном подходе. Я прекрасно понимаю, что это всего лишь инструмент, и он не заменит анализ от человека. Но подход, при котором ИИ помогает искать идеи и параметры стратегии, открывает новые возможности для гибкой и адаптивной разработки торговых стратегий.

Комментарии (24)


  1. igumnov
    04.11.2024 09:06

    Примеры кода будут добавлены в статью? По стратегиям.


    1. junsanich Автор
      04.11.2024 09:06

      так в этом суть статьи. ИИ любой код для анализа и бэктеста генерирует, и выводит это как график. Смысл мне его скажем так не совсем качественный код сюда выкладывать? Код аховый, но суть в другом - не нужно на него смотреть совсем. Я для себя иногда переключался глянуть для просмотра что там под капотом. Этот код не для развития долгоиграющего.


  1. alche
    04.11.2024 09:06

    На КДПВ специально написано HARB вместо HABR? Или это галлюцинация ИИ?


    1. junsanich Автор
      04.11.2024 09:06

      Опечатался когда просил сгенерировать. Это так важно? )


      1. alche
        04.11.2024 09:06

        Не важно, конечно. Просто было интересно.


        1. junsanich Автор
          04.11.2024 09:06

          Картинки ИИ генерирует с грамматическими ошибками. Поэтому я решил в этот раз попробовать по другому - нарисовать картинку через код ) Потому что код пишет ИИ правильно. Конечно же, уровень картинки может быть уровня DOS в этом случае. Впрочем, я консольный и системный программист. А область квант анализа и алготрейдинга преполагает минимальный уровень графики и цветастости. Чтобы все работало быстро, стабильно, и понятно.

          И да, получилось очень ретроспективно.


  1. invbox
    04.11.2024 09:06

    Норм замена ТрейдингВью


  1. nikolz
    04.11.2024 09:06

    1. Возврат к среднему (Mean Reversion): Открытие короткой позиции при сильном отклонении цены вверх от среднего значения и длинной — при отклонении вниз. Закрытие позиции — при возврате цены к среднему.

    Это называется "играть против рынка" Так играют маркет-мейкеры, потому , что им за это платит биржа. Для простого смертного это называется "писать против ветра" Результат обычно тот- же.

    Спросите у GPT, почему на истории всегда можно сделать выигрышную стратегию. Но в реальном времени эта стратегия с вероятностью 0.99 будет убыточной.

    Дам подсказку. Когда Вы делаете стратегию на истории, то совершаете свои виртуальные сделки на ценах сделок, которые состоялись на момент Ваших сделок. Это называется "заглядывание в будущее".

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


    1. junsanich Автор
      04.11.2024 09:06

      Так речь не про то, как найти грааль )) Статья несколько о другом - как упростить поиск, анализ и кодирование.

      Самый ценный ресурс - это время.


    1. Devastor87
      04.11.2024 09:06

      Когда Вы делаете стратегию на истории, то совершаете свои виртуальные сделки на ценах сделок, которые состоялись на момент Ваших сделок. Это называется "заглядывание в будущее".

      Это разрешается очень просто: при создании стратегии нужно брать не текущую свечу, а предыдущую


      1. junsanich Автор
        04.11.2024 09:06

        Или же вход-выход делать на клозе, не?


        1. vl12
          04.11.2024 09:06

          Бэктестеры работают по свечам, обычно исп.цену закрытия пред.свечи. Поэтому закрывать/открывать сделки они будут на след. свече от той где был торговый сигнал (напр. пересечение MA как в этой ТС). Напр., свеча может быть высотой 1%, пробьет MA нафиг, а позиция закрывается на след. крохотной свече. Результаты не объективные, но позволяют оценить стратегию в общем. Поэтому бектестинг скальперских ТС ограничен размером свечей. А для среднесрочных ТС надо использовать 1/5мин свечи.


          1. invbox
            04.11.2024 09:06

            Автор использовал минутки. Я поэтому и спросил ниже а возможность грузить большой объем. Секунды уже не потянет чат думаю.


            1. junsanich Автор
              04.11.2024 09:06

              я даже минутки на час думаю заменить. Минутки для ИИ пока что несерьезно. Он будет отбрасывать данные, основывая на своем видении экономии на ответе.


              1. vl12
                04.11.2024 09:06

                Я бы не советовал рассматривать ТС на часовках. Если речь о фьючерсах, это удержание позиций многие дни, при среднесроке - до месяца. Психологически будет давить, ПК надо будет не выключать сутками, и платить комиссию бирже за удержание позиции. А заработок тот же что на внутридневке с большим объемом. Поэтому только внутредневка.


                1. junsanich Автор
                  04.11.2024 09:06

                  У крипты круглосуточная торговля. Это на фонде у фьючей есть сессия, и есть психологический эффект окончания торгов. Народ начинает лихорадно закрывать позы, чтобы их не переносить, и перед закрытием вола растет. Как и утром. А у крипты вола растет только на новостях. Поэтому я думаю там нет прям такого сильного разделения между минутками и часовиками. Хотя... можно ж проверить гипотезу ) Прогнать и так и эдак через чат ))