• strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_field.inc on line 1148.
  • strict warning: Declaration of content_handler_field::element_type() should be compatible with views_handler_field::element_type($none_supported = false, $default_empty = false, $inline = false) in /home/forex/sites/0-forex.ru/sites/all/modules/cck/includes/views/handlers/content_handler_field.inc on line 229.
  • strict warning: Declaration of views_handler_argument::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_argument.inc on line 917.
  • strict warning: Declaration of views_handler_argument::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_argument.inc on line 917.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_filter.inc on line 599.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_filter.inc on line 599.
  • strict warning: Declaration of views_handler_relationship::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_relationship.inc on line 149.
  • strict warning: Declaration of views_handler_area::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_area.inc on line 81.
  • strict warning: Declaration of views_handler_area_text::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_area_text.inc on line 121.
  • strict warning: Declaration of views_plugin_argument_validate::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_argument_validate.inc on line 87.
  • strict warning: Declaration of views_plugin_argument_validate_taxonomy_term::options_submit() should be compatible with views_plugin_argument_validate::options_submit(&$form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc on line 165.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of date_handler_field_multiple::pre_render() should be compatible with content_handler_field_multiple::pre_render($values) in /home/forex/sites/0-forex.ru/sites/all/modules/date/date/date_handler_field_multiple.inc on line 185.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_query.inc on line 181.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 24.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_row.inc on line 136.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_field_user::init() should be compatible with views_handler_field::init(&$view, $options) in /home/forex/sites/0-forex.ru/sites/all/modules/views/modules/user/views_handler_field_user.inc on line 50.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_filter_node_status::operator_form() should be compatible with views_handler_filter::operator_form(&$form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/modules/node/views_handler_filter_node_status.inc on line 15.

Статистические модели. Прогноз Финансовых рядов. Александр Горчаков.

Статистические модели. Прогноз Финансовых рядов. Александр Горчаков.

Комментарии Elite.

Я тоже хочу присоединиться к благодарностям предыдущего оратора, поскольку сама тема конференции (Elite: конференция "Вопросы системной торговли" -- 2003), которая возникла на таком широком уровне, дает надежду на то, что мы продвигаемся не к эмоциональному, а к рациональному пониманию рынка и от рационального понимания его к рациональному действию на нем. Хотя, как правильно сказал Михаил, мы будем жить, пока на рынке есть эмоциональные люди. Также я хочу поблагодарить организаторов за то, что здесь я встретил очень многих людей, с которыми я часто общаюсь заочно, но встречаюсь очень редко в силу нашей общей занятости. Спасибо за то удовольствие, которое мне доставит эта встреча.

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

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

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

Итак, рассмотрим так называемую "модель эффективного рынка". Что лежит в ее основе? Есть несколько определений. Первое определение, которое дается в основном экономистами - так называемое "экономическое определение" - состоит из трех пунктов.

1. Все игроки на рынке обладают всей полнотой информацией о рынке и все игроки одинаково оценивают поступающую информацию в соответствии с рациональной теорией, т.е. выгодности прибыли.

2. Рынок настолько ликвиден, то на нем можно произвести любой объем действий в любой момент времени.

3. Все пытаются оптимизировать собственную прибыль.

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

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

Современная теория рассматривает так называемый BS-рынок". BS-рынок - это портфель, состоящий их 2-х активов: безрисковый актив (B), владение в который нам приносит не обязательно постоянную, но гарантированную прибыль в будущем и S - это рисковый актив, который не гарантирует нам прибыль в будущем.

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

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

Т.е. в сегодняшнем состоянии - теория эффективного рынка - говорит о том, что на рынке зарабатывать можно. Но просто показатель доходности ни о чем не говорит. На рынке надо зарабатывать больше, чем дают вложения в безрисковые активы.

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

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

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

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

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

Если посмотреть на наш рынок, с точки зрения движения, то и ввести трендовую модель (может здесь я допускаю логическую ошибку, одновременно вводя модель и сразу же в рамках нее пытаясь получить результат), т.е. у нас как бы есть средняя доходность рынка достаточно долгосрочная и отличная от нуля на индексе и она может в какой-то момент времени просто "переключаться", иначе говоря, мы имеем такую вот ступенчатую долгосрочную модель. В рамках такой модели на нашем рынке выделяются чисто статистически 9 этапов движения рынка с начала истории индекса РТС. Первый этап: примерно с ноября 1995 года по июль 1996 года (выборы Президента), где наблюдается растущий тренд. Затем небольшой участок падения, который не вкладывается в рамки теории растущего тренда - это 14 дней - с 4 июля по 17 июля (второй тур выборов Президента). Это можно объяснить и не рыночными методами, потому что это все-таки предвыборный период. Затем второй период - с конца июля 1996 года по октябрь 1997 года, затем выделяем период с октября 1997 года по октябрь 1998 года. Эти периоды выделяются через 20-30 дней после точки перескока. И так далее. В итоге получается 9 этапов, последний из которых длится с января 2001 года по настоящее время. И если мы подсчитаем среднее на этих этапах, то любой может убедиться, что интервал средней доходности на этих этапах "моргает" - отрицательный и положительный, и, более того, не пересекаются между собой 90% доверительные интервалы для средних доходности на разных этапах. (Elite: не совсем понятно как расчитывались доверительные интервалы, ведь свободно выбирая 9 интервалов на случайном блуждании можно получить схожие результаты.) Явно, что на рынке существует периоды долгосрочных трендов. Хотя в точки зрения мартингальности их тоже можно объяснить каким-то изменением безрискового актива, особенно ситуацию в 1997-1998 годы, когда тоже можно говорить о перспективе роста доходности безрисковых активов, поскольку сами они превращались в рисковые, но, например, аналогично объяснить падение осени 2000 года достаточно сложно, когда доходность наших безрисковых ОФЗ-ГКО падала на фоне достаточно глубокого падения фондового рынка.

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

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

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

Исследования более коротких периодов показывают, что, если мы рассмотрим так называемую статистику Вилкоксена (Elite: Уилкоксон, Вилкоксон и Wilcoxon), для попарных сумм первых разностей логарифмов на краткосрочных периодах (попарные суммы между собой двух изменений через некоторое расстояние, например, 1 и 2, 1 и 3, 1 и 4, 1 и 5, или 2 и 3, 2 и 4, 2 и 5 и т.д.), то мы тоже увидим, что эта статистика в предположении, что у нас сами логарифмы цен, логарифмы изменения цен, их попарные суммы и их тройные суммы, их четверные суммы симметрично распределены относительно нуля, имеет достаточно простые формулы для значений ее среднего и дисперсии.

Среднее равно М на М+1 на 4, где М - это размер статистики, которую мы считаем, а дисперсия - М на М+1 на 2М+1 деленная на 24.

Однако, если мы посмотрим на эти краткосрочные значения статистики Вилкоксена для реальных рядов, в частности для индексных рядов - в первую очередь индекс РТС и S&P, то мы увидим, что выборочная дисперсия этой статистики существенно отличается от теоретической дисперсии в рамках модели симметричности. (Elite: Существенно отличается - это весьма нестрого. Какой доверительный интервал и была ли попытка учесть спред?)

Отвержение модели симметричности отвергает целую группу финансовых моделей, которые присутствуют в современной финансовой математике. А именно: отвергается самая первая, классическая модель случайного блуждания со средним 0 или с постоянным средним, отвергаются, как ни парадоксально, модели волатильности типа ARCH-GARCH-модели, модели, которые тоже дают симметричное распределение на попарных суммах и отвергается, как опять-таки ни парадоксально, фрактальное броуновское движение, которое, не смотря на эффект сильной зависимости, тоже дает нам двойные, тройные и четвертные суммы симметричными относительно 0.

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

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

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

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

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

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

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

Моя модель достаточно проста: в ценообразовании я рассматриваю некую 4-ку параметров. Это в первую очередь некая целочисленная случайная величина и 3 действительно значимых случайных величины. 2 случайные величины могут принимать как положительные, так и отрицательные значения, а 1 только положительные.

Что в моей модели представляет изменение ряда логарифмов цен? Ряд логарифмов цен в моей модели представляет условно нормальное распределение, а именно то, что у нас первая раность логарифмов составляется из целочисленных участков длинной нашей равной нашей целочисленной случайной величине, и на каждом из таких участков первая разность логарифма цены представляет собой сумму линейной функции с постоянной А(i) и коэффициентом B(i) при линейном члене (i - номер участка) и на этоn тренд налагается независимый нормальный шум со средним 0 и стандартным отклонением сигма (i).

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

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

Оказывается, что оптимальными статистиками при построении наших торговых систем в этой ситуации являются линейные скользящие средние с переменными окнами. Т.е. скользящие средние, которые надо брать таким образом, чтобы они в основном попадали на участки одного тренда. Причем, скользящие средние не экспоненциальные или какие-то еще, это 2 скользящих средних: простое скользящее среднее и скользящее среднее с коэффициентом i, это сумма i на Xi. А для волатильности нужно рассмотреть сумму квадратов последовательности этих случайных величин.

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

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

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