Как сделать монте

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

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

Инструмент доступен здесь, но сначала немного теории. Когда вы составляете финансовый план, считая сколько вам надо откладывать, чтобы накопить нужную сумму, либо тратить, чтобы не потратить весь капитал раньше времени, обычно берется средняя ожидаемая доходность конкретного портфеля, то есть какая-то цифра из 50-го процентиля возможных исходов.

Это значит, что примерно половина всех исходов по доходности и результирующему капиталу будет меньше того, что представит вам такой план, а половина – больше. В составлении такого финансового плана нет ничего плохого – это полезное упражнение, да и цель его не только в том, чтобы показать какие-то конкретные цифры. Но стоит понимать, что в спектре всех исходов рассчитанный план является лишь одним из вариантов развития событий (пусть и наиболее вероятным).

Чтобы проанализировать гораздо большее число вариантов, используют метод Монте-Карло. Его суть заключается в генерации большого числа случайных исходов на основе входных параметров и последующем анализе их распределения, что позволяет наглядно представить спектр вероятных исходов и сделать более конкретные выводы о реалистичности заложенных инвестором в свой финансовый план параметров.


Исходные данные по изменению капитала за 20 лет, полученные в результате симуляции Монте-Карло. Инструмент анализирует их, чтобы обобщить и представить в полезном виде.

Есть разные подходы для генерации случайных исходов, подходящие для разных областей науки, где применяется такой анализ. После анализа исторических данных на ежегодных интервалах для этого инструмента я выбрал лог-нормальное распределение доходностей, потому что толстые концы кривой распределения на этих интервалах практически нивелируются. Если не уверены, что понимаете о чем речь, можно почитать пару моих статей про риск и распределение доходностей – будет легче разобраться с инструментом.

А теперь к практике. Мы разберем три примера использования инструмента.

Классический пенсионер

Многим известно знаменитое Trinity study, в рамках которого был проанализирован портфель из американских акций и облигаций (50/50) на 30-летних периодах с целью выяснить безопасную ставку ежегодного снятия средств (safe withdrawal rate, SWR). То есть такую, при которой портфель не исчерпал себя раньше конца 30-летнего периода.

Результатом были 4%, которые сегодня популяризированы в качестве rule of thumb и часто используются будущими пенсионерами для финансового планирования.

Возьмем теперь цель выйти на пенсию с $1000 (я буду использовать 70 000 руб.) и представим, что есть план по её достижению, основанный на правиле 4%, то есть итог накопления по этому плану будет 70000 * 12 / 0.04 = 21 000 000 руб. Его реалистичность мы и будем проверять.

В качестве минимального целевого капитала вводим 0, потому что цель – не проесть все деньги за 30 лет. Для финансового планирования удобно использовать реальную доходность, то есть за вычетом инфляции, потому что это позволяет вводить все суммы в сегодняшних деньгах и освобождает разум от прогнозов инфляции. Допустим, что реальная средняя геометрическая (CAGR) доходность портфеля этого инвестора 5%. В качестве ожидаемой волатильности (СКО) портфеля возьмем 12%. Остальные поля пока не трогаем.

На основе этих данных инструмент сгенерирует 300 000 случайных годовых доходностей (10 000 раз по 30 лет), то есть вместо исторических сотен лет для анализа у нас будет несколько сотен тысячелетий, вместо одного портфеля и 30-летнего периода – 10 000.

Вот результаты из моего запуска (каждый раз они отличаются, но чем больше повторений, тем идентичнее результаты между запусками):

Это лишь основная часть результатов – запустите симулятор сами, чтобы посмотреть остальные графики.

В таком сценарии и при условии, что мы допускаем трату всего капитала (в целевую сумму мы ввели 0), всё обещает быть отлично. При реальной средней доходности портфеля в 5% годовых результаты Trinity study вполне подтверждаются.

Но что если мы обязательно хотим сохранить капитал? Тогда вместо нуля в поле целевого капитала можно ввести начальный. В этом случае конечные суммы в каждом из 10 000 полученных портфелей будут сравниваться не с нулем, а с указанным целевым капиталом.

И тогда вместо 99% мы получим гораздо менее обнадеживающие 75% – шанс не выполнить цель на сохранение капитала становится значительным. Но не все так плохо. Такой процент успешных симуляций – это то, с чем можно поработать. Как?


Во-первых, в худые годы наш инвестор может ужаться и перестать слепо вытягивать из портфеля проиндексированные на инфляцию 840 000 рублей в год. Вместо них будет 720 000 рублей, то есть 60 000 в месяц. На эту сумму наш пенсионер начинает жить, если обычная сумма снятия начинает превышать запланированную долю в 4% от текущего размера портфеля.

Во-вторых, государство будет платить ему шикарную пенсию в 20 000 рублей (тоже индексируется на инфляцию), начиная с 5-го года его 30-летнего периода свободы, а это нелишние 240 000 рублей сегодняшних денег в год для наших расчетов.

Как видно из результатов, ситуация выправляется – 97% портфелей закончили этот путь с балансом больше нуля. В медианном случае 4 года из 30 инвестору придется удовлетвориться уменьшенным снятием средств, чтобы увеличить шансы своего портфеля на существование. В худшем случае на уменьшенной пенсии придется сидеть 29 лет, но вероятность этого довольно низкая. В 90% случаев это будет 15 лет или меньше.

Таков основной принцип работы с инструментом. Теперь коротко пройдемся по остальным сценарием.

Ранний пенсионер

Сегодня популярность набирает идея финансовой независимости и раннего выхода на пенсию (FIRE). Инвестиционный горизонт у таких инвесторов расширяется до 50-60 лет, с чем связана основная проблема – 4% в чистом виде становятся заметно опаснее (есть ряд исследований, показывающих это на реальных и сгенерированных доходностях).


Я ввел такие же данные, как в самый первый раз, но заменил 30 лет на 60 и указал целевой капитал, равный начальному, потому что смотреть как таят деньги на счете, осознавая, что до конца пенсии ещё лет 30, сможет не каждый. Вместо 99% мы получили 83%, что довольно рисково, хотя и нельзя сказать, что судьбу нашего раннего пенсионера может решать монетка.

Давайте внесем похожие коррективы в этот гениальный план:

Годы тренировок по скоростному накоплению денег позволят нашему пенсионеру ужиматься при необходимости до 60 000 руб. в месяц, а на 35 году году пенсии государство начнет выплачивать ему 15 000 руб. в месяц.

В результате получаем статистически надежные 97% с почти той же медианой на минимальном потреблении в 10 лет и до 29 лет с минимальной суммой снятия в 90% всех случаев.

Когда я смогу накопить?

Напоследок рассмотрим как использовать инструмент для анализа не трат, а накоплений. Возьмем того же раннего пенсионера, который планирует накопить 21 000 000, откладывая по 2 000 000 в год и имея начальный капитал в миллион. Параметры будут такие:

Вместо отрицательной суммы снятий указываем положительную, означающую пополнение. Период симуляции ставим с запасом, чтобы посмотреть как меняется кривая:

Обычный финансовый план, использующий среднюю доходность портфеля для расчетов, предскажет нам срок около 8 лет, что в симуляторе означает процент успешности около 50%.

Ценной здесь является информация о худшем случае, то есть на каком году процент успешности превысит психологически комфортный для вас порог этого плана (например, 80%) или принятые в статистике за надежные 95%.

В этом примере надежным ориентиром выглядит срок в 10-11 лет, которые понадобятся, чтобы собрать достаточный капитал, если дела на рынке пойдут хуже среднего. Такой подход позволяет уточнить границы сроков накопления и подготовить себя психологически к реализации не самых лучших сценариев. С другой стороны, в случае везения нужную сумму можно собрать за 6-7 лет.

Напишите в комментариях считаете ли новый инструмент полезным и будет ли вам интересно уточнить свои ожидания по срокам накопления и ставкам снятия средств?

Генератор Монте-Карло

Определение объема сделки в трейдинге — задача не из легких. Существует ряд подходов к вычислению доли капитала под риском: некая случайная величина, основанная на интуиции (не самый лучший подход), фиксированный лот, фиксированная фракция (или фиксированный риск), критерий Келли и т.д. В своей алгоритмической практике я предпочитаю фиксированную фракцию. В этой статье показан подход для вычисления оптимальной фракции (доли) капитала под риском с помощью метода Монте-Карло.

Полезные материалы, которые хорошо бы изучить перед продолжением:

Содеражание

Видео о методе Монте-Карло

Что такое метод Монте-Карло

Метод Монте-Карло — математический метод вычисления различных событий, где финальный результат в большей степени непредсказуем. Если еще проще, данный метод помогает получить вероятностный исход любого события.

Если брать трейдинг и инвестиции, то данный подход может подсказать лучший или худший сценарий для определенной стратегии. Именно это мы и будем делать в данной статье. Но обо всем попорядку.

Какие факторы играют в вычислении объема сделки?

Прежде чем приступить к обсуждению логики вычисления оптимальной фракции (то же самое, что и риск на сделку) нужно ввести 2 условия.

Первое — это обязательное использование стоп-лосса. Без стоп-лосса всякие вычисления становятся бессмысленными.

Второе условие.

В экспериментах ниже мы допускаем, что фракция капитала остается одинаковой вне зависимости от размера счета.

На мой взгляд, одна стандартная фракция — это хороший подход. Ведь тогда вам все равно, каким капиталом вы управляете. Это может быть несколько сот долларов или несколько миллионов. Логика всегда одна.


Финансовая грамотность

Метод Монте Карло используется для решения различных задач, где результат зависит от случайных процессов. В частности, метод широко используется в экономике, инвестиционных прогнозах и инвестиционном анализе, финансовом планировании. Моделирование по методу Монте Карло позволяет вычислить множество значений. Используя эти значения, определяется искомый результат путем вычисления среднего арифметического или диапазон, в котором может находиться нужный результат.

В этой статье мы расскажем, как применяется метод Монте Карло в экономике, личных финансах и инвестировании. С помощью наглядных примеров попытаемся понять, какие задачи можно решать с применением метода Монте Карло.

Что такое метод Монте Карло (ММК)

имитационное моделирование Монте Карло

Итак, метод Монте Карло позволяет рассчитать какую-либо величину (или диапазон значений) с использованием множества случайных величин.

К примеру, бегун способен пробежать дистанцию в 10 км за 50 мин. Означает ли это, что 20 км он пробежит за 1 час 40 минут? Конечно же, нет: человек – не машина. Если 10 км можно пробежать без остановки, то расстояние вдвое больше требует значительных затрат энергии. Так, необходимо замедлиться, чтобы попить воды, завязать шнурки. При сильном учащении пульса – перейти на шаг или легкий бег и т.д.

Таким образом, прогнозирование времени путем простых математических расчетов – способ, который даст весьма неточный результат. Правильнее будет отобрать в случайном порядке результаты забегов нескольких спортсменов (чем больше, тем лучше) такого же пола, примерно того же возраста и уровня подготовки, которые несколько раз бежали дистанции по 20 км, и вычислить среднее арифметическое результатов. Тогда мы получим значение, на которое можно ориентироваться.

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

Для прогнозирования рисков, доходности, сроков окупаемости и других финансовых результатов используется метод Монте-Карло-симуляции. Вероятность события определяется так: программа выбирает комбинации случайных значений (например, неблагоприятных исходов) и на основании этого выдает усредненный результат. Для получения более точного значения симуляцию следует повторить несколько раз. Программное обеспечение применяется различное – от знакомого нам всем Excel до узкоспециализированных программных продуктов, используемых финансовыми аналитиками, физиками, программистами, трейдерами и др.

История

Монте Карло

Откуда метод получил свое название? В Европе есть маленькое княжество Монако, где одна из территорий названа Монте-Карло. Это такой европейский Лос-Анджелес, где можно окунуться в роскошь и азартные развлечения. От знаменитого казино метод Монте-Карло получил свое имя.

Впервые о методе заговорили в конце 40-х годов прошлого столетия, когда ВВС США начало разработку водородной бомбы. Тогда, с появлением первых ЭВМ, было предложено использовать теорию вероятностей для решения прикладных задач.

Далее, в 1970-х годах, метод получил применение в нейтронной физике для задач, не поддающихся решению традиционными математическими методами. Впоследствии моделирование по методу Монте-Карло распространилось на другие области физики, а также на экономику и вычислительную математику.

Схема метода

Имитационное моделирование по методу Монте-Карло представляет собой определение математического ожидания (среднего значения случайной величины) путем проведения определенного количества симуляций (испытаний).

Предположим, требуется найти математическое ожидание α для случайной величины ​ \( X \) ​:

Классическая формула расчета математического ожидания выглядит так:

​ \( x1…n \) ​ – значение величины от 1 до n;

​ \( p1…n \) ​ – вероятность от 1 до n.

Моделирование методом Монте-Карло выполняется следующим образом: проводится n симуляций (испытаний). В результате получится какое-то количество значений X. Далее определяется их среднее арифметическое, которое и будет приблизительным значением α.

Зачем нужен ММК и где он применяется

Чтобы не углубляться в математические дебри, сформулируем кратко суть метода.

Метод Монте-Карло относится к методам моделирования различных явлений, событий, параметров или процессов, как благоприятных, так и неблагоприятных, с целью определения вероятности их наступления. Для этого генерируется определенное количество случайных величин, отвечающих установленным критериям, а затем на их основе вычисляют приблизительное значение искомой величины.

ММК применяется в следующих областях:

  1. Физика, химия, биология – для моделирования различных явлений.
  2. Экономика и финансы – для оценки и прогнозирования инвестиций, расчета доходности финансовых инструментов, сроков окупаемости и др. Метод Монте-Карло широко применяется для оценки рисков;
  3. Игровая индустрия – для моделирования искусственного интеллекта и др.
  4. Технология и др. инженерные науки используют метод Монте-Карло в прогнозировании НТП.
  5. Социология – для изучения общественного мнения (люди, принимающие участие в опросах, отбираются в случайном порядке).

По сути, методу можно найти применение во многих сферах, где необходимы расчеты и прогнозирование.

Данные для получения искомой величины определяются путем стохастической (случайной) выборки. Чтобы было более понятно, приведем простейший пример из компьютерных игр.

Предположим, у нас есть компьютерная игра, в которую мы играли много-много раз. При этом ведется статистика: сыграно 100 игр, из них 30 побед, 70 поражений. Это и будет нашими входными данными. А решение будет таким: вероятность победы – 30%, проигрыша – 70%.

Можно использовать метод Монте-Карло для симуляции инвестиционного портфеля. Предположим, нам нужно получить доходность не менее 10%. Для этого подбираем инструменты с доходностью не меньше этой величины и вычисляем среднее арифметическое. Составляющие портфеля можно варьировать для получения максимальной доходности. Здесь входными данными будут наименование, стоимость и доходность отдельного инструмента, а искомым значением – общая доходность портфеля.

Процесс моделирования методом Монте-Карло

Имитационное моделирование методом Монте-Карло – это автоматизированный процесс, позволяющий рассматривать вероятность наступления различных событий. Каждая смоделированная ситуация является уникальной, что дает возможность оценить целый спектр рисков.

При создании модели все неопределенные факторы заменяются диапазоном возможных значений. К примеру, ни один аналитик, занимающийся оценкой рисков, не может знать, каким будет курс евро через 3-5 лет. Программа позволяет задать диапазон значений на усмотрение специалиста. Разумеется, здесь многое зависит от человека: требуется определенный уровень квалификации.

Далее система распределяет вероятности. Для оценки различных параметров применяются варианты распределения:

  • Нормальное распределение. Кривая нормального распределения или Гауссова кривая, выглядит так:

Кривая нормального распределения

Значение случайной величины, расположенное посередине, характеризует наиболее высокую вероятность. Для построения кривой используются статистические данные: ожидаемое значение и стандартное отклонение. Такой вариант распределения подойдет, к примеру, для расчета стоимости коммунальных услуг в обозримом будущем.

  • Равномерное распределение. Все события могут наступить с одинаковой вероятностью, пользователю требуется лишь установить минимум и максимум.

Равномерное распределение

Кривая равномерного распределения имеет вид прямоугольника. На графике a и b – минимальные значения, С – вероятность. Подойдет для расчета условно-постоянных расходов в краткосрочном периоде.

  • Логнормальное распределение. Используется для расчета параметров, которые не могут принимать отрицательное значение, но могут расти до бесконечности. Пример: цены на энергоносители. График логнормального распределения выглядит несимметричным.

лонгнормальное распределение

  • Дискретное распределение. Может применяться, к примеру, для компьютерных игр, где вычисляется процент побед и поражений. Пользователю требуется вычислить нужные значения из числа возможных.
  • Треугольное распределение. Определяются точки минимума, максимума и максимальной вероятности. Значения, близкие к точке максимальной вероятности, принимаются в качестве вероятных. Этот вариант применяется для анализа продаж, котировок ценных бумаг, прогноза финансовых результатов по итогам деятельности и др. Треугольное распределение подходит для имитационного моделирования рисков по методу Монте-Карло.

треугольное распределение

Итак, имитационное моделирование по методу Монте-Карло выполняется многократно. По результатам всех операций делается выборка значений, результаты систематизируются и определяется итоговая вероятность события.

Выходные данные

Выходными или итоговыми данными имитационного моделирования по методу Монте-Карло могут быть числовые значения или проценты. В отдельных случаях значения могут находиться внутри диапазона.

Однако итоги тестирования выражаются не только в цифрах. Возможно также выявление каких-то функций или параметров в модели, которые оказывают наибольшее влияние на результат. К примеру, наибольшее влияние на курс рубля оказывают цены на нефть на мировом рынке.

Сколько имитационных испытаний необходимо выполнить

Количество симуляций зависит от цели исследования. Как уже упоминалось, моделирование повторяется сотни, тысячи, иногда десятки тысяч раз – чем больше испытаний, тем более достоверный результат будет получен на выходе. При наличии программы не возникает проблем в многократном повторении операции.

Преимущества и недостатки метода

Достоинствами ММК являются:

  1. Простота и универсальность – метод может применяться практически к любому типу данных.
  2. ММК позволяет учитывать не только определенный тип данных в отдельности, но и взаимосвязи между различными типами данных.
  3. Метод можно применять там, где не срабатывают привычные методы исследования, основанные на математических расчетах.
  1. Иногда требуется проведение большого количества испытаний, что может занять много времени.
  2. Для выполнения симуляций по методу Монте-Карло в программе необходимо привлекать квалифицированных специалистов.
  3. Метод не может дать достоверную оценку для событий, характеризующихся очень низкой или очень высокой вероятностью наступления.

Примеры

Перейдем к практическим примерам использования метода Монте-Карло.

Пример 1. Рассмотрим ситуацию, когда 35-летний человек планирует уйти на пенсию в 60 лет.

  • планируемый ежемесячный размер пенсии – 75 000 руб. (1 000 $ или 29 000 грн.) ;
  • безопасная ставка снятия (SWR) – 4%;
  • ожидаемая доходность инвестиционного портфеля – 6%;
  • ожидаемая волатильность портфеля – 15%;
  • период для симуляции – 25 лет;
  • количество симуляций – 5000.

Таким образом, цель – накопить 300000$ (1000х12/0.04). Проверим вероятность этой суммы, используя симулятор. Программа выполнит 125000 симуляций (5000х25 лет).

пример 1 симуляции

выходные данные

результаты симуляции

Итак, по первой строчке мы видим, что в 99,7% симуляций цель будет выполнена.

Пример 2. При тех же условиях зададим размер капитала, который мы планируем сохранить на конец периода. Для удобства примем эту сумму равной размеру начального капитала.

пример 2 симуляции

процент симуляции

Здесь процент вероятности благоприятного развития событий уменьшился до 84,3%. Что с этим можно сделать?

В какие-то периоды, когда ситуация на рынке оставляет желать лучшего или не возникает крупных непредвиденных расходов, инвестор может снимать со счета меньшую сумму – не 900 000 руб. (12 000 $ или 348 000 грн.) в год, а, скажем, 525 000 руб. (7 000 $ или 203 000 грн.) – 600 000 руб. (8 000 $ или 232 000 грн.) . Кроме того, существует еще и государственная пенсия, которая индексируется на размер инфляционного процента.

Когда я смогу накопить

Метод Монте-Карло является примером подхода к моделированию на основе результатов анализа взаимосвязей между явлениями. В наших примерах эту взаимосвязь можно охарактеризовать так: доходность инвестиций → инфляция → волатильность портфеля → капитал.

  • начальный капитал – 1 500 000 руб. (20 000 $ или 580 000 грн.) ;
  • планируемая (ожидаемая) сумма ежегодных пополнений счета – 1 125 000 руб. (15 000 $ или 435 000 грн.) ;
  • размер прочего регулярного дохода – 900 000 руб. (12 000 $ или 348 000 грн.) в год;
  • период симуляции (максимальный срок для накопления капитала) – 20 лет.

расчет накопления по методу Монте Карло

достижение целевой суммы капитала

Из графика видно, что нужная сумма накопится примерно на 13-м году. Не следует забывать о падениях рынка, которые случаются раз в несколько лет. Вместе с тем, некоторые активы могут взлететь в цене, что принесет крупный незапланированный доход. Но ориентироваться лучше на срок с запасом в 2-3 года, т.е. примерно 15-16 лет с точки отсчета.

Заключение

Достаточно понять, что метод Монте-Карло основан на моделировании случайных процессов на основании заданных пользователем исходных данных. ММК успешно применяется там, где обычные математические расчеты могут дать недостоверные результаты.

Предусмотреть все случайности с вероятностью 100% сложно, поэтому метод допускает определенную погрешность, которая частично компенсируется количеством произведенных симуляций.

Еще

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

В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:

  • Портфель с минимальным уровнем риском при желаемой доходности;
  • Портфель с максимальной доходностью при установленном риске;
  • Портфель с максимальным значением доходности

Для расчета возьмем девять акций, которые рекомендовал торговый робот одного из брокеров на начало января 2020 года и так же он устанавливал по ним оптимальные веса в портфеле: 'ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM' и 'PKI'. Для анализа будет взяты данные по акциям за последние три года.

Если сложить долю всех акций, входящих в портфель, то сумма должна стремиться к единице (а лучше быть равна). Дальше как обычно проведем подготовку данных для расчетов:

Использование метода Монте-Карло для создания портфеля

Теперь можно провести расчет для весов предложенных торговым роботом и узнать доходность данного портфеля за последник три года и стандартное отклонение.

Симуляция Монте-Карло

Первоначально небольшое вступительное слово о том, как используется метод Монте-Карлоя для оптимизации портфеля

Сначала акциям задаются случайные веса, после чего производится расчет доходности и стандартного отклонения. Полученные значения сохраняются. Следующим шагом случайным образом меняются веса (главное не забывать, что их сумма должна составлять единицу) и все повторяется — расчет и сохранение полученного значения. Количество итераций зависит от времени, мощностей компьютера для расчета и рисков, который готов принять инвестор. В этот раз попробуем провести 10000 расчетов для выявления портфеля с минимальным убытком и максимальным значением коэффициента Шарпа.

Теперь можно рассчитать портфель с максимальным коэффициентом Шарпа или минимальным риском.

Использование метода Монте-Карло для создания портфеля
Использование метода Монте-Карло для создания портфеля

Использование метода Монте-Карло для создания портфеля

Самое конечно интересное в этих данных(как и в любых других), что их можно визуализировать:

Портфель с максимальным коэффициентом Шарпа показан красной звездой, синей — с минимальным стандартным отклонением и зеленой — предложенный роботом.Как видно — портфель предложенный роботом не совпадает с этими показателями, но на каком остановиться портфеле — выбор остается за инвестором. А я постраюсь в конце года вернуться к сравнению портфелей. А сейчас все три портфеля находятся в просадке.

Читайте также: