Избранное трейдера Andrey
Всех приветствую!
Четвёртая статья из цикла про ИИ. Пора, собственно, подключать ИИ агента к работе. И будет это Kimi k2.7. В конце статьи, если наш читатель сможет уделить этому несколько часов, у Вас будет установленный и оплаченный ИИ, и уже можно будет начинать делать роботов.
И ты спросишь — почему не ChatGPT? Или не русский ИванИИ? Почему именно китайский ИИ? Kimi?
И я отвечу. Не потому что я – Ван, и всё китайское я по умолчанию трепетно люблю. Потому что западные модели банят россиян, российские не могут писать код. А Кими и не банит, и может. Но по порядку...
Не сказать, что наш офис перепробовал все ИИ на планете, но какой-то опыт имеется. Краткий опыт таков.
Западные модели нас так или иначе заблокировали. Либо по IP-адресу, либо за оплату с казахстанских карт, с требованием выслать документы о прописке.
Российские сервисы-передасты оказались в 10–100 раз дороже, чем мировые аналоги. Т.е. всё в итоге сводится к тому, что надо платить по 3–5 тысяч в день за активную работу. Что смехотворно, т.к. мировые аналоги дешевле в десятки раз, ну и собственно тут идёт прокси доступ именно к ним, с переплатой провайдеру. Т.е. просто плата огромного количества денег каким-то жадным школьникам, за красивый сайт.
Небольшая заметка — посмотрел интересное видео около ML о том как адаптировать торговые стратегии к изменениям рыночного режима (regime changes).
И здесь основная проблема в нестационарности финансовых временных рядов, где статистические свойства (среднее, дисперсия и др.) постоянно меняются со временем.
У видео есть автоперевод на русский язык.

Видео: https://www.youtube.com/watch?v=X5QcNyYRMqQ
Автор рассматривает три метода адаптации:
Если вы не пользуетесь нейросетями, то скорее всего теряете десятки драгоценных часов на рутину, которую можно автоматизировать. Ниже полезные нейросети для инвестора с кейсами использования. Рекомендую попробовать каждую и выбрать, что лучше подходит именно вам.

Можно обучить под свои задачи, дать инструкции, загрузить файлы. Не нужно использовать для точных вычислений или поиска. Лучше всего ChatGPT подходит для генерации идей. GPTs может быть вашим личным финансовым консультантом, ментором или известным наставником, до которого в реальной жизни не смогли бы достучаться. Например, Илон Макс, Уоррен Баффет или Тейлор Свифт, кому что.
Главное — дать правильную информацию на вход — книги, статьи, посты в соцсетях или транскрибации видео авторов, которые вам нравятся. И решения всегда принимать самому.
Примеры. Обучить GPTs на правильных источниках и спросить, где взять капитал для инвестиций или как повысить доход в 3 раза за год. Я, например, решил другую задачу. Закинул книгу Б.Д.Фогга «Нанопривычки» и попросил по шагам внедрить мне привычку инвестировать регулярно.
Недавно я пробовал машинное обучение на Московской бирже, пытаясь найти полезные признаки и при этом опираясь в поисках этих признаков на советы ИИ ассистентов, а поиск самого алгоритма переложил на ML.
Технически всё заработало, но уже после экспериментов я понял что есть один нюанс — все ИИ помощники энциклопедически умны и знают абсолютно все алгоритмы и подходы, но у них нет практического опыта и для них все стратегии «на одно лицо». Попытки предсказания цены — это самый очевидный и простой путь, в который ИИ помощник легко уводит пользователя.
Многие в статье про машинное обучение на Московской бирже пришли ко мне с советами или с критикой моего подхода в комментариях, но один человек связался со мной и подсказал, что на рынок можно смотреть совершенно по‑другому. Без угадывания цен, без работы с таймфреймами, опираясь только на цену.
Человека зовут Дмитрий Шалаев. Эта наша совместная с ним статья.
Дмитрий Шалаев
Дмитрий математик, который смотрит на графики не как на картинки, а как на стохастические процессы.
Время после нового года решил провести с пользой и окунуться в машинное обучение. Заняться Machine Learning — и посмотреть получится что‑то или нет с российским рынком акций на Московской бирже.
Моей целью было построить такую систему, которая будет учиться на истории и в перспективе торговать лучше чем случайное блуждание 50/50. Но из‑за комиссий и спреда подобные блуждания изначально отрицательны — чтобы выйти в плюс надо как минимум покрывать комиссии.

Если говорить о результатах очень кратко, то технически всё работает, но вот финансовый результат на грани безубыточности.
Если Вы только интересуетесь этой темой Вы можете посмотреть какие‑то шаги в моей статье, а если Вы уже опытный разработчик подобных систем, то можете подсказать что‑нибудь в комментариях.
Причём вся эта работа выглядит совершенно не так как показывается в фильмах про уолл‑стрит: фактически это написание скриптов и монотонный запуск и всё происходит полностью локально на компьютере.
Обычный трейдер смотрит на свечной график, но свеча — это уже тень прошлого, постфактум. Между тем настоящая динамика рождается в глубине торгового стакана — Limit Order Book, где борьба заявок определяет будущий импульс.
Проблема в том, что историю стакана почти нигде не увидеть: розничные терминалы для частных клиентов дают лишь текущую таблицу DOM ( Depth of Market ) и это статичный срез без прошлого.
Чтобы увидеть то, на что обычный трейдер не обращает внимание я собрал инструмент, который превращает исторические данные L2 Order Book (стакан заданной глубиной) и Trades Stream (обезличенные сделки) в тепловые карты и позволяет изучать эволюцию заявок на Московской бирже через браузер с Deep Zoom — плавно, как в Google Maps.

# Получение данных о ценах облигаций
import requests
import csv
from datetime import datetime
import time
def get_bond_data(bond_identifier, start_date, end_date):
"""Получение данных по облигации (ISIN, тикер или название)"""
# Поиск облигации
url = "https://iss.moex.com/iss/securities.json"
params = {'q': bond_identifier}
response = requests.get(url, params=params)
data = response.json()
# Ищем облигацию
bond_info = None
for security in data['securities']['data']:
if (security[1] == bond_identifier or # ISIN
security[0] == bond_identifier or # тикер
security[2] == bond_identifier): # название
bond_info = {
'ticker': security[0],
'shortname': security[1],
'fullname': security[2],
'isin': security[1] if security[1].В мире алгоритмической торговли доминируют крупные фонды с их колоссальными ресурсами. Но что, если мы, частные инвесторы и разработчики, можем создать собственный мощный и доступный инструмент? Что, если больше не придётся зависеть от проприетарных платформ или писать с нуля сложную инфраструктуру для тестирования каждой новой идеи?
Сегодня у нас есть Python и такие мощные библиотеки, как Backtrader. Однако голый фреймворк — это лишь половина дела. Чтобы он стал по‑настоящему народным инструментом, ему нужна удобная обвязка: готовая структура проекта, автоматический импорт стратегий, наглядные отчёты, тепловые карты для оптимизации и бесшовное подключение к API брокеров — не только российских, но надо начать с Мосбиржи.
Мы стремимся сделать инструмент таким же удобным, как TradingView. Простота в использовании и доступность всех функций для пользователей без глубокой технической экспертизы — мне кажется вот идеал. Чтобы каждый, кто заинтересован в алгоритмической торговле, мог без усилий внедрить свою стратегию, протестировать её и получить результаты, не проводя часы и дни за настройкой системы.
Если вы задумывались о системной торговле, то, скорее всего, уже слышали о Python библиотеке Backtrader. Это гибкий фреймворк для тестирования торговых стратегий на исторических данных, который к тому же может быть подключён к автоторговле через API российского брокера. В нём можно реализовать практически любую логику, от простого пересечения скользящих средних до сложных многофакторных моделей.
➡️ Робот, который живёт в стене: мой опыт автоматизации торговли на Python
Однако даже самая изощрённая стратегия ничего не стоит, если протестирована на неликвидных бумагах — там, где в реальной торговле вы бы просто не смогли купить или продать по нужной цене. Именно поэтому работа с ликвидными акциями — ключ к достоверному тесту.
Ликвидность — это не про «красиво на графике», а про то, как на самом деле исполняются сделки, насколько проскальзывает цена и как часто ваши заявки останутся без исполнения. Здесь нам поможет Игорь Чечет — автор библиотек AlorPy, TinkoffPy и FinamPy, размещенных на GitHub, которые дают удобный способ подключиться к API этих трёх брокеров из Python. Эти инструменты и библиотека-обертка — фактически мост между Backtrader и живым рынком.
В предыдущих статьях я рассказывал, как пришёл к идее создания собственного торгового робота. Мотивация проста:
Автоматизация — алгоритм не спит, не нервничает и не занят своими делами.
Дисциплина — робот исключает эмоции, следуя правилам.
Тестирование — любую идею можно проверить на исторических данных, прежде чем рисковать деньгами.
Я всегда разделял два этапа: разработку торговых идей (логика стратегии) и реализацию механизма исполнения (отправка заявок, автотрейдинг). Сначала — бэктестинг и базовая оптимизация, и только потом — реальная торговля.
Поскольку я нахожусь в активном поиске подходящего решения для автотрейдинга и уже опробовал несколько рабочих вариантов, то эта статья представляет мои размышления об этом механизме исполнения заявок. Ваша критика или поддержка идей приветствуется.
Почему я не хочу использовать QUIК и Windows?
По моему мнению QUIK архаичен, нестабилен для автоматизации и требует оконной среды. Он не предназначен для headless-серверов (это компьютер без монитора, клавиатуры, мыши). QUIK + LUA или внешнее ПО — это сложная, криво документированная и уязвимая связка.