В этой статье я решил сравнить два популярных сервиса 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 предложил несколько подходов:
Кластеры волатильности — Часы с высокой волатильностью могли бы быть подходящими для импульсной стратегии.
Склонность к возврату к среднему — В моменты отклонения цены от среднего уровня можно использовать стратегию возврата к среднему.
Импульсные паттерны — В определенные часы наблюдалось устойчивое движение цены, что могло быть сигналом для трендовой стратегии.
Разработка стратегии
На основе предложений ИИ я выбрал для тестирования две стратегии:
Возврат к среднему (Mean Reversion): Открытие короткой позиции при сильном отклонении цены вверх от среднего значения и длинной — при отклонении вниз. Закрытие позиции — при возврате цены к среднему.
Импульсная стратегия (Momentum): Открытие позиции в направлении тренда в моменты повышенной волатильности. Если доходность положительна и выше порога, позиция открывается на покупку, а если отрицательна и ниже порога — на продажу.
Для каждой стратегии были заданы базовые правила входа и выхода, а также стоп-лоссы для управления рисками.
Бэктестинг стратегий
С помощью ChatGPT я смог также выполнить бэктест обеих стратегий, чтобы увидеть, как они бы сработали на исторических данных. Результаты тестирования показали кривую доходности для стратегии возврата к среднему (см. график ниже).
График показывает, как могла бы изменяться капитализация портфеля при следовании стратегии. Можно заметить, что стратегия демонстрировала стабильный рост в определенные периоды, однако также встречались моменты просадок. Это подтверждает важность настройки параметров и использования управления рисками.
Claude.ai
В процессе работы я также попытался использовать Claude Sonnet от Anthropic, который недавно анонсировал свой функционал анализа больших данных (подробнее здесь). Идея казалась многообещающей: загрузить файл размером 25 МБ, чтобы Claude мог помочь с анализом.
Однако я столкнулся с рядом трудностей. К сожалению, функция оказалась сырой и недоработанной — мой файл даже не загружался. В итоге я порезал его на мелкие части, но из-за предыдущих ошибок быстро достиг лимита запросов. Всё, что мне удалось получить, — это ошибка при попытке построения графика.
Хотя я люблю работать с Claude, надеюсь, что инженеры проекта доработают эту функцию и существенно расширят окно для загрузки данных. Это позволит более эффективно анализировать крупные файлы и открывать новые возможности для работы с большими объёмами информации.
Заключение
Использование ChatGPT позволило мне не просто провести анализ данных, но и задать вопросы ИИ о подходящих методах создания стратегии. Этот подход не только дал новые идеи, но и помог быстро протестировать гипотезы и получить рекомендации, которые могли бы остаться незамеченными при обычном подходе. Я прекрасно понимаю, что это всего лишь инструмент, и он не заменит анализ от человека. Но подход, при котором ИИ помогает искать идеи и параметры стратегии, открывает новые возможности для гибкой и адаптивной разработки торговых стратегий.
Комментарии (24)
alche
04.11.2024 09:06На КДПВ специально написано HARB вместо HABR? Или это галлюцинация ИИ?
junsanich Автор
04.11.2024 09:06Опечатался когда просил сгенерировать. Это так важно? )
alche
04.11.2024 09:06Не важно, конечно. Просто было интересно.
junsanich Автор
04.11.2024 09:06Картинки ИИ генерирует с грамматическими ошибками. Поэтому я решил в этот раз попробовать по другому - нарисовать картинку через код ) Потому что код пишет ИИ правильно. Конечно же, уровень картинки может быть уровня DOS в этом случае. Впрочем, я консольный и системный программист. А область квант анализа и алготрейдинга преполагает минимальный уровень графики и цветастости. Чтобы все работало быстро, стабильно, и понятно.
И да, получилось очень ретроспективно.
nikolz
04.11.2024 09:06Возврат к среднему (Mean Reversion): Открытие короткой позиции при сильном отклонении цены вверх от среднего значения и длинной — при отклонении вниз. Закрытие позиции — при возврате цены к среднему.
Это называется "играть против рынка" Так играют маркет-мейкеры, потому , что им за это платит биржа. Для простого смертного это называется "писать против ветра" Результат обычно тот- же.
Спросите у GPT, почему на истории всегда можно сделать выигрышную стратегию. Но в реальном времени эта стратегия с вероятностью 0.99 будет убыточной.
Дам подсказку. Когда Вы делаете стратегию на истории, то совершаете свои виртуальные сделки на ценах сделок, которые состоялись на момент Ваших сделок. Это называется "заглядывание в будущее".
Все, что Вам сказал GPT написано в букварях для начинающих по торговле на фондовом и валютном рынках.
junsanich Автор
04.11.2024 09:06Так речь не про то, как найти грааль )) Статья несколько о другом - как упростить поиск, анализ и кодирование.
Самый ценный ресурс - это время.
Devastor87
04.11.2024 09:06Когда Вы делаете стратегию на истории, то совершаете свои виртуальные сделки на ценах сделок, которые состоялись на момент Ваших сделок. Это называется "заглядывание в будущее".
Это разрешается очень просто: при создании стратегии нужно брать не текущую свечу, а предыдущую
junsanich Автор
04.11.2024 09:06Или же вход-выход делать на клозе, не?
vl12
04.11.2024 09:06Бэктестеры работают по свечам, обычно исп.цену закрытия пред.свечи. Поэтому закрывать/открывать сделки они будут на след. свече от той где был торговый сигнал (напр. пересечение MA как в этой ТС). Напр., свеча может быть высотой 1%, пробьет MA нафиг, а позиция закрывается на след. крохотной свече. Результаты не объективные, но позволяют оценить стратегию в общем. Поэтому бектестинг скальперских ТС ограничен размером свечей. А для среднесрочных ТС надо использовать 1/5мин свечи.
invbox
04.11.2024 09:06Автор использовал минутки. Я поэтому и спросил ниже а возможность грузить большой объем. Секунды уже не потянет чат думаю.
junsanich Автор
04.11.2024 09:06я даже минутки на час думаю заменить. Минутки для ИИ пока что несерьезно. Он будет отбрасывать данные, основывая на своем видении экономии на ответе.
vl12
04.11.2024 09:06Я бы не советовал рассматривать ТС на часовках. Если речь о фьючерсах, это удержание позиций многие дни, при среднесроке - до месяца. Психологически будет давить, ПК надо будет не выключать сутками, и платить комиссию бирже за удержание позиции. А заработок тот же что на внутридневке с большим объемом. Поэтому только внутредневка.
junsanich Автор
04.11.2024 09:06У крипты круглосуточная торговля. Это на фонде у фьючей есть сессия, и есть психологический эффект окончания торгов. Народ начинает лихорадно закрывать позы, чтобы их не переносить, и перед закрытием вола растет. Как и утром. А у крипты вола растет только на новостях. Поэтому я думаю там нет прям такого сильного разделения между минутками и часовиками. Хотя... можно ж проверить гипотезу ) Прогнать и так и эдак через чат ))
igumnov
Примеры кода будут добавлены в статью? По стратегиям.
junsanich Автор
так в этом суть статьи. ИИ любой код для анализа и бэктеста генерирует, и выводит это как график. Смысл мне его скажем так не совсем качественный код сюда выкладывать? Код аховый, но суть в другом - не нужно на него смотреть совсем. Я для себя иногда переключался глянуть для просмотра что там под капотом. Этот код не для развития долгоиграющего.