Избранное трейдера Andrey
Всем привет!
Открываем новый цикл статей — «Синтетические облигации в алго». Собираем из акций и фьючерсов почти безрисковую* доходность.
В этом цикле разберём три робота из OsEngine, которые торгуют арбитраж между акцией и фьючерсом на неё. Два торгуют автоматически, третий — монитор с сигналами для ручной работы. Все три уже встроены в OsEngine, исходный код открыт и лежит на ГитХабе — берите, изучайте, улучшайте.
Но прежде чем открывать код, давайте разберёмся с базой. В этой статье разобраны основные понятия, без которых дальше будет сложно. А в конце — оглавление всего сборника.
Поехали!
1) Что такое синтетическая облигация
Синтетическая облигация — это арбитражная конструкция из двух ног (на MOEX такое обычно собирают на акции):
1) лонг в акции (базовый актив);
2) шорт во фьючерсе на эту же акцию.
Почему «облигация»? Потому что результат похож на облигацию: вы заранее знаете свою доходность и дату её получения, а рыночный риск по акции почти полностью закрыт шортом фьючерса. Купили акцию и тут же продали её же «в будущем» — как бы рынок ни прыгал, движение цены вас почти не касается.
Лето подходит к концу и я хочу рассказать о своём увлечении последних месяцев — машинном обучении (Machine Learning) на данных Московской биржи. Эта тема уже давно не даёт мне покоя и в этот раз я решил подойти более основательно — активно использовал новейшие языковые модели, типа Claude Sonnet 5, Gemeni 3.7 Flash не только для написания кода, но и для работы с результатами этих скриптов. При этом не использовал полностью автономных агентов — все языковые модели работали как консультанты в чате — все решения принимал я, в том числе какую исходную информацию давать конкретной модели на каждом из этапов.

Предвидя будущие вопросы я сразу отвечу что это мой эксперимент и он не только не зарабатывает, но и пока даже непонятно чем закончится — сейчас это всё в процессе. Эту статью решил написать не чтобы «засветить трейдерским граалем» — которых я кстати считаю что не существует, потому что вся информация общедоступна. Эта статья написана чтобы рассказать как есть об этой ML теме без прикрас и познакомиться с комментариями — среди негатива (обычно так) проскакивают интересные мысли. Я сам не работаю в финансах и моя позиция больше исследовательская, так что раскрыть какие‑то корпоративные секреты я не могу — просто прощупываю путь перед собой.
Всех приветствую!
Четвёртая статья из цикла про ИИ. Пора, собственно, подключать ИИ агента к работе. И будет это 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. Простота в использовании и доступность всех функций для пользователей без глубокой технической экспертизы — мне кажется вот идеал. Чтобы каждый, кто заинтересован в алгоритмической торговле, мог без усилий внедрить свою стратегию, протестировать её и получить результаты, не проводя часы и дни за настройкой системы.