Брокерское приложение
По шаблону CheckList аналитики.
Цель
AN Термины
Ограничения, Допущения
- ТИ - брокер в отличии от форекс, ЦБ регулирует деятельность
Риски
BT
UC
- Рынок ценных бумаг
- Биржевой (СПБ, МСБ)
- Внебиржевой
- Каталог ценных бумаг
- Биржевой стакан
- Типы активов – валюта, акции, фонды, фьючерсы, облигации, структурные ноты
- Акция - детали, обзор, прогнозы, показатели, дивиденды, купоны, новости, идеи, события и обсуждения
- Рыночные котировки с биржи идут в брокер
- Инвестиционный Счет
- Клиент Открыть
- Клиент Открыть ИИС
- Клиент Пополнить с ЛБК и тп
- Заявка сохраняет Операцию
- Инвестиционный Портфель
- Клиент Создать
- Клиент Просмотр Аналитики
- Лента новостей
- Клиент Просмотр
- Профиль пользователя (Клиент)
- Регистрация
- Авторизация
- Клиент Просмотр
- Клиент Смена Тарифа (Базовый, Премиум и тп)
- Инвестиционный профиль (отношение к риску)
- Робот-советник
- Заявки (Order)
- Клиент Создать
- Клиент Создать Тип заявки: лучшая цена, лимитная заявка, рыночная заявка, стоп-маркет, стоп-лимит и тейк-профит
- Broker: обрабатывает Заявки, на достаточность средств, резервирование средств, отправка Заявки на биржу, после исполнения отражение в Операциях, учёт в позиции Клиента
- Маржинальная торговля
- Клиент Подключить
- Соцсеть Инвесторов
- Инвестиционные Рекомендации
- Скринер для автоматического поиска акций
- Дарение Акций
- Программного интерфейса для алгоритмического трейдинга (автоматизированной биржевой торговли)
- Чат
US
- <Роль> [должен иметь возможность](https://scrumtrek.ru/blog/product-management/3364/user-story-instruktsiya-po-primeneniyu/) <возможность> в <показатель производительности=""> с <момент отсчета=""> в <условия эксплуатации="">, чтобы <ценность> ценность>условия>момент>показатель>возможность>Роль>
- Как пользователь, я хочу иметь возможность войти в демо-аккаунт, чтобы получить доступ к MVP.
- Как пользователь, я хочу иметь возможность просматривать список лучших акций по рыночной капитализации.
- Как пользователь, я хочу иметь возможность просматривать список активов, которыми я владею.
- Как пользователь, я хочу иметь возможность выбирать активы и просматривать цену в режиме реального времени.
- Как пользователь, я хочу иметь возможность разместить лимитный или рыночный ордер на покупку актива.
- Как пользователь, я хочу иметь возможность разместить лимитный или рыночный ордер на продажу актива (если он у меня уже есть, короткие продажи пока не поддерживаются).
БП
FT
DB Доменная модель
НФТ
Безопасность
- Auth As Service on MVP
- Антифрод
- на уровне биржи есть
Производительность
- количество активных пользователей - 500к\день
- rps
- ~100,000,000 requests per day
- ~30 krps in a trading day
- количество ордер 1млн\день
- ~3000 transactions per second
- Up to 10x during peaks = ~30,000 transactions per second
- Latency важна
- мы не хотим, чтобы пользователь был удивлен резкими колебаниями цен, и должны приложить все усилия, чтобы обеспечить самую низкую цену.
- 200-400мс на ордер
- Цены должны обновляться в режиме реального времени, чтобы пользователь мог принять решение, основываясь на уверенности в текущей рыночной цене.
Надежность
- 24\7
- доступность 99,9%
TD
UI
- Web Vital
- Internationalization
ADR
- TODO
- TODO 2 order matching system
- TODO Designing Smart Notification of Stock Price Changes
- Example
- Load Balancer
- envoy?
- Task Queue
- Rate limit API
- от объема комиссии ордер-заявка
- envoy?
- Worker Cluster
- Lazy Loading
- Caching: Redis, Service Memory
- По торговым статусам, last price
- API Protocol
- WebSocket
- Grpc
- Api client generation
- Version
- Dedlain time request from client - stop execute
- Grpc web
- Почему не веб сокеты? Grpc позволяет обернуть рест, веб сокеты в одном сервисе..?!
- СУБД
- Postgrsql
- Тех стек
- API : java (много на рынке)
- ТИ - прослойка к брокеру
- брокера: java, go, scala
- API : java (много на рынке)
- EDA
- Консистентность в конечном счете
Tradeoffs Анализ вариантов
- Web sockets vs. Server-Sent Events (SSEs) vs. Polling
Доменная модель
- Trade
- Balance
API
Метрики
- Продуктовые
- стоимость сделки
- Сервисные
- Системные
- Аналитика: Firebase Analytics, Crashlytics, AppsFlyer, Amplitude