Чемпионат на курсе монетки
Чемпионат на курсе монетки (модель хаотичных блужданий)
рассмотрен с точки зрения теории игр и в терминах распределения вероятностей.
Дана оптимальная стратегия поведения игрока на чемпионате. Анализ реального
чемпионата 2010 года (Automated Trading
Championship 2010 http://championship.mql5.com/2010/ru)
показал, что игроки придерживаются не
оптимального и слишком осторожного поведения на чемпионате. Для устранения
недостатков существующего чемпионата предложен искусственный чемпионат.
План
1.
Функция
распределения вероятности средств
2.
Чемпионат с одним
участником
3.
Чемпионат с двумя
участниками. Антагонистическая игра
4.
Чемпионат с двумя
участниками. Коалиционная игра
5.
51участник.
Антагонистическая игра
1.
Неустойчивое
решение.
2.
Устойчивое
решение.
3.
Практическое
решение.
6.
Коалиция двух
против 49.
7.
Умница против 50.
8.
Ограничение
агрессивности правилами.
9.
Сравнение с
реальным чемпионатом.
10.
Предложение
искусственного чемпионата.
11.
Выводы.
12.
Часто задаваемые
вопросы
Функция распределения вероятности средств
Каждый участник в начале
чемпионата имеет 10 монет. В терминах распределения вероятности средств это
выглядит вот такой функцией:

Распределение вероятности средств стратегии до начала чемпионата. По оси абсцисс –
средства стратегии (количество монет). По оси ординат – вероятность иметь эти
средства. Распределение отлично от нуля только в одной точке 10. 10 монет –начальный депозит стратегии. Распределение нормировано на 1
– сумма вероятностей иметь хоть какие-то средства равна 1.

Распределение вероятностей
через 10 (синий), 20(красный), 30(жёлтый), 40(зелёный) бросков при ставке 1
монетка. Эту же картинку можно рассматривать
как распределение вероятностей
через 10 бросков, но при ставке 1(синий), 2, 3 или 4(зелёный) монетки. Эти
распределения вероятностей будем обозначать через значения функции в 0
(вероятность разорения или агрессивность) 0.0053(синий),
0.045, 0.101, 0.155(зелёный).
Значения функции в 0 сдвинуты на 1 на картинке, иначе точки на оси не видно.

Распределения с агрессивностью
0(синий), 0.0053(красный), 0.36 (зелёный). Заметим, как ведёт себя функция.
Максимум начального депозита на 10 спадает и не движется, пока значения в 0 не
начнут расти. До касания нуля функция симметрична и описывается нормальным распределением.
После касания нуля максимум смещается в сторону больших значений средств.
Симметрия пропадает, уширение нарастает быстрее, чем смещается максимум.
Касание нуля означает, что у участника появилась не нулевая вероятность
разориться.
Чемпионат с одним участником
Для разогрева мы проведём
чемпионат с одним участником. Для победы одному участнику достаточно набрать
больше 10 монет. Если мы знаем функцию распределения средств участника, то мы
можем легко посчитать вероятность его победы. Вероятность победы есть сумма
вероятностей от 11 монет до бесконечности. Зададимся небольшим набором функций
распределения и посчитаем вероятность выигрыша для каждой функции.

Функции распределения с
агрессивностью 0.00029(синий), 0.13(красный), 0.53(жёлтый), 0.84(зелёный) на
логарифмической шкале.
![]()
Как видно из таблицы
максимальная вероятность 0.47 достигается при агрессивности 0.13. Как это ни
удивительно, но даже при всего
одном участнике оптимальная стратегия должна иметь вероятность разорения 13
процентов. Это связано с тем, что 10.5 монет стратегия иметь не может
(дискретизация), и максимум функции распределения смещается вправо, только
после касания функцией нуля.
Чемпионат с двумя участниками. Антагонистическая игра
Вот и началась настоящая игра.
Тем, кто не держал в руках учебники по теории игр, сообщу, что
антагонистическая игра это игра каждого против всех. В нашей игре 2 участника.
Выигрывает тот, кто наберёт больше 10 монет и больше монет, чем у соперника. В
игре возможны выигрыш, поражение и ничья (если у обоих
участников монет поровну и больше 10). Участников интересует только
максимальная вероятность выигрыша. Максимальная вероятность «не проиграть»
никого не интересует. Стратегии участников неизвестны друг другу. Зададимся
несколькими функциями распределений с разными агрессивностями и посчитаем
матрицу выигрышей.

Матрица выигрышей 1-ого
участника. По горизонталям даны вероятности выигрыша 1-ого при данной
агрессивности 2-ого. При агрессивности 1-ого равной 0 (не сделал ни одной
сделки), вероятности выигрыша нулевые при любой агрессивности 2-ого. В матрице
обведена максимальная строка. В этой строчке значения максимальные в своих
столбиках. За исключением первого столбика, где 2ой участник не сделал ни одной
сделки. Этот эффект дискретизации обсуждён выше.

Функции распределения с агрессивностями 0.12(синий),
оптимальной - 0.28(красный), 0.45(жёлтый)
Чемпионат с двумя участниками. Коалиционная игра
Двое участников, поскребя в
затылке, могут сообразить, что играть друг против друга не выгодно. Гораздо
выгодней создать коалицию. Участники могут создать коррелированные стратегии.
Например, 1ый участник ставит всегда на + (решку), а
второй на – (орла). При таких стратегиях средства участников будут симметричны
относительно начального депозита, пока функция распределения не коснётся нуля.
Агрессивность участников, само собой, при этом получается одинаковой. С большой
вероятностью к концу чемпионата у одного из участников будут средства больше
начального депозита. И коалиция почти наверняка забирает приз. Правда, приз в
коалиции придётся делить пополам.

Функции распределения
участника с агрессивностью 0.00029 (синий) и коалиции двух участников с
агрессивностями 0.00029 (красный).

Функции распределения коалиций
участников с агрессивностями 0 (синий), 0.00029 (красный), 0.05 (жёлтый), 0.28
(зелёный), 0.53(фиолетовый).
![]()
Таблица выигрышей коалиции.
Коалиция оптимально выигрывает с вероятностью 0.866 при агрессивности
участников 0.05. Здесь как и выше сильный эффект дискретизации. При
дискретизации 1 цент к 10000 долларам коалиция выигрывала бы с вероятностью
почти 1 (оценочно 1 - 1Е-6). Но даже здесь эффект коалиции
очевиден: сравним 0.866 (победа коалиции) и 0.696+0.014=0.71 (победа
антагонистов).
Далее, следуя логике статьи,
следовало бы рассмотреть чемпионаты из 3х, 4х и более участников. Антагонистические и с разными вариантами коалиций. Борьбу
обычных участников с коалициями и борьбу коалиций. Отдельный вопрос – создание
коалиционных стратегий для 3х, 4х и более членов. Предполагаю, что математически
наиболее выгодно будет создавать коалиции с максимальным числом участников,
вплоть до включения всех участников в одну коалицию. Но есть сомнения. Если
делить приз на всех, то каждому достанется по
чуть-чуть, хоть и гарантировано. Наверняка найдутся любители риска и
шампанского. В решение задачи вмешиваются психология, соотношение размера приза
и денежных представлений участников. Оставим это для отдельной статьи.
51участник. Антагонистическая игра
Рассмотрим чемпионат с 51
участником. По логике нам тут надо построить 51размерную матрицу выигрышей и
рассмотреть её. Но 51 размерная матрица великовата даже для современного
компьютера, не то, что для человека. Поэтому придётся изобретать. Из 51
участника выделим 1ого и назовём его нашим. Остальные 50 участников назовём
толпой. В толпе нас будут интересовать не все участники, а только тот участник,
который имеет максимальное количество средств на данный момент или к концу
чемпионата. Этого участника назовём максимальным. Конкретные персоналии за
маской максимального участника могут меняться.

Функции распределения
максимального участника из толпы в 50 участников с агрессивностями
0.092(красный), 0.35(жёлтый), 0.59(зеленый), 0.77(синий),0.86(темно-красный),
0.92(темно-желтый), 0.95(темно-зеленый).
Теперь, зная функции
распределения нашего участника и максимального участника, рассчитаем матрицу
выигрышей нашего участника. Как и раньше, зададимся небольшим набором
агрессивностей.

Матрица выигрышей нашего
участника у максимального участника из толпы в 50 участников. В рамочки
обведены максимальные значения в столбиках. В толстой рамке максимальное
значение на диагонали.
Созерцая матрицу выигрышей
нашего участника, приходим к душераздирающему выводу: В матрице нет строчки, включающей в себя максимальные значения в столбиках, как
это было в игре двоих. А это значит, не существует той единственной оптимальной
агрессивности, которая бы давала нашему участнику максимальную вероятность
выигрыша на чемпионате. Выражаясь языком теории игр - у нас нет решения игры в
чистых стратегиях. А надо искать решение в смешанных стратегиях, то есть на
каждый чемпионат выбирать себе агрессивность из какого-то набора с какой-то
вероятностью. И эти вероятности теория игр и предлагает нам искать.
Неустойчивое решение.
Неустойчивое решение лежит на
поверхности, в смысле на диагонали, и обведено в толстую рамочку. Это 0.0193.
При агрессивности нашего 0.86 и толпы тоже 0.86, наш
побеждает с вероятностью 0.0193. Любой
участник из толпы, кстати, побеждает с той же вероятностью. Заметим, что 0.0193
это почти 1/51 (1/51=0,0196). То есть
любой из 51ого участника побеждает с вероятностью почти 1/51. Недостача
приходится на ничьи, поражения и ошибки расчёта. Чего же боле?
Устойчивое решение.
Ну что же, делать нечего.
Придётся рассматривать, чем же кончится бег по кругу. Для начала на базе
матрицы выигрышей построим функцию оптимальной агрессивности для нашего участника.

Функция оптимальной
агрессивности для нашего участника рассчитанная при условии, что толпа из 50
участников бегает за ним дружной кучей. По оси абсцисс агрессивность толпы. По
оси ординат агрессивность нашего. На графике нарисован
всё тот же бег по кругу. При агрессивности толпы 0 - оптимальная агрессивность нашего 0.092, толпа 0.092-наш 0.059, и т.д. Значение 0.2 при агрессивности толпы 1.0 я не
считал, а взял с потолка.

Схематичное представление бега по кругу дружной кучей
за нашим. Похоже на аттрактор предельный цикл. Только
в классическом аттракторе типа Волки и Зайцы нет скачков и модель двумерная, а
у нас 51мерная. Кроме того, куча когда-нибудь начнёт распределяться, и резкость
картинки расплывётся до сплошного фона.
(1-а)*
S (а)*
N(а)=const. Отсюда можно посчитать N(а).
Я сделал этот расчёт и получил
N(а)=const с точностью до дискретизации.
Практическое решение.
Простите, но это что же получается? Автор в начале подвизался найти
оптимальную стратегию для участников, долго морочил всем голову, потом
предложил всем по-тихому договориться, а под конец заявил, что как решать
задачу не знает. И вообще, «пользуйтесь вы все генератором случайных чисел». За
такие дела, даже не очень агрессивная толпа может сильно побить автора.
1.
Прикинуть
количество участников. Это число может понадобится для
расчётов.
2.
Прикинуть из
прошлых чемпионатов характер толпы, то есть распределение толпы по
агрессивностям.
Толпа может быть:
1. Кучей - агрессивность у всех одинаковая.
2. Хаотична – агрессивность у всех случайная.
3. Оптимально или не совсем организованная –
распределение участников по агрессивностям более-менее равномерно и
соответствует устойчивому решению.
3.
В зависимости от распределения
толпы рассчитать или сгенерировать свою агрессивность.
Кому лень считать, просто добавьте 0.3 к агрессивности кучи.
Коалиция двух против 49.
Рассмотрим
коалиционную игру двоих против 49 антагонистов. Наша цель, не ввязываясь в бег
по кругу, оценить насколько велики шансы коалиции из коалиционной игры двоих. Рассмотрим
матрицу выигрышей коалиции.

Неустойчивое решение 0.0374. Это значит, что участник коалиции получает
полприза с вероятностью 0.0374. Напомним, что в игре 1+50 по неустойчивому
решению участник получал весь приз с вероятностью 0.0193 (примерно равно 0.0374/2).
Умница против 50.
Умница – это участник, который
удвоил в среднем свои средства к концу чемпионата. Напомню, что такое на курсе
монетки невозможно, но, видимо, умница договорился с Чудом. Наша цель, не
ввязываясь ни в какие игры, сравнить шансы умницы с шансами обычного участника.

Функции распределения умницы. Синяя – в начале чемпионата. В конце чемпионата – красная с агрессивностью 0, жёлтая 0.00025, зелёная 0.05.

Матрица выигрышей умницы у
толпы из 50 участников. Сравнение с матрицей из игры 50+1 показывает, что
большинство элементов матрицы умницы примерно в 2 раза больше аналогичных
элементов матрицы 50+1. За исключением неагрессивных случаев и толпы, и умницы,
где отношение достигает 10 раз и более.
Агрессивность умницы
измеряется здесь значением его функции в 0. Это, конечно, не совсем правильно.
Правильно - измерять ширину на полувысоте функции распределения или второй
момент распределения. Здесь «неправильно измеренной» агрессивности умниц
соответствует «старая» агрессивность по таблице: 0 – 0, 0.00025 – 0,092, 0.051
– 0.35 и т.д.
Ограничение агрессивности правилами.
Выше рассматривалась игра без
ограничения агрессивности игроков. Правила же ограничивают максимальный и
минимальный размер сделки, совокупный
объём позиции.
При поиске оптимальной
агрессивности игроки вместо бега по кругу скопятся перед дырой с максимально
возможной агрессивностью.
Победителя из игроков с
максимальной агрессивностью будет выбирать случай.
Сравнение с реальным чемпионатом.
Нарисуем функцию распределения
средств участников к концу чемпионата 2010 года. Все данные из открытых
источников http://championship.mql5.com/2010/ru/users/index.

График получен следующим
образом. В чемпионате было 307 участников. Количество участников имевших
средства к концу от 0 до 1000 долларов – 50 человек. Делим 50/307=0.16. Ставим
точку напротив 1 – 0.16. Участников набравших от 1000 до 2000 долларов 18 человек. 18/307=0.05. Ставим точку 2 –
0.05. И так далее. Лидеров отмечаем просто точками, иначе они сольются с осью.

Функция распределения
вероятности средств у участника чемпионата на курсе монетки с агрессивностью
0.16 Понятно, что сравнение не совсем корректно. Ведь участники реального
чемпионата имеют распределение по агрессивностям. И «сливают депозит» по-разному: на курсе монетки – «слил
депозит», значит средств ровно ноль. На реальном чемпионате - «слил депозит»,
значит средств меньше 1000, а то и 2000-5000 долларов. Этим можно объяснить
наличие подставки на 2000-3000 долларов у реального чемпионата.

Функция распределения вероятности
средств максимального участника из толпы
в 307 с агрессивностью 0.16. Как мы видим, лидеры в такой толпе должны
были набрать от 20 до 30 тысяч долларов. Ну что ж, именно в этом диапазоне на
реальном чемпионате и находится основная группа. Вперёд от неё ушли восемь
лидеров. Очевидно, что у лидеров были большие агрессивности, чем у кучи в
толпе. Потому и победили.
Предложение искусственного чемпионата.
Недостатки реального чемпионата:
1.
Возможны
мошенничества с множественными регистрациями одного участника.
2.
Возможны коалиции.
3.
Несправедливость к
умницам.
1. Чемпионат советников
проводится на симуляторе курса прикрученном к МТ5
2. Для участия в чемпионате
надо выставить функцию распределения вероятности средств своего
советника. Код советника присылается судьям в случае победы для проверки. Победа
присуждается тому советнику, у которого математическое ожидание прибыли больше.
1ый способ – неправильный.
Запустить симуляторы на прогноз реального курса и смотреть, кто лучше
предскажет курс. Это неправильно, так как, предсказание курса – задача для
советника. Задача симулятора – измерить советника.
2ой способ – правильный.
Запустить 1000 разных советников на реальном курсе и параллельно на
симуляторах. Лучше тот симулятор, который точнее предскажет результаты
советников на реальном курсе.
Выводы.
1.
Рассмотрена модель
чемпионата на курсе монетки
2.
Дана схема
оптимального поведения участника на чемпионате.
3.
Проведён анализ
чемпионата 2010.
4.
Предложен
искусственный чемпионат.
Часто задаваемые вопросы
Вопрос: Как измерить агрессивность своего любимого советника?
Ответ:
1ый способ. Попросить
прикрутить к МТ5 симулятор курсов с возможностью расчёта функции распределения
и дождаться когда это сделают.
2ой способ. Агрессивность – это
вероятность разорения за время чемпионата. Чемпионат длится 12 недель. Берём десять разных кусков истории по
12 недель и запускаем на них любимого. За десять пусков он разорится
N раз. Агрессивность =
N/10 с точностью плюс минус 0.3
Вопрос: Агрессивность моего советника 0.1. Как сделать
агрессивность 0.6?
Ответ: Есть несколько способов. Вот некоторые из них.
1.
Увеличить размер
всех сделок в 6 раз
2.
Увеличить
количество всех сделок в 6 раз
3.
Похимичить с кодом.
Обязательно измерить
агрессивность после изменений для проверки.
Вопрос: Можно ли с одним Суперсоветником
и на рынке торговать, и в чемпионате участвовать?
Ответ: Никто не
запрещает. Но или на рынке разоришься, или на чемпионате пролетишь.
Агрессивность рыночного советника должна быть в десятки – сотни - тысячи раз ниже
чемпионатного.