Форум трейдеров » Психология торговли и методы управления капиталом » Моделирование сделок методом Монте-Карло
+ Подписаться
Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
  1. Да пожалуйста. Нужны только критерии.
    А 300 сделок, в принципе, хватает, чтобы в 90% случаев реализовать положительное матожидание.
  2. 169
    Комментарии
    0
    Темы
    168
    Репутация Pro
    Аватар для Evgenn  
    В начале пути

    2 Медалей
    Цитата Сообщение от Алексей Кияница Посмотреть сообщение
    Да пожалуйста. Нужны только критерии.
    А 300 сделок, в принципе, хватает, чтобы в 90% случаев реализовать положительное матожидание.
    Алексей хотелось бы не в ручном режиме менять дискретное распределение, а что бы была возможность задать необходимое кол-во прогонов. Например, при тех параметрах что использовалии вы (win/loss 40/60, pf = 2 и т.д.) мы в отдельном листе эксель получали бы все варианты кривой эквити. И вот тогда было бы интересно посмотреть в каких пределах лежат эти результаты. Чего можно ожидать от нашей системы.
  3. 2
    Комментарии
    0
    Темы
    2
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от Evgenn Посмотреть сообщение
    Алексей хотелось бы не в ручном режиме менять дискретное распределение, а что бы была возможность задать необходимое кол-во прогонов. Например, при тех параметрах что использовалии вы (win/loss 40/60, pf = 2 и т.д.) мы в отдельном листе эксель получали бы все варианты кривой эквити. И вот тогда было бы интересно посмотреть в каких пределах лежат эти результаты. Чего можно ожидать от нашей системы.
    И хотелось бы, чтоб можно было изменять быстро отношение лоса к профиту ну где по умалчанию 2, чтоб убыток с минусом был а не 2 и 1 генирировалось, а то потом приходится переделавать число z считать ,программу BootstrapIt не кто не знает, что это
    это схоже с монте-карло как я понял метод , но более эфективен, а можно еще добавить чтоб серии считал . Спасибо зарание.
    Ниже прилагаю статью.
  4. 2
    Комментарии
    0
    Темы
    2
    Репутация Pro
     
    Новичок

    2 Медалей
    К вопросу о предикативной ценности моделирования результатов трейдинга
    методами Монте-Карло и Бутстреп

    Михаил Королюк (moysha@sertolovo.ru)

    С благодарностью Петри Николай Викторовичу (aka Nikvic) за написанную программу BootstrapIt! и важную помощь, оказанную при написании данной статьи.

    Признаюсь сразу, название статьи навеяно бессмертным произведением братьев Стругацких «Понедельник начинается в субботу». Помните, во ВНИИЧАВО был Отдел Предсказания Будущего и практикующиеся авгуры писали работы на тему влияния сорта кофе на предикативную ценность кофейной гущи. В свое время я с приятелями в шутку пытался формулировать аналогичные по бестолковости темы в области медицины. Шедевром был признан вариант «Влияние фаз Луны на динамику автомобильных катастроф среди курящих женщин острова Мадагаскар».
    В каждой шутке есть доля шутки, однако к сухому остатку названия статьи я призываем отнестись без предубеждения: быть может мы действительно имеем возможность с помощью этих методов осуществлять прогнозирование результатов трейдинга, естественно, при условии сохранения в будущем характера рынков.
    Попробую сначала простым человеческим языком описать суть используемых методов применительно к проблематике трейдинга. Предположим, у нас есть кривая дохода. Это может быть кривая дохода торговой системы, полученная в результате тестирования, это так же может быть и динамика реального счета под управлением – не важно, как получены эти данные, главное, что они отражают некий торговый результат, получаемый как следствие реализации стандартного алгоритма действия трейдера на рынке.
    Итак, у нас есть стандартный алгоритм действий на рынке, основанный на анализе динамики непредсказуемым образом изменяющихся цен (или иных показателей). Когда мы открываем позицию, мы не знаем, что она нам принесет в итоге. В некоторых случаях мы получаем в результате прибыль, в некоторых – убытки. Результат сделки показывает, что последовало за входом – «прибыльную» возможность нам предоставил после этого рынок или «убыточную». Конечный результат кривой дохода зависит от того, сколько раз после получения сигнала на открытие позиций рынок предоставлял «прибыльные» возможности и сколько – «убыточные». И какова была количественная структура «прибыльных» возможностей – сколько среди них было больших выигрышей, средних и так себе. То же самое относится и к количественной структуре «убыточных» возможностей.
    Известно выражение – «в будущем все будет так же как и в прошлом, только иначе». Смысл этого выражения применительно к рынку видится так: рынок и в будущем будет предоставлять «прибыльные» и «убыточные» возможности, но в иных пропорциях между собой и внутри себя. Именно изменение этих пропорций в будущем и приводит к изменению доходности наших торговых алгоритмов.
    Рассмотрим результаты каждой сделки как эксперимент, показавший, что следовало за входом – «прибыльная» или «убыточная» возможности, а результаты всех сделок как отражение структуры «прибыльных» или «проигрышных» возможностей. Тогда, изменив случайным образом структуру сделок, мы получаем «отражение» некоего гипотетического рынка, имеющего несколько иную структуру «прибыльных» и «убыточных» участков. Чем сильнее мы изменим таким образом структуру гипотетического рынка, тем дальше будет лежать конечный результат от того, который мы уже получили. В совокупности все возможные варианты сочетаний результатов сделок образуют множество гипотетических рынков с разными структурами «прибыльных» или «убыточных» возможностей и разными результатами применения наших торговых алгоритмов. Один такой рынок уже реализовался: его мы использовали при бэк-тестинге или в реальной торговле. Остальные могут реализоваться в будущем.
    Мы можем попробовать оценить результаты применения нашей торговой системы на всем множестве этих гипотетических рынков сразу. При этом для характеристики некого множества нет надобности в его полном воссоздании – можно ограничиться выборкой, создаваемой с помощью метода Монте-Карло.
    Метод Монте-Карло представляет собой генерацию заданного пользователем количества m элементов выборки размером n.
    Переводя это с математического языка на русский, представим себе мешочек лото, из которого наугад вытаскивают бочонки с номерами на торцах. В нашем случае в качестве таких бочонков выступают результаты сделок (для кривой, полученной в результате тестирования) или ежедневные изменения реального счета. В отличие от обычного лото, после вытаскивания наш «бочонок» не отставляется в сторону, а снова возвращается в мешок и может быть снова вытащен наружу. В итоге таких манипуляций мы получаем новую серию длиной в m сделок или m торговых дней, составленную из уже имеющихся результатов, только в произвольном порядке, причем некоторые результаты могут повторяться и по несколько раз, а другие – могут отсутствовать вовсе. Так мы создали один элемент выборки из гипотетического множества рынков. Теперь увеличим размер выборки до 1.000 или 10.000 элементов – и мы получили достаточную для статистического анализа выборку «гипотетических» рынков.
    Чем дальше будет отстоять структура каждого гипотетического рынка от исходного, использовавшегося при бэк-тестинге или в реальной торговле, тем реже такой рынок будет встречаться в выборке. Если в исходной серии сделок соотношение прибыльных и убыточных сделок было 50 на 50, то рынки с соотношением 30 на 70 в выборке будет встречаться гораздо чаще, чем 10 на 90 и реже, чем 40 на 60.
    Полученную с использованием метода Монте-Карло выборку можно далее исследовать стандартными способами – вычислять из результатов серий сделок такие показатели как, например, среднюю геометрическую сделки или максимальный дродаун, а также изучать плотности их распределения.
    Метод бутстреп является вариантом Монте-Карло, в котором для моделирования будущих траекторий рынка используются не только сами значения кривой дохода, но и вероятности образования серий из знаков. Иначе говоря, перед проведением моделирования определяется какова, например, вероятность того, что после прибыльной сделки следует убыточная (глубина анализа = 1), после двух подряд прибыльных сделок следует убыточная (глубина анализа =2) и т.д. и в дальнейшем при проведении самого моделирования учитываются эти значения вероятностей. Говоря математическим языком, бутстреп-процесс строится как марковская цепь с конечным числом состояний (2 в степени глубина), каждое из которых генерирует свою случайную величину (профита).
    Необходимость учета вероятности образования серий связана с тем, что на рынке может существовать склонность к образованию бόльшего количество серий сделок одного знака, чем это следовало бы из их случайного распределения. Так, например, в ходе восходящего тренда вероятность появления прибыльных сделок выше, чем в среднем за все время существования рынка. Особенно важен учет вероятности образования серий может быть при анализе просадок счетов, так как последние образуются как раз в результате серий из убыточных сделок и преуменьшение средней длины убыточных серий может привести здесь к получению заниженного значения риска.
    Понятно, что чем больше глубина предварительного анализа при бутстрепе, тем потенциально более точно мы смоделируем выборку. Однако здесь есть существенный ограничитель: количество значений в исходной выборке по порядку должно быть больше, чем 2^глубина и, желательно, существенно больше. В таблице ниже приведены ориентировочные минимальные и желательные объемы исходных выборок для использования определенной глубины анализа:
    Глубина 1 2 3 4 5 6 7 8 9
    2^глубина 2 4 8 16 32 64 128 256 512
    Минимальное количество исходных данных 30 50 100 200 500 800 1000 3000 5000
    Желательное количество исходных данных >100 >1000 >10000

    Таковы, в общих чертах, используемые в данной работе методы. Для решения вопроса о возможности их практического использования необходимо решить ряд методических вопросов:
    1. необходимо определить какой из рассматриваемых методов лучше подходит для решения вопросов, возникающих в ходе трейдинга;
    2. очертить собственно сам круг вопросов, для решения которых возможно использование данных подходов;
    3. попробовать, насколько это возможно, определить практически границы их применимости.
    Ниже я попробовал начать отвечать на эти вопросы.

    1. Сравнение результатов моделирования методами Монте-Карло и бутстреп

    Сравнение методов осуществлялось путем моделирования из исходной выборки данных по 1000 серий максимально возможной длины (32.000 значений) и вычисления средних выборочных доходности и максимального дродауна.
    а. исходная выборка – 2613 сделок при тестировании набора систем на портфеле акций, максимальный дродаун исходной выборки -5.9%.
    Глубина 0 1 2 3 4 5 6 7 8 9
    Доходность,% 1930 1930 1936 1929 1941 1923 1933 1933 1929 1932
    Макс. ДД, % -4.0 -7.1 -6.5 -6.1 -6.6 -6.4 -6.9 -6.8 -7.1 -7.2

    б. исходная выборка – данные о ежедневном изменении реального счета (193 торговых дня)
    Глубина 0 1 2 3 4 5 6 7 8 9
    Доходность,% 3801 4031 3876 3575 3380 3586 3306 3164 2517 3054
    Макс. ДД, % -79 -77 -86 -91 -91 -86 -90 -94 -92 -68

    В итоге у меня сложилось впечатление, что для моделирования будущей доходности не принципиально, каким методом проводится моделирование – Монте-Карло (глубина = 0), или бутстрепом (глубина >=1). Так же это не принципиально, скорее всего, (по крайней мере различия не бросаются в глаза) и при определении вероятной глубины дродаунов для эквити реального счета и для кривой дохода одной системы на одном активе (данные не приведены). А вот моделирование значений максимальных дродаунов в случае, когда исходная выборка является результатом сложения нескольких торговых систем протестированных на нескольких активах, чувствительно к глубине анализа. И это понятно: поскольку системы и активы, как правило, имеют значительную положительную корреляцию, то при значительном числе складываемых в портфель активов и систем, результаты тестирования будут иметь склонность к образованию длинных серий. В силу этого представляется разумным во всех случаях моделирования использовать метод бутстреп – в тех случаях, когда он не имеет преимуществ перед методом Монте-Карло, он не имеет и дополнительных недостатков («кашу маслом не испортишь»), в других же случаях он более точно моделирует изучаемые параметры. Поэтому далее по тексту статьи я будем пользоваться только моделированием по методу бутстреп.

    Возможные области применения метода бутстреп в анализе результатов трейдинга
    Ниже я попробую показать возможности использования моделирования методом бутстреп на примере анализа данных о собственном реальном трейдинге. В качестве исходных данных выступают данные о ежедневном изменении торгуемого счета в течение 222 торговых дней – с 4.04.2002 по 07.03.2003. В ходе торговли была получена прибыль в размере 33.4% при максимальной просадке счета в 13% (рис.1).
    Попробуем построить прогноз будущих результатов для временного горизонта в 3 года. С этой целью с помощью программы BootstrapIt! создаем выборку из 200 возможных траекторий счета (длина серии выборок = 756, что соответствует 3 годам из расчета 21 день в месяце), глубина=4, без реинвестирования прибыли. Для созданной выборки среднее значение итоговой доходности составило +106%, среднее значение максимального дродауна -32.4% (рис.2а).

    Рис.1. Ежедневная динамика исходного счета.
    Для сравнения аналогичную выборку делаем для данных о ежедневном изменении индекса ликвидных акций, который за указанный интервал времени вырос на 25.7% при максимальном дродауне в 32.5%. Для этой контрольной выборки, характеризующей стратегию buy&hold, среднее значение итоговой доходности составило +63%, среднее значение максимального дродауна -47.0% (рис.2в).

    Рис.2а. Моделирование работы системы Рис.2в. Моделирование стратегии «Buy&Hold»

    Внимательное сравнение двух графиков наводит на интересные мысли: с одной стороны различие между моделированием результатов активной системной торговли и стратегии «Buy&Hold» налицо, с другой – степень различия не так чтобы очень выражена – по крайней мере на первый взгляд. Мораль, на мой взгляд, такова: не следует ждать от трейдера чудес, по большому счету его производительность определяется рынком, тем, на сколько рынок был благоприятен или неблагоприятен для трейдинга. А трейдер может лишь несколько увеличить доходность и уменьшить риски относительно рынка. Но и этого, как мы увидим ниже, вполне достаточно для того, чтобы к этому стремиться.
    Проделаем моделирование с теми же данными в режиме реинвестирования прибыли . Доходность трейдинга составила в этих условиях +190% при среднем размере максимального дродауна в -28.5% (рис.3а.), доходность «Buy&Hold» +90% при среднем размере максимального дродауна в -38.6% (Рис.3а.).

    Рис.3а. Моделирование работы системы Рис.3в. Моделирование стратегии «Buy&Hold»





    Подведем промежуточный итог в таблице:
    Без реинвестирования С реинвестированием
    Доходность Max DD Доходность Max DD
    трейдинг 106% 32,4% 190% 28,5%
    Buy&Hold 63% 47,0% 90% 38,6%

    Тут необходимо в очередной раз сделать выбор используемого далее режима тестирования – с реинвестированием или без реинвестирования. Представляется, что ближе к реальным условиям торговли находится режим «с реинвестированием», и не только потому, что большинство трейдеров работает именно так, но и в силу того, что именно в этом режиме мы получаем наиболее точное представление о максимальных дродаунах.
    Действительно, если запустить моделирование в режиме без реинвестирования, то нередки случаи, когда максимальные дродауны превышают -100%, что не имеет физического смысла. Происходит это потому, что без реинвестирования мы каждый день или каждую сделку «заходим» постоянной суммой. В реальной же торговле в ходе дродаунов происходит уменьшение торгового капитала и каждый последующий убыток оказывается в процентном выражении к последнему локальному максимуму эквити все меньше и меньше. В качестве иллюстрации график, на котором представлено эквити из 50 подряд убыточных сделок по -1.5% каждая в режиме с реинвестированием (зеленая линия), и без реинвестирования (красная линия).

    Очевидно, что за счет мультиплицирования убытков при реинвестировании глубина максимальных дродаунов оказывается меньше и ближе к тем значениям, которые получаются при реальной торговле.
    Таким образом, я делаю выбор в пользу использования бутстрепа в режиме реинвестирования прибыли.
    Попробуем далее оценить доходность и риск как самого трейдинга, так и стратегии «buy&hold» в терминах вероятности получения того или иного результата. Для начала необходимо оценить плотности распределений этих показателей (1000 серий):

    Рис. 5 а. Плотность распределения доходности трейдинга.

    Рис. 5 б. Плотность распределения максимальных дродаунов трейдинга.

    Рис. 5 в. Плотность распределения доходности стратегии «Buy&Hold».

    Рис. 5 г. Плотность распределения максимальных дродаунов стратегии «Buy&Hold».

    По сути дела плотности распределения данных величин позволяют оценить вероятность того или иного исхода торговли (или стратегии «Buy&Hold») по истечению 3-х летнего периода. К примеру, если обратиться к рис.5.а и, взяв из колонки «интегральный процент» значения 10% и 70%, посмотреть на значения соответствующих карманов, то можно сделать вполне обоснованный вывод, что:
    1. вероятность получения по итогам 3х лет торговли прибыли менее 40% составляет менее 10%;
    2. вероятность получения по итогам 3х лет торговли прибыли более 240% составляет менее 30% (=100%-70%).

    Взяв те же самые 10% из колонки «интегральный процент» на рис.5.б определяем, что существует 10% вероятность того, что максимальный дродаун в ближайшие 3 года превысит 40%, в то время как стратегия «Buy&Hold» на этом уровне вероятности дает максимальный дродаун свыше 55% (рис. 5.д).
    Естественно, что можно определить таким образом вероятностные исходы торговли и для иной длительности трейдинга. Например, возможно получение таких таблиц:

    Рис.6 а. Вероятностная доходность трейдинга с реинвестированием.
    Примеры интерпретации данных:
    - существует 95% вероятность получения прибыли при работе в течение 1.5 года;
    - вероятность получения убытка по результатам первых 3 месяцев составляет не менее 25%;
    - вероятность получение за пол года трейдинга прибыли, превышающей 30%, составляет не более 25%.

    Рис.6 б. Вероятностная глубина максимальных дродаунов трейдинга с реинвестированием


    Рис.6 в. Вероятностная доходность стратегии “buy & hold”


    Рис.6 г. Вероятностная глубина максимальных дродаунов стратегии “buy & hold”

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

    Анализ приведенных выше таблиц и их сравнение между собой позволяют сделать некоторые интересные выводы о статистических особенностях активного трейдинга:

    1. Довольно неожиданной оказалось картина разницы вероятностных доходностей активного трейдинга и стратегии “buy & hold” (рис.7). В «правом верхнем» углу таблицы неожиданно обнаружилось преимущество стратегии “buy & hold”. После некоторого раздумья мы сформулировали следующий вывод: Стратегии “buy & hold” более подвержена влиянию “везения” или “невезения”, нежели активный трейдинг. За счет этого при определенном везении “buy & hold” может краткосрочно показывать большую доходность, нежели активный трейдинг, однако затем системная торговля закономерно берет вверх.

    Рис.7. Разница вероятностных доходностей активного трейдинга и стратегии “buy & hold”.
    2. Вероятность получения нового максимального дродауна со временем уменьшается (рис.8):

    Рис. 8. Скорость нарастания значений максимальных дродаунов со временем замедляется.
    Несмотря на это, со временем неизбежно ухудшение качества систем, оцениваемых по соотношению доходность/риск, так как доходность остается примерно на одном месте, а максимальные дродауны хоть и все реже и реже, но нарастают. С другой стороны, оценка систем по показателю общий доход за все время торговли/принятый риск будет улучшаться в силу этих же причин – прибыль нарастает более-менее равномерно, дродауны углубляются все реже и реже.
    3. Интересным представляется график времени выхода в безубыточную зону с заданной степенью вероятности (рис.9):

    Рис. 9. Время выхода в безубыточную зону с заданной степенью вероятности.
    По оси ординат – время в днях (логарифмическая шкала), по оси абсцисс – вероятность. Красная линия – стратегия «buy & hold», синяя линия – активный трейдинг. Произведена аппроксимация обоих линий уравнениями регрессии, формулы которых приведены на графике.
    Представляется, что данные уравнения регрессий могут использоваться в качестве важных характеристик торговых процессов, как для оценки их эффективности относительно «рынка» (стратегии «buy & hold»), так и для сравнения между собой. Критерий безубыточности можно произвольно заменять на любой другой: например, на получение прибыли определенного размера или дродауна заданной глубины. Интересной может быть и возможность оценки динамики коэффициентов уравнений регрессии, выведенных для относительно не широкого скользящего временного окна.
    Впрочем, я уверен, что возможности практического использования моделирования результатов трейдинга методом бутстреп гораздо шире, чем это кажется разбушевавшейся фантазии автора статьи – и с радостью готов выслушать от читателей данного материала предложения, расширяющие пределы возможного.
  5. 53
    Комментарии
    0
    Темы
    53
    Репутация Pro
    Аватар для UP.  
    В начале пути

    2 Медалей
    В этом году методу Монте-Карло исполняется 60 лет. И, хотя метод статистических испытаний был известен давно, именно в 1949 году Nicholas Constantine Metropolis предложил ему такое название в честь своего дяди – азартного игрока.

    В первом посте ветки дано совершенно верное определение метода, но вот реализация его в файле… увы, но.., как говорит один известный в рунете трейдер: «Это ни разу, не Монте-Карло». Чтобы не заниматься «голым» критиканством предлагаю свой вариант примера расчета ММ методом Монте-Карло.

    Предположим, что у нас имеется результат тестирования некой ТС на исторических данных в виде последовательности результатов сделок в пунктах. Предполагаем так же, что валюта, по которой проводилось тестирование, – прямая. В случае обратной валютной пары потребуется предварительно пересчитать результаты сделок из пунктов в некоторые условные единицы, а проще всего, в этом случае, взять величины выигрыша/проигрыша в долях от ставки.
    Требуется рассчитать рабочий лот для ММ по методу «Фиксированный лот» (ФЛ).

    Из букварей мы знаем (Сафин В.И. «Книга, не помню какая»  из учебников Академии ФК), как рассчитать минимальный депозит при ФЛ

    Dmin = Lmin + k*K(MIDD),
    где
    Lmin – минимальный лот в долларах (разумеется, подразумевается маржа);
    k – коэффициент запаса на превышение просадки более MIDD тестового периода;
    K(MIDD) – максимальная просадка тестового периода в пересчете на минимальный лот.
    Обычно коэффициент запаса рекомендуется брать 2-3 исходя из того, что просадка – величина случайная. Если бы сделки следовали в другом порядке, то и максимальная просадка в тестовой последовательности была бы иной. Кроме того, длина тестовой последовательности, как правило, не равна предполагаемому времени жизни ТС. Если в тесте имеем, например, 100 сделок, то в реальных торгах на последовательности 300-500 сделок величина просадки может быть существенно больше. Из теории известно, что величина максимальной просадки эквити возрастает примерно пропорционально корню квадратному из длины последовательности.
    На практике, начальный депозит обычно берут больше минимального расчетного, поэтому рабочий лот из приведенной формулы можно рассчитать

    Lраб = Lmin*(Dфакт/Dmin).

    Используя метод Монте-Карло можно определить величину рабочего лота гораздо более точно и обоснованно. Если генерировать последовательности сделок длиной равной времени жизни ТС и для каждой последовательности вычислять MIDD, то, построив гистограмму распределения MIDD, можно определить величину, которую MIDD не превысит с заданной вероятностью. Тем самым мы можем выбрать такой рабочий лот, который обеспечит вероятность разорения (слива депозита) не выше любой, наперед принятой, на протяжении всего цикла жизни ТС. Естественно, что для этого нам надо генерировать последовательности с такой же гистограммой плотности распределения сделок, как и в тестовой последовательности. То есть, моделировать работу имеющийся торговой системы на длине последовательности существенно отличающейся от тестовой.

    Здесь необходимо сделать небольшое отступление от темы. ;)
    Дело в том, что всё вышесказанное справедливо только в том случае, если «правильно» понимать метод ФЛ. По форумам, и вообще в инете, почему-то считается, что ФЛ означает неизменный лот всё время торгов. Независимо от того - растет депозит или падает?! Но, это противоречит тем формулам, расчета минимального депозита и рабочего лота, которые приведены выше! В самом деле, допустим, мы посчитали рабочий лот, который обеспечивает безопасное расстояние до маржин кола и совершили первую сделку. Если сделка проигрышная, то всё понятно – залезли в просадку, но мы её не боимся, т.к. был сделан расчет, который обеспечивает безопасный выход из просадки, и продолжаем торговать тем же самым лотом, до тех пор, пока депозит не вернется в исходное состояние. Ну, а если первая сделка выигрышная? Тогда совершать вторую сделку тем же лотом – глупость. Зачем было делать какие-то расчеты, если после первой же сделки выбросить их в корзину? Более естественным, ИМХО, будет увеличить рабочий лот пропорционально увеличению депозита и так до тех пор, пока не встретится первая проигрышная позиция и не зафиксирует лот до выхода из просадки. В таком понимании ФЛ:
    - обеспечивается реинвестирование депозита без изменения риска слива депозита;
    - отсутствует эффект асимметричного рычага;
    - при входе в просадку, точно известно – какую просадку в пунктах выдержит депозит. Это величина будет константой всё время торгов.
    Впрочем, всё это вопросы терминологии, и я не настаиваю на своей точке зрения. Можно называть такой метод ММ фиксированным лотом, можно пропорционально-фиксированным, можно фиксированно-пропорциональным, а можно и вообще обозвать супремальным (от слова supremum – верхняя граница). Важно то, что в приаттаченном экселовском файле применен именно этот метод манименеджмента.

    Вернемся к нашим «МонтеКарлам».
    Как построить гистограмму плотности распределения случайной величины, надеюсь, все знают. Для этого можно использовать надстройку «Анализ данных» Excel'а. Те, у кого этого пункта меню в меню «Сервис» нет, - пока ещё не установили эту надстройку, которая по умолчанию в Excel – не устанавливается. В этом случае необходимо зайти в пункт «Надстройки» меню «Сервис» и поставить галочки напротив интересующих Вас надстроек. В частности – «Анализ данных». А в пакете «Анализ данных» есть функция «Гистограмма», которая строит числовые и графические значения гистограмм по указанному массиву значений случайной величины.

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

    - Пусть тестовая последовательность сделок состоит из следующих типов сделок:
    10 штук по -100 пунктов, или -1 по отношению к ставке;
    20 штук по -50 пунктов, или -0,5 по отношению к ставке;
    40 штук по 50 пунктов, или 0,5 по отношению к ставке;
    30 штук по 100 пунктов, или 1 по отношению к ставке.
    Всего 100 сделок и четыре типа. Разумеется, что спред должен быть учтен в размерах сделок. Гистограмма такой системы дискретна и показана на рисунке 1.

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

    Заметим, что предельная высота графика равна единице. Этот график – всегда неубывающий. Всё это - свойства функции распределения, но они-то и позволяют генерировать случайные числа с характеристиками соответствующими данной функции распределения.
    Возьмем случайную величину, равномерно распределенную в интервале от нуля до единицы, и будем откладывать её по оси Y построенного графика. Если провести через полученную случайную точку горизонтальную прямую, то она пересечет график только в одной точке – соответствующей какому-либо значению типа сделки. Причем, вероятность попадания такой случайной точки будет пропорциональна величине вертикального отрезка графика функции вероятности для каждого типа сделки. Таким образом, в серии последовательных генераций равномерно распределенной случайной точки каждый тип сделки будет генерироваться с вероятностью совпадающей с исходной, из гистограммы плотности вероятности сделок. Для генерации равномерно распределенной случайной величины в интервале от нуля до единицы в Excel есть функция СЛЧИС().
    Такой способ генерации случайных чисел позволяет моделировать любые случайные величины, не только дискретные распределения, но и непрерывные. Но, в этом случае лучше использовать не дискретную функцию вероятности, а кусочно-линейную аппроксимацию.

    Прежде чем приступать к моделированию методом Монте-Карло, необходимо убедиться в отсутствии закономерностей в тестовой последовательности сделок. Для этого можно посчитать Z-счет системы, но в Excel есть функция расчета корреляции массивов, которая, в данном случае, значительно удобнее. Строго говоря, для того, чтобы исследовать последовательность на присутствие закономерностей, необходимо вычислить функцию автокорреляции имеющейся последовательности и рассмотреть её, по крайней мере, до двадцатого члена. Но, мы обойдемся только первым членом Corr(τ = 1).
    В прикрепленном файле исходная последовательность сделок расположена в массиве B11:B81, а автокорреляция - в ячейке B5, на листе «Статистика». Поскольку значение Corr(τ = 1) = 0,045205 то можно считать, что в исходной последовательности закономерности отсутствуют. Если бы значение автокорреляции по модулю было бы около 0,1 , то был бы повод призадуматься, а при значении по модулю более 0,2 приведенный метод Монте-Карло просто нельзя было бы применять.

    Кроме того, на листе «Статистика», в верхних четырех строках посчитаны обычные параметры ТС, которые пока не представляют интереса, и в ячейке G5 – MIDD тестируемой системы. Для расчета MIDD, в столбцах C-E вычисляется эквити системы в пунктах, её верхняя граница, и разность эквити и верхней границы. Максимальная разность и есть – MIDD тестовой последовательности. Если по полученному MIDD вычислить минимальный депозит и рабочий лот «классическим» способом, то для условий Lmin = 10$ и плечо 100:1, получим

    Dmin = 10$ + 3*(10$*208/100) = 72.4$
    f = Lmin/ Dmin = 10/72.4 = 0.138

    Запомним пока эти цифры, чтобы потом сравнить их с теми, которые получим по методу Монте-Карло.
    Главное же, что вычисляется на листе «Статистика», это расчет гистограммы и функции вероятности тестовой последовательности сделок. Данные из таблиц J11:L25 используются в дальнейших расчетах.

    На следующем листе – «Эквити», представлен график эквити (в терминологии МТ – баланса) тестовой последовательности сделок (синий), и график верхней границы эквити (красный). Кстати, во избежание «лишних» вопросов, сразу скажу, что это результаты реального тестировании на истории реальной торговой системы, но не моей. Так что, мне не известна ни сама ТС, ни время теста, ни даже валюта, по которой тестировалась данная система. Автор ТС в курсе данной публикации, наверняка зайдет посмотреть и почитать, т.к. давал согласие на публикацию, и если захочет – объявится.

    Лист «Расчет» - собственно сам расчет по методу Монте-Карло. Запуск расчета производится нажатием кнопки «ПроМонтеКарлить» расположенной в районе ячейки J1. При нажатии кнопки запускается макрос, работающий по следующему алгоритму:
    1 – Генерируется 500 случайных целых чисел, равномерно распределенных в диапазоне от 0 до 70 (количество сделок в исходной последовательности сделок) A20:A519;
    2 – Для каждого сгенерированного числа по таблице вероятностей (A1:B15) находится соответствующий результат сделки и заносится в массив B20:B519;
    3 – По найденным значениям сделок вычисляется эквити, верхняя граница эквити и текущая просадка в столбцах C, D, E, - соответственно;
    4 – В ячейках F1 и G1 вычисляется MIDD и конечное значение эквити в пунктах. После чего вычисленные значения копируются на очередное свободное место в массив F5:G10004;
    5 – Далее вновь выполняется пункт 1 алгоритма, и цикл продолжается 10 000 раз.
    6 - По окончанию цикла расчета обновляется содержимое массива F3:G4 - максимальное и минимальное значение MIDD и просадки. Эти значения нужны только для того, чтобы заполнить диапазон карманов гистограмм MIDD и эквити в столбцах I, J. Заполнение делается «вручную» через меню Правка/Заполнить/Прогрессия и размер карманов выбирается таким, чтобы вид гистограмм был удовлетворительным.

    Следующий лист «Проверка» создан с помощью надстройки Сервис/Анализ_Данных/Гистограмма и использован массив данных G5:G10004 листа «Расчет», а диапазон карманов из столбца J того же листа. Гистограмма конечного значения эквити в пунктах, представленная на листе «Проверка», для расчетов ММ совершенно не нужна и выполнена только для того, чтобы можно было проверить безошибочность реализации алгоритма метода Монте-Карло и расчетных формул.
    Из центральной предельной теоремы нам известно, что распределение суммы независимых случайных величин стремится к нормальному закону распределения независимо от законов распределения составляющих сумму случайных величин, при условии, что среди этих случайных величин – нет превалирующих. В нашем случае, конечное значение эквити в пунктах, это сумма отдельных реализаций одной и той же случайной величины – ТС с известным эмпирическим распределением, а то, что они независимы – мы уже проверили в самом начале при вычислении автокорреляции. Поэтому, условие центральной предельной теоремы соблюдаются, и осталось только проверить соответствие полученного в результате расчета распределения – теоретическому. Для этого, с помощью надстройки Сервис/Анализ_Данных/Описательная_статистика, вычисляем статистические характеристики массива Расчет!G5:G10004 и выкладываем на лист «Проверка». Значения характеристик эксцесс и асимметричность равные (практически) нулю подтверждают, что конечное значение эквити, полученное по методу Монте-Карло, действительно имеет распределение Гаусса. Осталось только сравнить числовые характеристики, полученные аналитическим и экспериментальным путем. Поскольку матожидание суммы независимых случайных величин равно сумме матожиданий, то в ячейке G25 вычислено аналитическое значение матожидания, которое можно сравнить с эмпирическим - из ячейки E25. Следующая характеристика – дисперсия, для которой известно, что дисперсия суммы независимых случайных величин равна сумме дисперсий этих величин. В ячейке G29 вычисляется среднеквадратичное отклонение аналитическим путем и его можно сравнить с ячейкой E29, в которой находится его эмпирическое значение. Равенство обеих характеристик довольно-таки точное, поэтому можно сделать вывод о том, что расчет произведен без ошибок.

    Для тех, кто будет использовать прикрепленный файл для анализа собственной системы, я бы рекомендовал не пренебрегать листом «Проверка». Наверняка у Вас будет своя длина тестовой последовательности сделок, своё время жизни системы и своё количество типов сделок. Придется менять не только ссылки на данные, но и некоторые формулы, в которые уже введены данные в виде коэффициентов. А, как говорил мой Учитель: «Искусство не делать ошибок состоит в том, чтобы обнаруживать их до того, как их обнаружат другие!», в нашем случае – рынок :bow: .

    Кстати, листы «Расчет» и «MIDD» не обновляются автоматически при нажатии кнопки «ПроМонтеКарлить» или при обновлении других листов, т.к. сформированы при помощи надстройки «Анализ данных». Их надо создавать заново – если Вы меняете какие-либо данные.
    На листе «MIDD» собственно расчет ММ. При генерации листа надстройкой «Гистограмма», на листе формируется два столбца числовых данных гистограммы – A и B. Суммированием столбца B, в столбце C получаем функцию вероятности в пунктах и делением на количество опытов=10 000 – в столбце D настоящую функцию вероятности того, что MIDD не превысит значение из столбца A. Теперь, если мы зададим какое-либо значение вероятности, например 0,97 , то можем определить, какое значение MIDD не будет превышено с заданной вероятностью.

    P = 0.97 MIDD = 345 пункта f = 0.2247

    Можно сравнить полученное значение MIDD с тем, что мы брали при классическом способе расчета

    MIDD = 3*208 = 624 пункта f = 0,138

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

    1-0,97 = 0,03

    Для тех, кто хочет проверить расчеты экспериментально, есть ещё лист «Пример». На этом листе, при нажатии клавиши F9 генерируются эквити по данной системе и рассчитанным ММ при начальном депозите 500$ и с учетом дискретности ставки 10$. Чтобы отслеживать моменты слива депозита, в ячейку D14 заносится конечное значение депозита после 500 сделок и если происходит слив, то ячейка подсвечивается красным цветом. :wall:

    P.S. Как-то странно картинки вложились. Не научился ещё на этом форуме.
      
    Вложения Вложения
  6. 32
    Комментарии
    0
    Темы
    32
    Репутация Pro
     
    Новичок

    2 Медалей
    А мне нравится.:)

    Ну, во-первых, по тому, что я разделяю подход Up. управления риском в торговле через контроль за «вероятностью разорения».
    Во-вторых, потому, что был предложен простой и элегантный метод построения последовательности произвольной длины по наперед заданному распределению плотности вероятности.

    Но есть и вопросы.
    Перовое.
    Я никак не вижу, каким образом интегрирована Ваша модель ММ в предлагаемом расчете. Из того, что Вы пишете о методе ММ, размер лота должен расти с ростом счета. Вроде так.
    А в моделировании у Вас как это реализовано, рост лота и, соответственно, рост величины выигрыша/проигрыша при росте счета?

    Второе.
    Раз уж Вы сказали: «Ну, а если первая сделка выигрышная? Тогда совершать вторую сделку тем же лотом – глупость. Зачем было делать какие-то расчеты, если после первой же сделки выбросить их в корзину? Более естественным, ИМХО, будет увеличить рабочий лот пропорционально увеличению депозита и так до тех пор, пока не встретится первая проигрышная позиция и не зафиксирует лот до выхода из просадки.» . Хочется получить правило роста (приращения) начального лота.

    Ну, уж точно не пропорционально росту депозита должен расти размер торгуемого лота. Это (правило роста) надо показать. Чтобы было не ИХМО или потому, что Верю, а потому что Знаю как правильно.

    Я думаю, что в ММ «ИМХО» может быть использовано только дважды. Первый раз, когда выбираем как наращивать депозит: или через фиксированный лот, или через фиксированный риск по счету. Второй раз, когда определяем приемлемую для себя величину Вероятности разорения.

    Если был излишне резок, прошу прощенья.
    Лично мне предложенный Вами (Up.) подход интересен и в силу возможности готов конструктивно общаться.


    Думаю, многим предложенный Вами вариант ММ понравится и появится желание его использовать, поэтому следовало бы его разобрать и посчитать поточнее, там, где надо.
  7. 53
    Комментарии
    0
    Темы
    53
    Репутация Pro
    Аватар для UP.  
    В начале пути

    2 Медалей
    Цитата Сообщение от Наумов Посмотреть сообщение
    А мне нравится.:)

    Ну, во-первых, по тому, что я разделяю подход Up. управления риском в торговле через контроль за «вероятностью разорения».
    Во-вторых, потому, что был предложен простой и элегантный метод построения последовательности произвольной длины по наперед заданному распределению плотности вероятности.

    Но есть и вопросы.
    Перовое.
    Я никак не вижу, каким образом интегрирована Ваша модель ММ в предлагаемом расчете. Из того, что Вы пишете о методе ММ, размер лота должен расти с ростом счета. Вроде так.
    А в моделировании у Вас как это реализовано, рост лота и, соответственно, рост величины выигрыша/проигрыша при росте счета?
    Связь модели и ММ в том, что при моделировании ни как не учитывается расположение MIDD относительно времени. Где бы не встретился MIDD, мы его считаем в пунктах и в начале, и в конце времени жизни ТС. Чтобы риск был постоянным при любом депозите мы должны входить в просадку таким лотом, чтобы точно хватило на максимальную расчетную, а это обеспечивается только в том случае, если лот растет пропорционально росту депозита, т.к. мы не знаем наперед - когда начнется просадка.
    Цитата Сообщение от Наумов Посмотреть сообщение
    Второе.
    Раз уж Вы сказали: «Ну, а если первая сделка выигрышная? Тогда совершать вторую сделку тем же лотом – глупость. Зачем было делать какие-то расчеты, если после первой же сделки выбросить их в корзину? Более естественным, ИМХО, будет увеличить рабочий лот пропорционально увеличению депозита и так до тех пор, пока не встретится первая проигрышная позиция и не зафиксирует лот до выхода из просадки.» . Хочется получить правило роста (приращения) начального лота.

    Ну, уж точно не пропорционально росту депозита должен расти размер торгуемого лота. Это (правило роста) надо показать. Чтобы было не ИХМО или потому, что Верю, а потому что Знаю как правильно.
    Мне кажется, что уже ответил, но ещё уточню.
    Считаем или минимальный депозит, или рабочий лот, если начальный депозит больше минимального. Определяем

    f = Lраб/Dнач

    фиксированную долю (процент от депозита), которой и совершаются все последующие сделки до первой убыточной. Как только первая убыточная сделка произошла - началась просадка депозита. Следовательно лот не меняется до тех пор пока депозит не вернется к размеру, который был до входа в просадку или не будет достигнут лимит потерь.
    Цитата Сообщение от Наумов Посмотреть сообщение
    Я думаю, что в ММ «ИМХО» может быть использовано только дважды. Первый раз, когда выбираем как наращивать депозит: или через фиксированный лот, или через фиксированный риск по счету. Второй раз, когда определяем приемлемую для себя величину Вероятности разорения.

    Если был излишне резок, прошу прощенья.
    Лично мне предложенный Вами (Up.) подход интересен и в силу возможности готов конструктивно общаться.


    Думаю, многим предложенный Вами вариант ММ понравится и появится желание его использовать, поэтому следовало бы его разобрать и посчитать поточнее, там, где надо.
    Тема ММ безусловно интересная, но в данной ветке - оффтоп. Вроде как про Монте-Карло начинали... :unsure:
  8. 32
    Комментарии
    0
    Темы
    32
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от UP. Посмотреть сообщение
    Связь модели и ММ в том, что при моделировании ни как не учитывается расположение MIDD относительно времени. Где бы не встретился MIDD, мы его считаем в пунктах и в начале, и в конце времени жизни ТС. Чтобы риск был постоянным при любом депозите мы должны входить в просадку таким лотом, чтобы точно хватило на максимальную расчетную, а это обеспечивается только в том случае, если лот растет пропорционально росту депозита, т.к. мы не знаем наперед - когда начнется просадка.
    :
    Я, наверно, не сорвсем ясно выразился.

    Я спрашивал, как Ваша модель управления капиталом реализована в предсталенном Вами моделировании?

    Поясню свой вопрос на примере.
    Вот Вы, например, пишете - "Чтобы риск был постоянным при любом депозите мы должны входить в просадку таким лотом, чтобы точно хватило на максимальную расчетную, а это обеспечивается только в том случае, если лот растет пропорционально росту депозита ...".
    Понятно, если растет Размер Счета, растет и Размер Лота, которым торгуем. Тогда, совершенно логично ожидать, что с ростом торгуемого лота должны расти Размеры Выигрышей, в случае выигрышной сделки, и Размеры Проигрышей, в случае проигрышной сделки.
    Наверно так.

    Теперь смотрим на Вашу реализацию данной модели Управления капиталом. Файл "Монте-Карло 2", Лист "Расчет". Монтекардить ничего не надо, там уже одна готовая реализация из 500 сделок.

    Смотрим на сторку 20, первая сделка. В ячейке А20 цира 32. Ура! :thumbsup_002:В первой же сделке максимально возможный выигрыш для текущего размера лота. Если так дело дальше пойдет, то лот ого-го какой будет. При этом, текущий баланс счета есть начальный баланс плюс заработанные 40 пунктов.
    Теперь смотрим, к примеру, на строку 343. Размер девозита уже 5810 плюс начальный баланс (ячейка С343), я вправе ожидать роста величины лота в сравнении с его величиной при начале торговлии (первые сделки), и как следствие, роста размера выигрыша/пргоигрыша в одной сделке.
    Смотрим на ячейку А343, выпадает снова цифра 32. Ура, мы опять выиграли, и наш размер выигрыша должен быть больше 40 пунктов, лот-то вырос.:greedy:
    Смотрим на ячейку B343. А там прежние 50 пунктов. Вот.

    Счет вырос, Размер Лота тоже должен был вырасти (Вы нам это обещали, помню, помню), а размер выигрыша не вырос?!
    Мне не понятно. Об этом и спрашивал.
  9. 53
    Комментарии
    0
    Темы
    53
    Репутация Pro
    Аватар для UP.  
    В начале пути

    2 Медалей
    Цитата Сообщение от Наумов Посмотреть сообщение
    ...
    Теперь смотрим на Вашу реализацию данной модели Управления капиталом. Файл "Монте-Карло 2", Лист "Расчет". Монтекардить ничего не надо, там уже одна готовая реализация из 500 сделок.

    Смотрим на сторку 20, первая сделка. В ячейке А20 цира 32. Ура! :thumbsup_002:В первой же сделке максимально возможный выигрыш для текущего размера лота. Если так дело дальше пойдет, то лот ого-го какой будет. При этом, текущий баланс счета есть начальный баланс плюс заработанные 40 пунктов.
    Теперь смотрим, к примеру, на строку 343. Размер девозита уже 5810 плюс начальный баланс (ячейка С343), я вправе ожидать роста величины лота в сравнении с его величиной при начале торговлии (первые сделки), и как следствие, роста размера выигрыша/пргоигрыша в одной сделке.
    Смотрим на ячейку А343, выпадает снова цифра 32. Ура, мы опять выиграли, и наш размер выигрыша должен быть больше 40 пунктов, лот-то вырос.:greedy:
    Смотрим на ячейку B343. А там прежние 50 пунктов. Вот.

    Счет вырос, Размер Лота тоже должен был вырасти (Вы нам это обещали, помню, помню), а размер выигрыша не вырос?!
    Мне не понятно. Об этом и спрашивал.
    На листе "Расчет" размер лота ни где не учитывается. Все расчеты на этом листе идут только в пунктах.
    Столбец B - выигрыш/проигрыш в пунктах;
    Столбец C - баланс (эквити) в пунктах;
    Столбец D - верхняя граница эквити, и тоже в пунктах.

    А вот на листе "Пример" расчеты уже в долларах и присутствует лот, которым совершается сделка.
    Начальный депозит = 500$
    Рабочий лот (D1) = 0.224719 от верхней границы эквити. Тогда начальный лот в долларах:
    начальный лот расчетный = 500$ * 0.224719 = 112.3595$ и, с учетом дискретности ставки,
    начальный лот фактический = 110$.
    Если первая сделка выигрышная, то, при прямой валютной паре и плече 100:1, выигрыш составит:
    выигрыш в долларах = (выигрыш в пунктах) * (цена пункта в долларах при ставке "стандартным" лотом) * (отношение рабочего лота к "стандартному") =
    = 40 * 10 * 0,11 = 44$.
    Далее, естественно, абсолютная величина лота растет, как и эквити, достигая заоблачных высот - поскольку Грааль. :p
  10. 32
    Комментарии
    0
    Темы
    32
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от UP. Посмотреть сообщение
    ... Далее, естественно, абсолютная величина лота растет, как и эквити, достигая заоблачных высот - поскольку Грааль. :p
    Поскольку не Грааль это, а те же «Яйца то Ральфа Винса», только вид с боку.

    У меня к Вам единственный вопрос: «Зачем, уважаемый, UP выкладывать на форум заведомо ошибочный пример?»
    Мне отвечать не обязательно. Вы сами себе ответьте, какую цель Вы себе ставили и достигли ли ее.


    Грустно все это наблюдать. Хотя, вроде, и идеи правильные, и реализации в экселе симпатичные.


    Если коротко, и по сути, то в Вашем моделировании та же проблемы с Дисперсией среднего значения выигрышных сделок, что и у других авторов. Говорите Вы про нее хорошо, а в моделировании применяете совершенно другое.
    С чего это вдруг Вы решили, что если какие-то 70 подряд сделок дадут вам вероятность выигрыша 65%, то любые другие подряд 70 сделок дадут вероятность выигрыша тоже близко к 65%?
    Вам среднюю вероятность выигрыша для Системы надо считать по выборке большого количества последовательностей сделок, где каждая из последовательностей имеет длину 70 сделок. И дисперсия среднего отсюда же считается.
    Потом вы проверяете по критерию согласия на выбор:
    Или что, значения выборки большого количества последовательностей сделок укладывается в статистику Бернулли (короче, учителя у Вас хорошие, в случае чего подскажут).

    Поэтому в модель подставляете дисперсию распределения Бернулли.

    Тогда, на выходе, кроме офи-ого среднего значения святого Грааля, Вы получите охи-нно большое (одного порядка со средним) значение дисперсии среднего.
    Что это означает, Вы сами прекрасно знаете.

Вверх
РегистрацияX

чтобы писать, читать, комментировать