Заметка

На правах гипотезы. Применение рефлексивного процесса как основание для прогнозирования поведения рынка

  4  

Не смотря на такое заумное название статьи, данная система довольно простая. Одним из основоположников данного метода является Владимир Александрович Лефевр, российский и американский психолог и математик. Лефевр предложил для предсказания человеческого поведения простые уравнения, параметрами которых выступают воздействие мира на субъекта, субъективный образ этого воздействия и интенция субъекта; результатом — число, выражающее вероятность того, что субъект выполнит определенное действие.

В качестве примера рефлексивной игры я хотел бы привести игру под названием «электронная гадалка Шеннона». Эту придумал создатель теории информации К. Шеннон. Работает она следующим образом. Человек пишет на бумаге число 0 или 1. Машина этого числа не знает, но печатает 0, 1 или 2. Двойка означает, что машина не берется угадать написанное число, а 0 или 1 — ее предположение о написанном числе. После этого человеку сообщают предположение машины, а в машину вводят число, написанное человеком.

Вначале машина играет неважно, но после двух-трех десятков проб начинает угадывать в 90% случаев, сколько бы человек ни пытался ее запутать. Это производит впечатление.

Устроена программа так. В ней имеется 5-индексный массив A[0:1, 0:2, 0:1, 0:2, 0:1]  из 72 элементов. Вначале массив очищен нулями, и машина первые три раза печатает двойки. В дальнейшем машина помнит несколько последних ходов своих и человека. Если человек последними написал числа a1, a2, a3  и машина на это отвечала b1, b2, b3, то в ячейку A[a1, b1, a2, b2, a3] добавляется единица, то есть машина запоминает, что после комбинации a1, b1, a2, b2 человек выбрал число a3. Чтобы предсказать, что теперь напишет человек, машина сравнивает числа A[a2, b2, a3, b3, 0] и A[a2, b2, a3, b3, 1]. Если первое сильно превосходит второе, то предсказывается число 0, если наоборот, то число 1, а если они отличаются мало, то печатает число 2, то есть отказывается угадывать. Можно усовершенствовать программу, добавляя на ходе i в нужную ячейку не единицу, а число (1.1)i, и тем самым уменьшая вес старых событий, которые человек успевает забыть.

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

Данный подход Шеннона описан в статье «Случайные числа и электронная гадалка», напечатанной в сборнике «Олимпиады по программированию для школьников» [Брудно А.Л., Каплан Л.И. Олимпиады по программированию для школьников / Под ред. Б.Н. Наумова. — М.: Наука. 1985. — 96 с.]

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

Однако проверим, как программа работает на различных инструментах на фондовом рынке. За основу возьмем 5-минутные свечи с 01.01.2013 до 15.08.2013 (текущего дня). Для гадалки Шеннона в качестве «1» будет возрастающая свечи, «0» падающая свеча.

Инструмент

Всего

Угадано гадалкой Шеннона

Фьючерс на индекс РТС

24894

5792

Фьючерс на рубль-доллар

24887

6290

Фьючерс на золото

24315

5603

ФСК ЕЭС

16043

4091

Газпром

16051

4181

Магнит

15743

3979

Сбербанк

16051

4103

Уралкалий

15999

3886

Таблица 1. Результаты тестирования гадалки Шеннона на различных инструментах

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

Дальнейшим подходом к развитию данной теории могут стать дриблинги Лефевра – автоматы, реализующие рефлексивное управление и функционирующие наиболее эффективно в условиях противодействия со стороны человека. В качестве результатов идей Лефевра, я приведу отрывок статьи «Принцип отражения как метод исследования рефлексии» (авторы Мячин М.Л., Разина Т.В. Рефлексивное управление. Тезисы международного симпозиума. Москва 17-19 октября 2000. С 49-51.):

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

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

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

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

В экспериментах приняло участие 5 молодых людей в возрасте от 17 до 25 лет. Каждый человек играл с программой 4 партии, первая из которых считалась тренировочной и в дальнейшей обработке не использовалась. Каждый ход давал одно очко одному из противников. Партия продолжалась до достижения одним из противников 40 очков. Все партии кроме одной окончились победой программы. Средняя длина партии составила 469 ходов. Для каждой партии вычислялась средняя взвешенная сложность демона, игравшего против человека и энтропия распределения демонов по частоте их участия в игре. Была обнаружена значительная корреляция (0.77) между длиной партии (определяющей эффективность человека в игре) и энтропией распределения демонов.

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

Прикрепленные файлы

·   archive.rar

Комментарии

ALendi — 20 августа 2013 г.

Какие-то системы уже пытались строить?

0 +

ALendi — 20 августа 2013 г.

Или продолжение будет с тестами?

0 +

Максим Милованов — 20 августа 2013 г.

ALendi, в чистом виде "гадалка Шеннона" работает не лучше чем подбрасывание монетки, т.е. вероятность 50/50. Но развитие этого подхода у Лефевра может дать определенные результаты. Возможно, в дальнейшем, мне удасться получить какие-либо стоящие результаты.

0 +

Николай Камынин — 22 августа 2013 г.

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

0 +

realman — 25 сентября 2013 г.

А вы использовали при тестах на рынке тот же алгоритм которые в прикрепленном файле?
там просто логическая ошибка есть.

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

0 +

Максим Милованов — 25 сентября 2013 г.

realman, да, в архиве разные файлы, соответственно один из них был применен к рынку.
Если не трудно сообщите, в чем ошибка?

Гадалку в данном случае я пытался использовать как систему для предсказания последующей свечи. Разве рынок и люди это разные вещи? На рынке торгуют люди и гадалка как раз призвана угадывать их поведение.

0 +

realman — 25 сентября 2013 г.

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

вся засада происходит из-за того что b2 = b3; переприсваивание идет уже после того как мы определили b3, дальше уже сложно что-то объяснить на пальцах :) в общем эту ошибку простой тест выявляет .... забивайте постоянно одни единицы или одни нули.

можете глянуть мой вариант, но я полностью вообще перевернул логику http://joxi.ru/xw1DUtg5CbCPOQ192b0


>Гадалку в данном случае я пытался использовать как систему для предсказания последующей свечи. Разве рынок и люди это разные вещи? На рынке торгуют люди и гадалка как раз призвана угадывать их поведение.

тут есть одна большая разница. в сам принцеп гадалки шеннона заложена зависимость от того какие предсказаение гадалка делает. т.е. человек реагирует не тольок на последовательность 0 и 1 но на то что предполагает программа. а рынок он же совершенно не знает что предполагает наша программа.

т.е. по сути для рынка A[a1, b1, a2, b2, a3] должно выглядить как A[a1, a2, a3] , потому что рынок не реагируе на ответы нашей программы.

0 +

Максим Милованов — 26 сентября 2013 г.

realman, спасибо за подсказку, попробую потестировать. Как у вас на тестах работает гадалка, какой процент угадывает ?

0 +

quazimodo — 28 ноября 2018 г.

Что-то не угадывает эта программа вообще у меня. Даже если пишу только нолики.

0 +

Написать комментарий

Чтобы написать комментарий, необходимо авторизоваться.

Написать администратору