Как использовать Excel для расчёта стратегий
Excel — отличный полигон для быстрых расчётов и симуляций. Ниже — минимальный «инструментарий», позволяющий тестировать идеи без кода: таблицы (Ctrl+T), структурированные ссылки, динамические массивы, сводные таблицы, «Анализ гипотез» (Goal Seek, Таблица данных, Диспетчер сценариев), Монте-Карло на RAND(), а также Solver для подбора размера ставки.
1) Базовая структура файла (3 листа)
Лист `Параметры`
`Ставка` (фикс.)- `Банк_старт`
- `HF` (доля выигрышных спинов, при необходимости)
- `q_≥×10` (шанс «значимого» события)
Лист `Симуляция`
Таблица `tblSpins` (Ctrl+T):- `Spin` (1…N)
- `Bet` (=Параметры[Ставка])
- `U` (=RAND()) — равномерная случайная
- `X` (мультипликатор) — по кумулятивной таблице
- `Win` (=BetX)
- `Hit` (=`--(X>0)`)
- `Hit_≥×10` (=`--(X>=10)`)
- `Net` (=Win−Bet)
- `Bank` (кумулятив от `Банк_старт`)
Лист `Отчёт`
сводные таблицы/графики: распределение выигрышей, кумулятив банка, частоты, интервалы.
2) Как превратить RAND() в «выплату за спин»
На `Параметры` задайте кумулятив: В `tblSpins[X]` используйте поиск по кумулятиву:- Сделайте именованный диапазон `CumP` и `ValsX`.
=XLOOKUP([@U], CumP, ValsX,, 1)Аргумент `1` даёт поиск «меньшее или равное» (step-функция).
Альтернатива (без XLOOKUP):
=INDEX(ValsX, MATCH([@U], CumP, 1))3) Частоты и интервалы ожидания
Hit Frequency (HF) выборки:
=AVERAGE(tblSpins[Hit])
=AVERAGE(tblSpins[Hit_≥×10])Интервал до события (геометрическое приближение): если параметр порога имеет вероятность `q` (из «Параметры»), то
Средний интервал: `=1/q`
Медианный: `=ROUNDUP(LN(0.5)/LN(1-q),0)`
Эмпирические интервалы из лога:- Создайте вспомогательный столбец `Счётчик_без_≥×10`, который сбрасывается на 0 при попадании и растёт на 1 иначе. Список значений в моменты «попадания» — это интервалы. По ним считайте медиану и перцентили (PERCENTILE/QUARTILE).
4) RTP, разброс и просадки
Фактический RTP:
=SUM(tblSpins[Win])/SUM(tblSpins[Bet])в процентах ×100%.
Серия проигрышей (L-streak):- Столбец `Lose` = `--(tblSpins[Win]- Столбец `L_Run` = «текущая длина серии» (формула с IF и ссылкой на предыдущую строку)
- `MAX(L_Run)` — максимальная серия.
Максимальная просадка (max drawdown)
Столбец `Peak` = «кумулятивный максимум» от `Bank`: `=MAX([@[Bank]]; пред_строка[Peak])`
Столбец `DD` = `=[@Peak]-[@Bank]`
`MAX(DD)` — глубина; `MAX(DD)/Банк_старт` — в долях банка.
5) Сводные таблицы и графики
Гистограмма мультипликаторов: сгруппируйте `X` корзинами (≤×1, ×1–×5, ×5–×20, ≥×20).
Линия банка: график `Bank` по `Spin`.
Кумулятивная частота «значимых» хитов: доля хитов по блокам по 100/500 спинов.
Slicers позволят фильтровать по слотам/стратегиям, если ведёте общий журнал.
6) «Что-если» анализ: Goal Seek, Таблица данных, Сценарии
Goal Seek (Подбор параметра)
Примеры:- «Найти ставку, при которой медианная просадка ≤ 150 ставок».
- «Найти стартовый банк для выживания двух медианных интервалов ≥×10».
Таблица данных (1- и 2-факторная)
Параметры по осям: ставка и длина сессии.
Метрика в ячейке модели: шанс закончить ≥0% или медианная просадка.
Таблица вернёт сетку результатов для визуального выбора параметров.
Диспетчер сценариев
«Флэт», «Мягкая прогрессия», «Жёсткая прогрессия», «Покупка бонуса» — набор фиксируемых параметров (ставка/правила выхода).
7) Монте-Карло (одной формулой)
Идея: прогнать M «мини-сессий» по N спинов и собрать распределение результатов.
Excel 365 (динамические массивы), на листе `Отчёт`:1. Параметры: `N=1000` (спинов), `M=1000` (сессий).
2. Сгенерировать матрицу `U` размером `N×M`:
=RANDARRAY(N; M)- Создайте LAMBDA `Fdraw(u)=XLOOKUP(u; CumP; ValsX;;1)`
=MAP(RANDARRAY(N;M); LAMBDA(u; Fdraw(u)))
=BYCOL(X_mat; LAMBDA(col; SUM(colСтавка) - NСтавка))5. По вектору «итогов» считайте квантили, среднее, долю ≥0% и т. п.
8) Бутстрэп доверительных интервалов (без VBA)
Есть эмпирический столбец `X` (мультипликатор за спин). Сделайте массив индексов:
=RANDBETWEEN(1; ROWS(X))  // вектор длиной N
=INDEX(X; Индексы)Посчитайте среднее/квантили; повторите по столбцам `M` раз (BYCOL) — получите распределение оценок и доверительные интервалы для RTP/HF/квантилей.
9) Сравнение стратегий ставок
Добавьте столбец `Bet` с правилом стратегии:- Флэт: `=Параметры[Ставка]`
- Мягкая прогрессия: `=IF(Lose; Bet1,2; Параметры[Ставка])` (пример)
- `=IF(Bank<=Банк_старт-СтопЛосс; 0; IF(Bank>=Банк_старт+ТейкПрофит; 0; Bet))`
- Нулевая ставка «останавливает» сессию. Затем сравнивайте метрики по батчам/сценариям: медианный результат, IQR, max drawdown, шанс ≥0%.
10) Solver: подбор доли ставки от банка
Цель: минимизировать 95-й перцентиль просадки или максимизировать шанс завершить сессию ≥0% при переменной `f` (ставка = `fБанк_текущий`, с ограничениями `0 Целевая ячейка: метрика риска/успеха. Изменяемая: `f`. Ограничения: `f_min≤f≤f_max`; «риск разорения ≤ целевого». Solver переберёт `f` с учётом вашей симуляции (может потребоваться уменьшить N/M). 11) Отчёт для статьи/клиента (шаблон) Слот / версия RTP / стратегия: … / … / флэт/прогрессия Спинов на сессию: …; Сессий (М): … Фактический RTP (медиана по сессиям): …% (IQR …–…%) HF (медиана): …% Интервал до ≥×10: медиана … спинов (75-й перцентиль …) Max drawdown (медиана / 90-й перцентиль): … / … ставок Шанс финиша ≥0% / ≥+20%: … / … Вывод по риску: низкий / средний / высокий; рекомендации по ставке/лимитам. 12) Частые ошибки и как их избежать Смешивание слотов/версий RTP в одной выборке — результаты невалидны. Выводы по коротким сериям (≤1000 спинов) без интервалов — это анекдот, не статистика. RAND() без фиксации семени — сравнивайте стратегии на одном наборе `U`: используйте один массив случайных чисел для всех сценариев (чтобы «шум» отменялся). Прогрессии ради «скорой компенсации» — меняют форму распределения, а не ожидание. Отсутствие контроля просадок — всегда считайте max drawdown и длительность «пустынь». 13) Мини-гайд по функциям Excel 365 (с заменами) XLOOKUP / XMATCH — поиск порогов (замена VLOOKUP/MATCH). LET / LAMBDA — оформляйте модели как функции (повторное использование). SEQUENCE / RANDARRAY / BYROW / BYCOL / MAP / SCAN — динамические массивы для Монте-Карло и агрегаций. PERCENTILE.INC / QUARTILE.INC — квантили; COUNTIFS / SUMIFS — корзины. Нет 365? Используйте INDEX+MATCH, массивные формулы (Ctrl+Shift+Enter), «Таблица данных» вместо MAP/BYCOL. Итог: Excel позволяет за пару часов собрать рабочую лабораторию для стратегий: от генерации исходов по заданному распределению до Монте-Карло с отчётами по RTP, частоте хитов, интервалам и просадкам. Делайте сравнение стратегий на одном и том же шуме, показывайте квантили и доверительные интервалы, используйте «что-если» и Solver для выбора ставки и лимитов. Так вы получите воспроизводимые выводы о риске и устойчивости — без иллюзий и «тайминга».
