Продолжаем погружение в алготрейдинг…
Как получить исторические котировки в автоматическом режиме — рассказал в предыдущем посте. Теперь переходим к самому интересному — поиску закономерностей, которые могут дать статистическое преимущество в торговле.
Да, можно считать всё это в Excel, но это как рассматривать тычинки и пестики через линзу Левенгука, когда у нас под рукой электронный микроскоп. Позже покажу, что в Excel просто невозможно реализовать то, что в Python делается щелчком пальцев.
Что делать, если не программируешь? Тогда в помощь — разновидность ChatGPT. Главное — правильно сформулировать задачу, то есть написать качественный промпт. Конечно грамотно сформулировать задачу - это нетривиальная задача, нужно понимать чего мы хотим и видеть подводные камни
Советую заглянуть на
https://grok.com/ (не реклама). На мой взгляд, он пишет интереснее, чем ChatGPT. Пишем ему примерно так:
«Напиши код на Python для поиска закономерностей, которые дают статистическое преимущество при торговле акциями на российском фондовом рынке».
Дальше оформляем инструкцию: где лежат исторические котировки, как называются столбцы, что в них содержится и т.д. Просим Grok также:
написать функцию для построения сводной таблицы,
сделать график equity, который покажет, как бы мы зарабатывали, следуя найденным закономерностям.
В ответ он выдаст простыню кода. Копируем её и вставляем в PyCharm, Jupyter или любой другой интерпретатор. Установить python + pycharm/jupyter придется самостоятельно. Конечно мы можем подождать пока Grok не приделают ручки, и он сможет не только помогать вам на словах, но и делать необходимые действия на компьютере за вас (я думаю это перспектива уже самого ближайшего времени), но кто ждать не хочет, тому придётся пока этот этап работы сделать самостоятельно, благо не сказать что это требует каких-то семи пядей во лбу.
Как писал выше, критически важно здесь написать хороший промпт (инструкцию). Grok это что-то вроде существа с интеллектом подростка (хотя сейчас наверное можно говорить об интеллекте двадцатипятилетнего человека), но всезнайки. То есть он как бы знает всё, но если вы корректно не сформулируете задачу он начнёт путаться, писать чепуху, и в конечном счёте сядет в лужу и вас усадит рядом.
Откуда брать идеи для тестирования? Можно попросить Grok (с фантазией у него всё в порядке), можно порыскать по форумам, в конце концов вы можете протестировать собственные идеи, если они у вас есть. Grok автоматом предложил стратегию покупки фишка выросшей на 1%, откуда он это взял бог его знает, но не суть, пока мы осваиваем архитектуру, которая позволит нам дописывать какие то новые и новые правила, а на выходе получать оценку. Показатели эффективности стратегии - это большая тема, пока что ограничимся получением графика эквити и сводной табличку с данными о средней прибыльности на сделку, количестве сделок итд
На график можете полюбоваться ниже. Чёрным на нем — стратегия buy & hold. Остальное — результат применения стратегии к разным фишкам. Замечу: Grok написал код быстро и неплохо — заняло меньше минуты.
Дальше пожно попробовать улучшить с помощью фильтрация ( комбинаторика на коленках):
применяем стратегию только в определённые дни недели,
фильтруем по объёму,
по скользящей средней и т.п.
Здесь и пригодится сводная таблица. Применив фильтр, получаем, например, 507 сделок со средней прибылью 0.27 на сделку.
А давайте проверим, насколько равномерно шла прибыль по месяцам? Одна строчка кода — и всё видно.
Поначалу советую все результаты перепроверять в Excel — он хорош для «пощупать руками». Возможны ошибки, утечки, подглядывания и т.п.
Конечно я показал только начало, саму идею, до подводных камней я даже не дошел, но «ищите и обрящете».
Планирую открыть рубрику «Разрушители мифов», где вместе с Grok будем тестировать идеи с Пульса. Пару "гуру" уже присмотрел. Дальше будет интереснее 😉
#алготрейдинг #chatgpt #python #тестирование