Поиск торговой идеи с помощью ChatGPT и Claude: от данных до бэктеста
Разработка прибыльной торговой стратегии — задача, которая требует тщательного анализа данных и понимания рыночных закономерностей. Чтобы упростить сбор данных, я воспользовался Гидрой — это, пожалуй, лучший бесплатный инструмент для загрузки рыночных данных.
Я скачал минутные данные по 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 позволило мне не просто провести анализ данных, но и задать вопросы ИИ о подходящих методах создания стратегии. Этот подход не только дал новые идеи, но и помог быстро протестировать гипотезы и получить рекомендации, которые могли бы остаться незамеченными при обычном подходе. Я прекрасно понимаю, что это всего лишь инструмент, и он не заменит анализ от человека. Но подход, при котором ИИ помогает искать идеи и параметры стратегии, открывает новые возможности для гибкой и адаптивной разработки торговых стратегий.