Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

OptionsLab: модульный тулкит для расчётов, ML-анализа и визуализации опционов

OptionsLab — открытый Python-проект, который объединяет три слоя работы с опционами: классические модели ценообразования (Black-Scholes и Monte Carlo), машинное обучение для построения поверхностей волатильности и интерактивные дашборды на Streamlit. Всё в одном репозитории, без склейки несовместимых библиотек. Ограничение одно: проект академический, production-ready тестирование на живых данных остаётся за пользователем.

Автор: ~8 мин

Что именно делает OptionsLab и для кого он написан?

OptionsLab решает три задачи в одном пакете: считает теоретическую цену и Greeks через Black-Scholes, симулирует траектории цены через Monte Carlo и строит поверхности волатильности с помощью ML-моделей. Целевая аудитория — разработчики алго-стратегий, квантовые аналитики и трейдеры, которым нужен гибкий Python-инструмент без привязки к конкретной бирже. Репозиторий: github.com/diegourda/OptionsLab. Нюанс: для работы с реальными данными Мосбиржи (moex.com) потребуется самостоятельно подключить источник котировок.

Источник: OptionsLab — репозиторий на GitHub

Как работает модуль Monte Carlo в OptionsLab?

Модуль симулирует N траекторий цены базового актива по геометрическому броуновскому движению. На выходе — распределение цен на дату экспирации и оценка стоимости опциона как математического ожидания выплаты с дисконтированием. Чем больше симуляций (типично 10 000–100 000), тем точнее результат и выше нагрузка на CPU. Monte Carlo особенно полезен для экзотических опционов, где аналитической формулы нет. Для vanilla call/put Black-Scholes быстрее и точнее.

Что такое ML-поверхность волатильности и зачем она нужна?

Поверхность волатильности — трёхмерная карта подразумеваемой волатильности (IV) по страйкам и срокам экспирации. Реальная IV не постоянна: она образует «улыбку» или «перекос» — явление, которое модель Black-Scholes не объясняет. OptionsLab обучает ML-модель (регрессию или нейросеть) на исторических данных IV и интерполирует значения для страйков, по которым нет активных котировок. Это позволяет корректнее оценивать опционы вне денег. Риск: модель экстраполирует плохо в условиях резких скачков волатильности.

Как устроен Streamlit-дашборд в OptionsLab?

Streamlit-интерфейс позволяет менять параметры (цена актива, страйк, волатильность, срок) в слайдерах и видеть обновление Greeks и графиков в реальном времени без перезапуска скрипта. Это удобно для интерактивного анализа сценариев: «что будет с дельтой, если волатильность вырастет с 30% до 50%». Запуск локально командой streamlit run app.py. Для публикации дашборда в интернете нужен Streamlit Cloud или собственный сервер — встроенного деплоя в пакете нет.

Применим ли OptionsLab для опционов на Мосбирже?

Математика универсальна — модели Black-Scholes и Monte Carlo работают для любого актива. Но OptionsLab не содержит коннектора к данным Мосбиржи (moex.com). Для подключения реальных котировок нужно самостоятельно написать загрузчик через MOEX ISS API и передать данные в модули пакета. Опционы на фьючерс РТС и валютные пары технически совместимы с логикой OptionsLab. Налог на прибыль от опционов на Мосбирже — НДФЛ 13%, брокер выступает налоговым агентом.

Источник: OptionsLab — репозиторий на GitHub

Насколько OptionsLab готов к использованию в реальной торговле?

Пакет позиционируется как исследовательский и образовательный инструмент. Перед применением в реальной торговле необходима валидация на живых данных: проверка совпадения теоретических цен с биржевыми, стресс-тест на исторических периодах высокой волатильности и аудит кода на граничные условия (экспирация сегодня, нулевая волатильность). Использовать расчёты из OptionsLab напрямую как сигналы для исполнения — не рекомендуется без этапа верификации.

Источник: Московская биржа — деривативы и опционы

Работает ли OptionsLab на Windows или только на Linux/Mac?

Пакет кросс-платформенный: Python и все зависимости доступны на Windows, Linux и macOS. Streamlit также работает на всех платформах. Единственное ограничение: на Windows пути к файлам могут требовать обратного слеша — это стандартная особенность Python-окружения, не специфика OptionsLab.

Эксклюзив от ИнвестХомяка

Модули OptionsLab: что входит в тулкит и для каких задач

МодульМетод / технологияТипичная задача
ЦенообразованиеBlack-Scholes (аналитический)Быстрый расчёт Greeks и fair value
СимуляцияMonte Carlo (10k–100k путей)Экзотические опционы, сценарный анализ
Поверхность волатильностиML-регрессия / нейросетьИнтерполяция IV по страйкам и срокам
ВизуализацияStreamlit + matplotlib/plotlyИнтерактивные дашборды и греки в реальном времени

Black-Scholes vs Monte Carlo в OptionsLab: когда что использовать

КритерийBlack-ScholesMonte Carlo
Скорость расчётаМгновенно (аналитика)Секунды–минуты (N симуляций)
Точность для vanilla опционовВысокаяЗависит от числа путей
Экзотические структурыНе применимУниверсален
Учёт «улыбки» волатильностиНет (постоянная σ)Можно через стохастическую σ
Сложность настройкиМинимальнаяТребует выбора параметров симуляции

Как развернуть OptionsLab и провести первый расчёт опциона

  1. Клонировать репозиторий

    Выполните git clone https://github.com/diegourda/OptionsLab в рабочую папку. Убедитесь, что установлен Python 3.9+ и виртуальное окружение активировано.

  2. Установить зависимости

    Запустите pip install -r requirements.txt. Пакет использует numpy, scipy, scikit-learn и streamlit — стандартный стек для квантового анализа, конфликтов с другими библиотеками обычно нет.

  3. Запустить Streamlit-дашборд

    Выполните streamlit run app.py. Откроется браузерный интерфейс с слайдерами параметров. Это самый быстрый способ понять возможности тулкита без написания кода.

  4. Подключить собственные данные

    Для работы с реальными котировками подготовьте DataFrame с ценами базового актива и передайте его в модуль Monte Carlo или ML-поверхности. Для Мосбиржи используйте MOEX ISS API (moex.com) как источник исторических цен.

  5. Обучить ML-модель поверхности волатильности

    Соберите исторические данные IV по нескольким страйкам и срокам экспирации. Передайте в модуль обучения, выберите тип модели (линейная регрессия, градиентный бустинг или нейросеть) и получите поверхность для интерполяции отсутствующих значений.

Частые вопросы

Работает ли OptionsLab на Windows или только на Linux/Mac?

Пакет кросс-платформенный: Python и все зависимости доступны на Windows, Linux и macOS. Streamlit также работает на всех платформах. Единственное ограничение: на Windows пути к файлам могут требовать обратного слеша — это стандартная особенность Python-окружения, не специфика OptionsLab.

Можно ли использовать OptionsLab в Jupyter Notebook?

Да, модули Black-Scholes и Monte Carlo импортируются напрямую в Jupyter. Streamlit-дашборд в ноутбуке не запускается — он требует отдельного процесса. Для интерактивности внутри Jupyter можно использовать ipywidgets совместно с функциями OptionsLab.

Как OptionsLab обрабатывает дивиденды и ставку финансирования?

В базовой реализации Black-Scholes дивиденды учитываются через непрерывную дивидендную доходность (параметр q). Ставка финансирования для перпетуальных крипто-контрактов в пакете не реализована нативно — её нужно встраивать самостоятельно через модификацию безрисковой ставки r.

Есть ли в OptionsLab бэктестинг опционных стратегий?

В текущей версии бэктестинг не входит в стандартный функционал. Тулкит фокусируется на ценообразовании и анализе волатильности. Для бэктеста опционных стратегий на исторических данных потребуется дополнительный слой логики — например, vectorbt или собственный скрипт поверх модулей OptionsLab.

Нужна ли специальная лицензия для коммерческого использования OptionsLab?

Репозиторий опубликован на GitHub с открытым кодом. Условия использования определяются лицензией в репозитории (github.com/diegourda/OptionsLab) — проверьте файл LICENSE перед коммерческим применением. Ограничений со стороны российского законодательства на использование open-source аналитических библиотек нет.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Источники