Jeanor
Jeanor личный блог
25 июля 2026, 11:59

Python-приложение для расчётов риск-моделей в торговле, в т.ч. монте-карло симуляции сделок (без авторизации).

github.com/Jeanorochka/moex_risk_engine

Долго думал, что суда написать — в итоге мне проще будет скопировать ридми. Изначально, приложение лишь часть (наработка) бОльшего проекта, однако мне захотелось им поделиться. 

Скриншот1

Скриншот2

Возможности
  • Фьючерсы и акции в одной универсальной модели.
  • Текущий капитал, ГО или стоимость единицы, количество, цена входа и стоимость пункта.
  • Лонг и шорт.
  • Учёт плеча и покупательной способности.
  • Поддерживающая маржа и запас до маржин-колла.
  • Три режима расчёта:
    • от процента риска;
    • от максимального убытка;
    • от максимальной прибыли.
  • R:R автоматически восстанавливает вторую сторону сделки.
  • Автоматический расчёт цен тейк-профита и стоп-лосса.
  • Учёт комиссий и проскальзывания за полный круг сделки.
  • Загрузка капитала, свободный капитал и максимальное количество с плечом.
  • Безубыточный винрейт.
  • Матожидание одной сделки и серии сделок.
  • Монте-Карло:
    • средний и медианный PnL;
    • P5 и P95;
    • лучший и худший прогон;
    • вероятность убытка;
    • вероятность разорения;
    • вероятность маржин-колла;
    • медианная сделка до маржин-колла;
    • медианная и P95 максимальной просадки;
    • гистограмма итогового PnL.
Как трактовать поля

ГО / стоимость единицы:

  • для фьючерса — ГО одного контракта;
  • для акции — стоимость одной используемой единицы или одного лота.

PnL за 1 пункт на единицу:

  • для фьючерса — рублёвая стоимость движения на 1 пункт для одного контракта;
  • для акции — обычно количество акций в лоте, если цена указана за одну акцию.

Поддерживающая маржа, % — доля от требуемой начальной маржи, ниже которой модель фиксирует маржин-колл.

Запуск в Windows

Двойной клик по файлу:

run.bat

Либо из терминала:

python main.py

Внешние библиотеки не нужны.

Тесты
python -m unittest discover -s tests -v
Архитектура
  • risk_app/domain/models.py — структуры входных данных и результатов;
  • risk_app/services/risk_engine.py — детерминированная бизнес-логика;
  • risk_app/services/monte_carlo.py — симуляции, маржин-колл и статистика;
  • risk_app/ui/app.py — интерфейс; наверное требует рефактор, но в моменте не хочу
  • tests/ — тесты.


п.с.

было бы классно добавить адекватную выгрузку в эксель для Power BI визуализаций, но ватевер

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн