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


Возможности
- Фьючерсы и акции в одной универсальной модели.
- Текущий капитал, ГО или стоимость единицы, количество, цена входа и стоимость пункта.
- Лонг и шорт.
- Учёт плеча и покупательной способности.
- Поддерживающая маржа и запас до маржин-колла.
- Три режима расчёта:
- от процента риска;
- от максимального убытка;
- от максимальной прибыли.
- 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 визуализаций, но ватевер
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.