Серия «Диванный инвестор», часть 1.
Всем привет.
В этой части я разберу базовую теорию и перейду к практике.
Коротко о том, чем я тут занимаюсь
Подробнее — в части 0: https://smart-lab.ru/blog/1367103.php
Для лиги лени добавляю краткое описание. Цель проста как мир: получать деньги ничего не делая. Это все упрощение, но именно этого я добиваюсь. Для этого я использую свои знания в программировании, чтобы создать систему, которая будет торговать на бирже и приносить стабильный доход. Параллельно в своем цикле статей я делюсь тем, что уже изучил и что получилось реализовать.
Начнем с теории
Чтобы успешно торговать, нужно сначала разобраться в базовых понятиях. Для постоянных читателей Smart-lab это азы, пролистайте до практики.
Фондовая биржа — это как большой онлайн-рынок (в России основная — Московская биржа, или Мосбиржа), где встречаются покупатели и продавцы ценных бумаг. Биржа обеспечивает честные сделки, показывает актуальные цены и фиксирует все операции.
Брокер — это посредник, который даёт тебе доступ на биржу. Без брокера обычный человек не может просто так купить акцию Сбера. Брокер открывает тебе счёт, берёт комиссию и исполняет твои заявки. Я выбрал Т-Банк (не реклама, почему — можно узнать в части 0).
Инвестиции vs спекуляции. Инвестиции — это долгосрочное вложение (годы), чтобы получать доход от роста активов или дивидендов и купонов. Спекуляции — короткие сделки на разнице цен. Тут интересный момент: ИИ помогает мне составлять текст, и в процессе я сам тоже учусь. Получается, название цикла не совсем верное, я планирую использовать в том числе и спекуляцию для получения прибыли.
Риски и доходность. Выше потенциальный доход — выше риск. Например, депозит сейчас даёт 14-16% годовых почти без риска, а акции могут дать 20-30% или привести к потере 50%. Личный опыт показывает, что можно заработать 10% в месяц, а можно потерять 50% в день и получить заблокированные активы. Так что нужно быть аккуратным.
Диверсификация. Не клади все яйца в одну корзину. Распределяй деньги по разным активам, чтобы падение одного не обрушило весь портфель.
Портфель — список твоих позиций: сколько акций, облигаций и валюты, текущая стоимость, прибыль или убыток.
Стакан заявок — таблица лучших цен покупки (bid) и продажи (ask). Показывает баланс спроса и предложения. Обычно зелёный — bids (покупатели), красный — asks (продавцы). Спред — разница между лучшими ценами.
Иллюстрация: equity.today
Чем можно торговать на Мосбирже (только базовые инструменты):
Переходим от теории к практике
Теперь, вооружившись теорией, перехожу к реализации на моем стеке.
Напомню, что разработка ведется на платформе MarsX третьей версии (обоснование выбора — в части 0). Большая часть кода будет написана на Node.js, для интеграции используется API от Т-Банка.
Получение ключа доступа к API
Чтобы торговать в Т-Банке, естественно, нужно быть их клиентом и иметь хотя бы один инвестиционный счет. Для получения ключа открываю страницу настроек инвестиций https://www.tbank.ru/invest/settings/ и в самом низу нахожу кнопку для создания нового токена.
На данном этапе нужен токен для песочницы, так как своими деньгами я пока не готов рисковать.
Использование API
Документация тут: https://developer.tbank.ru/invest/api. В целом, ничего сложного в API нет: обычные REST-запросы к внешнему сервису с токеном в заголовках запроса для авторизации.
Из интересного только способ отображения чисел, таких как цены и суммы. Для отображения числа Т-Банк использует объекты с полями units и nano. units — целая часть числа, nano — дробная часть.
Причины этого понять несложно: во многих языках программирования есть проблемы округления при работе с числами с плавающей запятой, а при работе с деньгами округлять нельзя, поэтому проще разделить число на две сущности и работать с целыми.
Также стоит уточнить, что для большинства запросов нужно слать accountId — уникальный идентификатор счета, с которым проводятся манипуляции. Получить список этих счетов и создать новые можно через API.
Работа с API
Для доступа к API я написал простой сервис, который оборачивает запросы в удобную обертку: нужно только прокинуть данные для конкретного запроса. Ключ доступа, идентификатор аккаунта, домен API, работа с заголовками запроса — все это делает сам сервис.
Конвертация units и nano во float
Точность при работе с деньгами очень важна, но часто ее можно игнорировать, особенно когда речь о суммах меньше копейки, а нужно просто показать баланс портфеля. В этом случае можно безболезненно округлять до копеек. Для этого я сделал небольшой хелпер-конвертер значений во float.
Что реализовано на данный момент
Прошу не сильно критиковать, я не люблю фронтенд, да и структура пока не устоялась, чтобы тратить много времени на дизайн.
Краткосрочные планы
В следующей статье начну рассматривать сигналы, которые можно использовать для определения точек покупки и продажи. На первых шагах — скользящие средние, возврат к среднему, RSI.
Если у вас есть идеи, что стоит рассмотреть подробнее — пишите в комментариях.
Вопрос к читателям: через каких брокеров вы работаете с API и чего вам не хватает в их интерфейсе или документации? Если я что-то упустил в теории, поправьте, это только полезно.
Если захочется следить за процессом поближе, у меня есть небольшой Telegram-канал с живыми апдейтами и фейлами: https://t.me/divaninvest
Это мой личный эксперимент, не инвестиционная рекомендация.
лучший вход в ПП правое плечо паттерна ГиП.Попробуй формализовать форму свечей, поглощение, пин бар(табуретка), харами( из 2х свечей готовый фрактал), приседающий, повешенный, солдат, ворона, ГиП (главный паттерн графика).
В графиках шкала изменяется на %, логарифм и тд