Skip to content

TimaCherezov/StonksSimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 StonksSimulator

StonksSimulator — клиентское веб-приложение для симуляции биржевой торговли акциями Московской биржи.

Проект создан в учебных целях: он позволяет купить и продать бумаги, отслеживать баланс и доходность портфеля, а также изучать базовые принципы работы фондового рынка без риска потерять реальные деньги. Пользователь получает стартовый виртуальный капитал (100 000 ₽) и совершает сделки по реальным рыночным котировкам.

🎯 Цель проекта

Создать интерактивный симулятор, в котором пользователь может:

  • Получать актуальные котировки акций с MOEX ISS API
  • Покупать и продавать ценные бумаги на виртуальные средства
  • Отслеживать динамику своего портфеля в реальном времени
  • Анализировать историю сделок и общий финансовый результат (P&L)

🛠 Основной функционал

Главный экран

Краткая сводка по аккаунту и рынку:

  • Текущий баланс и общая стоимость активов
  • Фильтры акций: по обороту, лидеры роста/падения, самые дорогие/дешёвые
  • Карточки акций с тикером, ценой и кнопками быстрых операций

Рынок акций

Набор основных биржевых инструментов:

  • Поиск по названию или тикеру
  • Сортировка по цене, динамике и алфавиту
  • Постраничная навигация

Экран торговли

Страница совершения сделки по конкретному тикеру:

  • Ввод количества акций с автоматическим расчётом суммы
  • Отображение текущего количества открытых позиций пользователя (если они есть)
  • Валидация: проверка баланса при покупке и наличия акций при продаже

Портфель

Список всех открытых позиций с подробной аналитикой:

  • Средняя цена покупки vs текущая цена
  • Прибыль или убыток по каждой бумаге (в рублях и %)
  • Сводка: свободные средства, стоимость акций, итоговый P&L

История операций

Журнал всех сделок с фильтрами по типу (покупка/продажа), тикеру и периоду (сегодня, за неделю, месяц, всё время).

Регистрация и вход

Проект поддерживает базовую авторизацию:

  • Регистрация пользователя
  • Вход в аккаунт
  • Сохранение данных пользователя, портфеля, истории сделок

⚙️ Как работают сделки

Покупка:

  1. Рассчитывается сумма: количество × текущая цена
  2. Проверяется, хватает ли денег на балансе
  3. Если позиция уже существует — пересчитывается средняя цена покупки, иначе создаётся новая
  4. С баланса списывается сумма
  5. В БД сохраняется транзакция и новый "снимок" (snapshot) стоимости портфеля

Продажа:

  1. Проверяется наличие нужного количества акций в портфеле
  2. Позиция уменьшается (или удаляется при полной продаже)
  3. На баланс начисляется сумма сделки
  4. Сохраняется транзакция и обновляется снимок портфеля

🧰 Технический стек

Проект написан на чистом фронтенде без использования сборщиков (Webpack/Vite) и работает как статический сайт.

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+), без использования фреймворков (React, Vue и др.)
  • База данных и Auth: Supabase (PostgreSQL + Row Level Security)
  • Источник котировок: MOEX ISS API (через собственный клиент MoexClient)
  • дописать

🔮 Планы на будущее

  • Улучшение дизайна сайта и информативности ошибок
  • Поддержка других бирж и платформ
  • Продвинутая аналитика и прогнозирование динамики акций
  • Подключение LLM для предложения инвестиционных стратегий
  • Интерактивные графики
  • Таблица лидеров (соревнование по доходности)

👥 Команда проекта

Ершов Владислав (Team Lead):

  • Координация работы команды
  • Контроль выполнения задач
  • Реализация клиента для парсинга Московской биржи
  • Работа с базой данных

Сергеев Матвей:

  • Расчёт графиков изменения цен
  • Авторизация
  • Апи для работы с бд

Черезов Тимофей:

  • Реализация главной страницы и торговли

Савиных Максим:

  • Дизайн и внешний вид страниц
  • Реализация страницы портфеля и истории

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors