Деньги

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации — 16.01.26 10:20

Всем привет.

В этой части мы изучим базовую теорию и перейдем к практическому применению.

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Иллюстрация процесса (сгенерировано https://grok.com/)

Коротко о том, чем мы тут занимаемся

Тут все описнано более подробно:

Инвестиционные боты (почти) с нуля. Часть 0: введение и постановка целей

Для лиги лени добавляю краткое описание.

Цель проста как мир: получать деньги ничего не делая. Это все упрощение, но именно этого я добиваюсь. Для этого я использую свои знания в программировании чтобы создать систему, которая будет торговать на бирже и приносить стабильный доход.

Параллельно в своем цикле статей я делюсь с вами что я уже изучил и что получилось реализовать.

Начнем с теории 📖

Чтобы успешно торговать, нужно сначала разобраться в базовых понятиях.

Фондовая биржа — это как большой онлайн-рынок (в России основная — Московская биржа, или Мосбиржа), где встречаются покупатели и продавцы ценных бумаг. Биржа обеспечивает честные сделки, показывает актуальные цены и фиксирует все операции.

Брокер — это посредник, который даёт тебе доступ на биржу. Без брокера обычный человек не может просто так купить акцию Сбера. Брокер открывает тебе счёт, берёт комиссию и исполняет твои заявки. Я выбрал Т-Банк (не реклама, почему можете узнать в части 0).

Инвестиции vs спекуляции — Инвестиции — это долгосрочное вложение (годы), чтобы получать доход от роста активов или дивидендов/купонов. Спекуляции — короткие сделки на разнице цен.

Тут интересный момент. ИИ помогает мне составлять текст и в процессе я сам также обучаюсь. Получается название цикла не совсем верное, я планирую использовать в том числе и спекуляцию для получения прибыли.

Риски и доходность — Выше потенциальный доход — выше риск. Например, депозит сейчас даёт 14–16% годовых почти без риска, а акции могут дать 20-30% или привести к потере 50%. Личный опыт показывает, что можно заработать 10% в месяц, а можно потерять 50% в день и получить заблокированные активы. Так что нужно быть аккуратным.

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

Портфель — Список твоих позиций: сколько акций/облигаций/валюты, текущая стоимость, прибыль/убыток.

Стакан заявок — Таблица лучших цен покупки (bid) и продажи (ask). Показывает баланс спроса/предложения.

Обычно зелёный — bids (покупатели), красный — asks (продавцы). Спред — разница между лучшими ценами.

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Биржевой стакан. Иллюстрация https://equity.today/chto-takoe-birzhevoj-stakan.html

Чем можно торговать на Мосбирже, рассмотрим только базовые инструменты:

Акции → Доля в компании. Доход от роста цены и дивидендов.

Облигации → Долговые бумаги какой-то компании или государства.

Биржевые фонды → Доля в объединении денег многих инвесторов для покупки портфеля активов, управляемый некой организацией.

Валюта → Покупка иностранной валюты.

Переходим от теории к практике💻

Теперь, вооружившись теорией, перейдем к реализации на моем стеке.

Напомню что разработка ведется на платформе MarsX 3 версии (обоснование выбора можно узнать в части 0). Большая часть кода будет написана на Node.JS для интеграции используется API от ТБанка

Получение ключа доступа к API

Для того чтобы торговать в ТБанке, естественно, нужно быть их клиентом и иметь хотя бы один инвестиционный счет. Описаний того как это сделать много, а мне не платят за новых клиентов, поэтому как-нибудь сами справитесь 🙂

Перейдем к получению ключа. Для этого открываем страницу настроек инвестиций https://www.tbank.ru/invest/settings/ и в самом низу находим кнопку для создания нового токена.

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Блок токенов

На данном этапе нас интересует токен для песочницы, так как своими деньгами мы рисковать пока что не готовы.

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

1/2

Создание токена

Поздравляю! Ключ создан, теперь его нужно сохранить в укромное место и потом использовать для доступа к API.

Для реального счета нужно создавать отдельный токен, на этом пока что не будем акцентироваться.

Использование API

Документацию можно найти тут https://developer.tbank.ru/invest/api

В целом, ничего сложного в API нет, обычные REST запросы к внешнему сервису с токеном в заголовках запроса для авторизации.

Из интересного только способ отображение чисел, таких как цены, суммы и т.п. Для отображения числа ТБанк использует объекты с полями units и nano. units — целая часть числа, nano — дробная часть.

Причины этого понять не сложно — во многих языках программирования есть проблемы округления при работе с числами с плавающей запятой, а при работе с деньгами округлять нельзя, поэтому проще разделить их на две сущности и работать с целыми числами.

Так же стоит уточнить, для работы с большинством запросов нужно слать accountId — уникальные идентификатор счета, с которым проводятся манипуляции. Получить список этих счетов и создать новые можно с помощью API.

Работа с API

Для доступа к API я написал простой сервис, который оборачивает запросы к API в удобную обертку, нужно только прокинуть в него необходимые данные для конкретного запроса. Ключ доступа, идентификатор аккаунта, домен API, работа с заголовками запроса, все это делает сам сервис.

Конвертация units и nano во float

Точность при работе с деньгами — это очень важно, но часто ее можно игнорировать, особенно когда идет о суммах меньше копейки, а тебе нужно отобразить баланс твоего портфеля. В данном случае можно безболезненно округлять до копеек и их показывать.

Для этого я сделал небольшой хелпер-конвертер значений во float тип данных.

Что реализовано на данный момент

  1. Сервис по работе с API песочницы и с реальными деньгами, в зависимости от выбранного аккаунта

  2. возможность переключать аккаунты и создавать новые в песочнице

  3. возможность добавлять деньги в аккаунт песочницы. Эх, была бы возможность так сделать на реальный счет — простым запросом пополнять баланс, без источника денег 🙂 . На реальный счет только переводом с личного счета, смысла добавлять такую логику в систему пока что не вижу.

  4. выбранный аккаунт и его тип сохраняются в браузере и передаются на сервер с каждым запросом

  5. просмотр портфеля по выбранному аккаунту

  6. просмотр всех инструментов для покупки, сгруппированных по типам, с возможностью поиска

  7. просмотр стакана для выбранного инструмента

  8. возможность выставления заявки на покупку/продажу с выбором типа заявки (лимитная, рыночная, лучшая цена)

  9. просмотр совершенных операций

Скриншоты результата

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

Логотип не существует еще, так как и названия у проекта еще нет.

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации - 16.01.26 10:20

1/5

Дашбоард, выбор аккаунта, список интсрументов по выбранному типу, детали инструмента и стакан заявок, история операций.

Краткосрочные планы

Как показала практика, изначальный план по 1-2 статьи в месяц провалился. Теперь цель хотя бы 1 статья в месяц.

В следующей статье начнем рассматривать сигналы которые можно использовать для определения точек покупки и продажи. На первых шагах рассмотрим: скользящие средние, возврат к среднему, RSI.

Если у вас есть идеи что стоит рассмотреть подробнее — пишите комментарии.

Источник

Теги

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть
Закрыть