Опционы, мобильный дашборд и улыбка волатильности: три обновления торгового бота — MajoTrade
MajoTrade

Опционы, мобильный дашборд и улыбка волатильности: три обновления торгового бота

За последние недели мы добавили три крупных обновления на bot.majotrade.net — мобильную адаптацию интерфейса, полноценную вкладку опционной торговли и визуализацию улыбки волатильности в реальном времени.

Мобильная версия дашборда

Раньше дашборд был рассчитан на десктоп — боковая панель со статистикой, широкий график свечей, горизонтальная таблица сделок. На телефоне всё это сжималось до нечитаемого состояния.

Теперь при нажатии кнопки [M] в левом верхнем углу интерфейс переключается в мобильный режим:

  • Вертикальная компоновка — все панели выстраиваются в одну колонку: статус, график, таблица сделок, прогресс grid search
  • Три строки навигации — режим торговли (DRY RUN / LIVE), выбор инструмента (GAZPF / SBERF / CNYRUBF), и переключатель вкладок (Futures / Options / Smile)
  • Адаптивные размеры — график занимает оптимальную высоту для вертикального экрана, таблицы прокручиваются

Настройка сохраняется в localStorage — при следующем заходе телефон автоматически откроется в мобильном режиме.

Вкладка Options: опционная цепочка и Greeks

Вторая вкладка дашборда показывает опционную цепочку CNY/RUB (CRM6@RTSX) в формате, привычном опционным трейдерам:

Portfolio Greeks — сводка по портфелю: Net Delta, Gamma, Theta, Vega, количество позиций и нереализованный P&L. Эти метрики обновляются каждые 5 минут и показывают текущую экспозицию опционного портфеля.

Options Chain — симметричная таблица Call | Strike | Put. Для каждого опциона отображаются:

  • Bid / Ask — текущие котировки из стакана
  • Theo — теоретическая цена по модели (American CRR binomial tree, 50 шагов)
  • IV — подразумеваемая волатильность
  • Delta, Gamma, Theta, Vega — Greeks
  • Open Interest — количество открытых контрактов

ATM-страйк подсвечен жёлтым для быстрой ориентации. ITM-опционы выделены цветом.

Вкладка Smile: улыбка волатильности

Третья вкладка — визуализация улыбки волатильности. Это ключевой инструмент для опционной стратегии vol-reversion, которую использует наш бот.

Что на графике

Белая линия — рыночная IV. Подразумеваемая волатильность, рассчитанная из mid-цены стакана для каждого страйка. Классическая форма «улыбки» — OTM-опционы дороже в терминах волатильности, чем ATM.

Оранжевая линия — справедливая волатильность (fair vol). Наша модельная оценка, строится как:

  • 40% — историческая улыбка (из реальных сделок по опционам)
  • 60% — историческая волатильность базового актива

Когда рыночная IV ниже fair vol — опцион недооценён, бот покупает. Когда выше — переоценён, бот игнорирует или продаёт.

Синие кривые — история. Часовые снимки улыбки за последние 3 дня. Старые бледнее, свежие ярче. Показывают динамику: сжимается улыбка или расширяется, смещается ли скью.

Жёлтая пунктирная линия — текущая цена базового актива (ATM).

Таблица под графиком

Для каждого страйка — числовые значения: Market IV, Fair Vol, Edge (разница), Discount. Зелёный цвет — недооценён, красный — переоценён.

Как устроен сбор данных

На домашнем сервере archbook работает options_bot — опционный сканер на Rust. Каждые 60 секунд он:

  1. Запрашивает стакан котировок по всем страйкам опционной цепочки через Finam API
  2. Рассчитывает IV через биномиальную модель (American option pricing)
  3. Вычисляет справедливую волатильность с учётом исторической улыбки
  4. Записывает vol edge и discount в PostgreSQL

Каждые 5 минут cron-задача экспортирует данные в три JSON-файла: per-symbol дашборд, grid progress, и vol_smile.json. Файлы загружаются по FTP на сайт, WASM-приложение подхватывает их автоматически.

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

Весь дашборд — это Rust, скомпилированный в WebAssembly:

  • eframe + egui 0.30 — UI-фреймворк для immediate-mode рендеринга
  • egui_plot — графики: свечи, Fibonacci уровни, улыбка волатильности
  • Trunk — сборщик WASM-бандлов для Rust
  • web-sys — доступ к browser API (fetch, localStorage) из Rust

Никакого JavaScript-фреймворка — только Rust. Размер бандла ~2.8 МБ, загрузка мгновенная.

На серверной стороне:

  • options_bot — сканер опционной цепочки, vol-reversion стратегия
  • dashboard_export — SQL-запросы к PostgreSQL, генерация JSON
  • bot4rest — основной фьючерсный бот (Fibonacci Grid, 3 инструмента)

Все три бинарника работают как systemd-сервисы с ограничением памяти и CPU, автоматическим рестартом при сбоях.

Что дальше

  • Накопление данных для полноценной исторической улыбки (первые торговые дни)
  • Маркеры позиций бота на графике smile — зелёные для покупок, красные для продаж
  • Запуск live-торговли опционами после валидации стратегии на реальных данных

Дашборд доступен по адресу bot.majotrade.net. Попробуйте переключиться на мобильный режим кнопкой [M] и посмотреть вкладки Options и Smile.