Better Call Buffet - котировки акций в Telegram

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

А вдруг отслеживать котировки акций прямо внутри Telegram будет удобнее, чем переход в стороннее приложение брокера. Я сделал @better_call_buffett_bot чтобы проверить это.

Это три скрина <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ft.me%2Fbetter_call_buffett_bot&postId=580870" rel="nofollow noreferrer noopener" target="_blank">@better_call_buffett_bot</a> на синем фоне
Это три скрина @better_call_buffett_bot на синем фоне

По статистике ежедневная аудитория (DAO) Telegram в 2022 составила более 55 млн. Активные пользователи проводят в нем десятки минут или даже часы. Гипотеза: отслеживать стоимость ценных бумаг прямо внутри Telegram может быть удобнее, чем переход в стороннее приложение брокера. Я реализовал быстрый MVP на React и Telegram Web App, чтобы проверить это.

Источники данных

Для отображения риалтайм котировок и статистики по эмитентам требуется источник таких данных. Я нашел с десяток провайдеров, но все они предоставляют данные по подписке. Цена подписки - от десятков до тысяч USD в месяц в зависимости от лимита запросов и покрытия рынков и типов инструментов. У некоторых есть бесплатный тариф с маленьким ограничением по кол-ву запросов (например 1000 в месяц). Я нашел провайдера TwelveData с ограничением на бесплатном тарифе в 8 запросов в минуту. Создав N аккаунтов я получил лимит уже в несколько десятков запросов в минуту при рандомном переборе API ключей в запросах к провайдеру. Этого достаточно для одновременной работы 1-2 пользователей, что в целом подходит для моего MVP.

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

Для хранения пользовательских данных я использовал Firebase Storage, где в качестве идентификатора пользователя используется его Telegram User Id. Так что не пришлось делать регистрацию/авторизацию, а настройки пользователя сразу применяются на все его устройства с одним и тем же Telegram аккаунтом.

График цены

Для построения графика цены я взял библиотеку TradingView, у них тоже есть бесплатная версия. У нее богатые возможности, но для MVP я использовал только отображения графика в виде линии и свечей (для каждого типа графика нужно получать данные в разном формате), и переключение периодов.

Информация об эмитенте

На экране ценной бумаги отображается три блока с данными об эмитенте:

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

Данные для каждого из блоков запрашиваются у провайдера отдельным вызовом. Если ответ не получен или он пустой (в т.ч. из-за ограничения подписки), то блок скрывается. В итоге для отображения экрана ценной бумаги выполняется 5 отдельных запросов к провайдеру данных.

Better Call Buffet - котировки акций в Telegram

Избранное и история

Персонализация в приложении реализована через возможность пользователю добавлять ценные бумаги в свой список Избранного и отслеживание истории просмотров ценных бумаг. Оба блока отображаются на главном экране. Все данные хранятся на стороне сервера, поэтому синхронизированы между устройствами. Добавление/удаление из списка реализовано через нажатие на иконку флажка на экране ценной бумаги.

Идеи развития

Я реализовал MVP, в которое включил только основную функцию - поиск/сохранение/просмотр котировки ценной бумаги. У меня есть много идей, как можно было бы развить это приложение:

  • отображение изменения цен по бумагам сразу на главном экране, чтобы можно было оценить движение рынка с одного взгляда. Для это потребуется платная подписка у провайдера данных, т.к. количество запросов возрастет кратно. Это функция повысит ценность приложения и удобство для пользователя.
  • добавить блок с агрегированием и отображением инвест-идей от разных брокеров или аналитиков. С отслеживанием Эта функция повысит ценность приложения для пользователей и потенциально позволит монетизировать его
  • оптимизация размера приложения для ускорения загрузки, сейчас оно весит 1mb со всеми библиотеками и загрузка на медленном интернете может занимать до нескольких секунд.
  • добавление рынков и инструментов. Сейчас добавлены только акции с основных бирж США. Для добавления рынков РФ, Азии и т.д. нужна расширенная подписка у провайдера данных
  • добавить подборки а-ля лидеры роста/падения или топ по оборотам за сегодня, чтобы подсвечивать интересные события на рынке
  • добавить подборку «Часто ищут в поиске», что будет работать только при накоплении достаточной аудитории

Если вам интересно развитие такого приложения, которое вполне может стать началом Telegram приложение брокера, пишите мне @stumarkin

44
1 комментарий

Штатный Stocks поудобнее будет, хотя и без свечей ((

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

У тебя же это размазано на весь экран и зачем-то описание бренда первым блоком, хотя это в целом лишний блок, в лучшем случае second priority