Блог им. IgorK_23a

Начинающий алготрейдер -- снова ИИ и графики

    • 24 июля 2025, 11:34
    • |
    • IgorK
  • Еще
Разрабатываю с помощью ИИ (Github Copilot) свою бэктестинг-систему для алготрейдинга, smart-lab.ru/blog/1183171.php .

Прикрутил такую фишку. Отображаю список всех сделок. Их можно отсортировать по P&L; потом кликнуть, например, на самую убыточную или прибыльную — и она выделится на всех графиках. Можно поизучать в контексте, почему произошли эти убытки и прибыли.
Начинающий алготрейдер -- снова ИИ и графики

Начинающий алготрейдер -- снова ИИ и графики


Получилось круто. Есть ещё куча идей по поводу графиков: heatmap'ы из оптимизатора (или 3D поверхности, но их не очень люблю, трудно читаются), для парного трейдинга — статистика по коинтеграции и корреляции и т.д… С помощью ИИ всё это реализуется космически быстро.
844
26 комментариев
Вот найдете Вы выдающуюся куда-то сделку по причине начала СВО. И что дальше? 
avatar

SergeyJu, именно в таком случае ничего. :) Меня больше интересуют серии убыточных сделок — что там происходит? Расшатываются коэффициенты регрессии? Ломается возвращение к среднему у спреда? Вот это я хочу увидеть на графиках и понять; и дальше придумать индикатор, чтобы в случае такого расшатывания алгоритм вставал на паузу (или вообще прекращал работать с этой парой).

 

EDIT: То есть очевидно, что если идут убытки, то ломается коинтеграция, но по каким индикаторам это можно эффективно отследить? Статистики типа p-value в тесте ADF слишком инертны. Half-life лучше, но можно ли еще лучше?

EDIT2: Вполне возможно, что самым лучшим индикатором будет именно наличие ряда убыточных сделок подряд… (пошли убытки — останавливай).

avatar
Я думаю, пройдет чуть чуть времени,  и весь бэктест будет уже без кода. То что ты делаешь — это рудимент, и обнулится уже при тебе. Смотри историю как делали анализ стратегий прямо через ГПТ osaengine.ru/2024/11/02/%D0%B1%D1%8D%D0%BA%D1%82%D0%B5%D1%81%D1%82-%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D0%B8%D0%B8-ChatGPT-Claude.html

Просто трейдер, да, согласен, что при мне, но вряд ли в ближайшие 5-10 лет, так что я еще успею.

Я тесно работаю с ИИ каждый день, и хорошо представляю его недостатки. Например, он до сих пор ошибается в таких тривиальных арифметических задачах (chatGPT)

И вы готовы доверить такому аналитику данных?..

 

Да, это можно исправить, попросив его написать программу (например на питоне), и посчитать с помощью программы, но примерно то же я и делаю сейчас — прошу его писать куски программы, и собираю это в удобный для меня UI.

 

avatar
IgorK, 5-10 лет? ) Это хорошая шутка

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

На основе crowdsourcing пытаются привлекать живых людей для дальнейшего обучения (в интернете десятки таких проектов), но это малоэффективно.

Если не будет качественного прорыва в подходе к построению архитектуры модели, то существенного улучшения неоткуда ожидать.

avatar
IgorK, «ИИ уперся в потолок: грубо говоря, он изучил весь интернет, и ему не на чем больше учиться.»

это знаменитая байка. Еще с GPT 3.5 такое пишут. ИИ не обучается по интернету лишь — раз. ИИ умеет переанализировать данных по ранее изученному — два.

«Если не будет качественного прорыва в подходе к построению архитектуры модели, то существенного улучшения неоткуда ожидать.»

И прорыв есть, и даже это можно испробовать. Заплатите 200 долларов в месяц и вы поймете, насколько это сильно отстает от бесплатной версии 4o (кстати, почему 4o, там ведь 4.1 бесплатно).

Текущее ограничение — это ресурсоемность. А вовсе не развитие сложности модели.
Просто трейдер, хорошо, допустим, всё, что вы говорите верно. Тогда какие нам (программистам, трейдерам, и всем остальным) нужно делать выводы по поводу дальнейшей карьеры и жизни?

Ведь при таких допущениях заниматься трейдингом тоже бессмысленно. Рынок скоро станет максимально эффективным, поскольку AI найдет и устранит все неэффективности.
avatar
IgorK, вопросы какие-то уже филосовские пошли.

Вернемся к исходной точке. Вы создаете через ИИ программу. Цель какая? Анализ данных. Я как вариант написал расмотреть альтернативный подход. Дальше уже сами выбирайте.

Программу вам делать не быстро. Там еще конь не валялся судя по фичам. Это не ваша основная работа, как понимаю. Значит будете в свободное время по вечерам делать. Дальше простая калькуляция — и выйдет несколько месяцев для доведения чего-то нормального. За эти месяцы может и 4.2 и 4.5 и 5.0 выйти.

Я ж поддерживаю ваше начинание. Что ИИ помогает и развивается. Но что на полумерах то останавливаться. Пока что вы делаете — это попытка заменить ИИ. А зачем? Сами так хорошо начали — ИИ дополняет. Но важна же конечная цель, а не путь к её достижения. Достигаете ее вы через ИИ или без нее — не так уж и важно. А вот если вы сделаете что-то, что будет уже бесполезно когда доделаете — вот это уже значительно весомее вопрос и ответ.
Просто трейдер, 
Я как вариант написал расмотреть альтернативный подход. Дальше уже сами выбирайте.

А какой альтернативный подход? В той ссылке, что вы привели, автор генерировал код на питоне через ChatGPT. Автор сам выполнял этот код для своих данных и смотрел на результаты, попутно спрашивая у чата ГПТ, какие гипотезы еще можно проверить. Он не смог загрузить данные напрямую в LLM.

Я делаю то же самое, просто прикручиваю удобный UI, чтобы мне не нужно было код и данные копировать туда сюда между чатом ГПТ и моей средой разработки.

 

Я ж поддерживаю ваше начинание.

Спасибо.
avatar
IgorK, «просто прикручиваю удобный UI» я вам отвечу зачем вы этим занимаетесь. Ответ вам не понравится. Вы этим занимаетесь ровно по одной причине — не можете найти торговую идею. Когда программист не знает как еще искать идеи для трейдинга — он начинает писать удобные UI и прочие удобные библиотеки. Затем это выкладывает на GitHub, что-то еще поддерживает активностью несколько месяцев, пишет блоги, а затем всё успешно забы(-и)вается ) Еще придете к этому, жду лично для себя ссылку на ваш репозитарий.
Просто трейдер, я, наверно, просто плохо понял, что вы предлагаете. 

Вот что я пробовал неоднократно через чат ГПТ. 

Можно попросить его посоветовать стратегию для конкретного рынка или актива. Можно уточнить рыночные условия и другие детали. Он радостно предложит стратегию, ее реализацию на питоне или любом другом языке, даже предложит подгрузить исторические данные из Yahoo finance или еще откуда-нибудь.

И при прогонке этой стратегии она даже будет давать видимость хорошего результата.

Но проблема в том, что он не может предложить ничего оригинального. А все неоригинальное уже неэффективно. Прибыль рассыпается при учете издержек, спредов или еще каких-то деталей.
avatar
IgorK, «Можно попросить его посоветовать стратегию для конкретного рынка или актива» вы как программист просите его написать вам программу? Или спрашиваете совета какую программу написать? Нет же. Вы задаете конкретный узкий вопрос. Как сделать график. Как сделать хранение данных. И т.д. Так почему когда речь заходит про стратегии подход ломается? )

«Но проблема в том, что он не может предложить ничего оригинального.» потому что с ИИ как с любым человеком действует золотое правило. Правильно сформулированный вопрос — половина решения.

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

Знаете, вы правы. В том, что я могу существенно оптимизировать свой пайплайн по генерации и тестированию стратегий, оставив только связку Chat GPT и питон, и исключив свою C#-систему. Спасибо!
avatar
IgorK, попробуйте GPT за 200 долларов в месяц. Цена — копейки на фоне разработки того, что обнулится ИИ. Может уже сейчас от Питона можно отказаться в этой связке )

А как это прикручиваете в плане процесса? LLM видит код всего проекта и по этому при постановке задачи понимает контекст, понимает какие есть классы, куда прикручивать, какая сигнатура методов? Или или вы сами нарубаете на такие постановки задачи, где контекст в задаче отгружается — ну типа: сделать то-то, метод должен принимать то-то, отдавать то-то и т.д.?

 

И какой тул ипсользуете? Просто чат с LLM или какой-то специализированный тул для кодинга?

avatar

Replikant_mih, использую Github Copilot. Это плагин к Visual Studio и VS Code. В нем можно выбрать LLM модель: в бесплатной версии GPT-4o и Claude Sonnet 3.5, другие модели доступны в платных подписках. В ютубе много роликов про него.

Теоретически да, он видит весь проект, но практически гораздо лучшие результаты получаются, если в промпте явно указывать имена файлов, типа:

— В связке #BackEnd.cs и #FrontEnd.js не работает передача данных по сделкам, отображается пустой грид, поправь.


Задачи лучше всего рубить на как можно мелкие. Я пробовал давать сложные задачи в одном промпте, с описанием сразу всей фичи по пунктам — не справляется. Например, задачу подсветить сделку на графике, когда сделка выбрана в таблице, мне пришлось разбить на три или четыре промпта, типа такого:

— Подсвети строку в таблице по клику на неё
— Когда строка выбрана, сохрани данные по сделке в глобальной переменной
— Когда сделка выбрана, прочитай данные по сделке из глобальной переменной, нарисуй на всех графиках вертикальные линии trade.enter, trade.exit
— Закрась область между линиями: зеленым цветом, если trade.Profit >0, иначе красным цветом.

Одна из вещей, которая меня впечатлила: таблицы в базе и ORM классы в коде полностью создал он. Я описал, какие таблицы и поля мне нужны, он подключился к базе (через sqlcmd.exe), всё посоздавал сам, всё сделал правильно. (Я использую Dapper, легковесный ORM).

avatar
IgorK, Понял, спасибо. Как раз такой тип разработчиков, с которыми я не очень люблю работать)), которым нужно разжёвывать). Но эта штука работает сильно быстрее любого разработчика. Так что в целом всё равно в выигрыше, главное приноровиться к особенностям кодинга с LLM.
avatar
Replikant_mih, да, всё так. И нужен хороший опыт кодирования руками, и понимания структуры и взаимосвязей в проекте, а также, если хочется красивый структурированный код, знание архитектурных приемов и паттернов, чтобы подсказывать ему, как лучше реализовать.

В общем, он как джун-разработчик в подчинении: кодит быстро и неутомимо, но нужно постоянно направлять и контролировать, иначе проект рассыплется.
avatar
И еще один минус: безопасность.

На работе мне нельзя использовать copilot, потому что весь код через него уходит куда-то в облачную модель для анализа, и кто знает, что она с ним делает. Уже были новости, что с помощью хитрых промптов пользователи выуживали данные, на которых училась модель.
avatar

Читайте на SMART-LAB:
Фото
Роснефть: SDN санкции, низкие цены на нефть + маржа ушла в переработку - проходим дно цикла, но нужна девальвация, отчет за 3-й квартал 2025 года
Роснефть неделю назад отчиталась за 3-й квартал 2025 года, спад всех показателей год к году Думаю для вас это не сюрприз,...
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО "БРУСНИКА" подтвердил А-(RU) прогноз "Негативный", АО «МОНОПОЛИЯ» и ООО «КОНТРОЛ лизинг» присвоен статус "Под наблюдением")
🟢ПАО «Группа ЛСР» Эксперт РА подтвердил кредитный рейтинг на уровне ruA. ПАО «Группа ЛСР» — диверсифицированная крупная строительная...
Фото
Что общего у фиксированного купона и флоатера?
Правильно: это типы облигаций! Главные отличия собрали в карточках, а подробный гайд по выбору облигаций читайте в статье . #всенабиржу...

теги блога IgorK

....все тэги



UPDONW
Новый дизайн