StonksSimulator — клиентское веб-приложение для симуляции биржевой торговли акциями Московской биржи.
Проект создан в учебных целях: он позволяет купить и продать бумаги, отслеживать баланс и доходность портфеля, а также изучать базовые принципы работы фондового рынка без риска потерять реальные деньги. Пользователь получает стартовый виртуальный капитал (100 000 ₽) и совершает сделки по реальным рыночным котировкам.
Создать интерактивный симулятор, в котором пользователь может:
- Получать актуальные котировки акций с MOEX ISS API
- Покупать и продавать ценные бумаги на виртуальные средства
- Отслеживать динамику своего портфеля в реальном времени
- Анализировать историю сделок и общий финансовый результат (P&L)
Краткая сводка по аккаунту и рынку:
- Текущий баланс и общая стоимость активов
- Фильтры акций: по обороту, лидеры роста/падения, самые дорогие/дешёвые
- Карточки акций с тикером, ценой и кнопками быстрых операций
Набор основных биржевых инструментов:
- Поиск по названию или тикеру
- Сортировка по цене, динамике и алфавиту
- Постраничная навигация
Страница совершения сделки по конкретному тикеру:
- Ввод количества акций с автоматическим расчётом суммы
- Отображение текущего количества открытых позиций пользователя (если они есть)
- Валидация: проверка баланса при покупке и наличия акций при продаже
Список всех открытых позиций с подробной аналитикой:
- Средняя цена покупки vs текущая цена
- Прибыль или убыток по каждой бумаге (в рублях и %)
- Сводка: свободные средства, стоимость акций, итоговый P&L
Журнал всех сделок с фильтрами по типу (покупка/продажа), тикеру и периоду (сегодня, за неделю, месяц, всё время).
Проект поддерживает базовую авторизацию:
- Регистрация пользователя
- Вход в аккаунт
- Сохранение данных пользователя, портфеля, истории сделок
Покупка:
- Рассчитывается сумма:
количество × текущая цена - Проверяется, хватает ли денег на балансе
- Если позиция уже существует — пересчитывается средняя цена покупки, иначе создаётся новая
- С баланса списывается сумма
- В БД сохраняется транзакция и новый "снимок" (snapshot) стоимости портфеля
Продажа:
- Проверяется наличие нужного количества акций в портфеле
- Позиция уменьшается (или удаляется при полной продаже)
- На баланс начисляется сумма сделки
- Сохраняется транзакция и обновляется снимок портфеля
Проект написан на чистом фронтенде без использования сборщиков (Webpack/Vite) и работает как статический сайт.
- Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+), без использования фреймворков (React, Vue и др.)
- База данных и Auth: Supabase (PostgreSQL + Row Level Security)
- Источник котировок: MOEX ISS API (через собственный клиент
MoexClient) - дописать
- Улучшение дизайна сайта и информативности ошибок
- Поддержка других бирж и платформ
- Продвинутая аналитика и прогнозирование динамики акций
- Подключение LLM для предложения инвестиционных стратегий
- Интерактивные графики
- Таблица лидеров (соревнование по доходности)
Ершов Владислав (Team Lead):
- Координация работы команды
- Контроль выполнения задач
- Реализация клиента для парсинга Московской биржи
- Работа с базой данных
Сергеев Матвей:
- Расчёт графиков изменения цен
- Авторизация
- Апи для работы с бд
Черезов Тимофей:
- Реализация главной страницы и торговли
Савиных Максим:
- Дизайн и внешний вид страниц
- Реализация страницы портфеля и истории