Д.Катс.Д.Маккормик.Энциклопедия торговых стратегий. Донна л. Маккормик
Скачать 5.96 Mb.
|
ГЛАВА 4 СТАТИСТИКА 71 боте с торговыми системами эти правила частично приходится нарушать, причем некоторые нарушения правил не имеют никакой практической ценнности, тогда как более важные правила часто удается обойти без ком- промисса. При использовании дополнительного анализа порой удается обойти или скомпенсировать даже весьма тяжелые несоответствия дан- ных требованиям статистического анализа. В общем, мы полностью отда- ем себе отчет в существовании такой проблемы и продолжим ее обсужде- ние после подробного рассмотрения основ рассматриваемого вопроса. ВЫБОРКА Для статистики, а следовательно, и для нашего понимания, фундаменталь- ным является понятие выборки — извлечения образца данных из некоей обширной, абстрактно определимой популяции. Основная идея статисти- ческого анализа состоит в том, чтобы использовать выборку для получе- ния заключения о популяции данных. При работе с торговыми моделями под популяцией обычно понимается вся совокупность данных (прошлых, настоящих и будущих) для определенного рыночного инструмента (на- пример, все 5-минутные штрихи на все фьючерсы S&P 500), все сделки (прошлые, настоящие и будущие), совершенные данной системой или по данному инструменту, а также все прибыли — годовые, месячные и даже дневные. Например, все квартальные прибыли IBM — пример популяции данных. Выборка может представлять собой специфические историчес- кие данные, используемые при разработке или тестировании системы, данные о проведенных сделках или о месячной прибыли, принесенной этими сделками. При создании торговой системы разработчик обычно определяет вы- борку данных из моделируемой популяции. Например, чтобы разработать систему для торговли S&P 500 на основе гипотезы: «Если вчерашняя цена закрытия выше, чем цена закрытия три дня назад, то завтра рынок будет подниматься», разработчик берет выборку цен на конец дня по S&P 500, простирающуюся назад, например, на 5 лет. Остается надеяться, что вы- борка репрезентативна, т.е. отражает реальное типичное поведение рын- ка, и в будущем (или на другом, неизвестном образце данных) система будет работать не хуже, чем на использованном при разработке образце. Чтобы подтвердить или опровергнуть результаты оптимизации, разработ- чики системы проводят тестирование на одном или нескольких периодах вне выборки, т.е. на образцах данных, не использовавшихся для разработ- ки или оптимизации системы. Например, в нашем случае разработчик использует данные с 1991 г. по 1995 г. для разработки и настройки систе- мы и резервирует данные за 1996 г. для тестирования вне пределов вы- борки. Очень рекомендуется заранее зарезервировать один или несколь- ко периодов для подобного исследования. 72 ЧАСТЬ I РАБОЧИЕ ИНСТРУМЕНТЫ Одна из проблем с выборкой образцов из популяций финансовых дан- ных заключается в сложной и переменчивой природе объекта: завтраш- ний рынок может быть не похож на сегодняшний. Иногда эти изменения заметны, и их причины могут быть легко определены. Например, поведе- ние индекса S&P резко изменилось в 1983 г. в результате введения фью- черсов и опционов на этот индекс. В таких случаях можно расценить изме- нение, как событие, создавшее две отдельные популяции: S&P до и после 1983 г. Выборка, взятая из более раннего периода, не будет репрезентатив- на для более позднего, поскольку она взята из другой популяции! Конечно, это экстремальный случай. Гораздо чаще структурные изменения рынка возникают ввиду слабых влияний, которые порой невозможно определить, особенно заранее. В некоторых случаях рынок может остаться принципи- ально тем же, но фазы процессов, которые на нем проходят, могут быть различными; неосмотрительно взятая выборка может принадлежать к дру- гой фазе и быть репрезентативна только для нее, но не для рынка в целом. Как же можно определить, действительно ли выборка, использованная для тестирования, относится к тому же периоду, что и данные, на которых бу- дет идти торговля? Если не прыгать в машину времени и не тестировать будущее, то не существует достоверного способа определить, не случится ли завтра на рынке ломающая системы метаморфоза. Множественные тес- ты вне пределов выборки могут дать некоторую гарантию устойчивости системы, поскольку они подтвердят, что система, по крайней мере в не- скольких периодах, работала более или менее стабильно. При наличии ре- презентативной выборки можно сделать статистически достоверные вы- воды о той популяции, из которой выбраны образцы данных. Статистика не может определить будущие фундаментальные изменения рынка. ОПТИМИЗАЦИЯ И ПОДГОНКА ПОД ИСТОРИЧЕСКИЕ ДАННЫЕ Еще один аспект разработки торговых систем состоит в оптимизации, т.е. улучшении эффективности систем при помощи подбора таких значений параметров, при которых система дает наилучший результат на выборке данных. Если система не работает при тестировании на данных вне пре- делов выборки или на реальном рынке, говорят, что при оптимизации имела место подгонка под исторические данные. Впрочем, подгонка бы- вает полезной и вредной. Полезная подгонка — это случай, когда модель подогнана под всю популяцию (т.е. под достаточно большую и представи- тельную) и при этом отражает все достоверные характеристики реаль- ной популяции в системе. Подгонка вредна, если система соответствует только некоторым случайным характеристикам, не обязательно отража- ющим свойства всей популяции. Разработчики недаром боятся вредной подгонки, т.е. ситуации, когда параметры, оптимизированные на данной выборке, не работают на попу- ГЛАВА 4 СТАТИСТИКА 73 ляции в целом. Если выборка была небольшой или не представительной, вероятнее всего, система будет работать хорошо на данной выборке и из рук вон плохо на другой или, что еще опаснее, приведет к потере денег в реальной торговле. Чем больше выборка данных, тем меньше эта опас- ность: вероятность вредной подгонки снижается, а полезной — возраста- ет. Все рассматриваемые методы статистики отражают это явление, даже специально предназначенные для оптимизации. Достоверно известно, что чем больше параметров подвергается оптимизации, тем больше вероят- ность того, что высокие результаты системы будут достигнуты чисто слу- чайным сочетанием. Если же результаты статистического анализа удов- летворительны, и тест основывался на достаточно большой выборке дан- ных, то вероятность случайного результата снижается, и даже получен- ный при оптимизации множества параметров результат вполне может быть реальным и значимым. Некоторые возражают, что размер не имеет значения, т.е. размер вы- борки и количество проведенных сделок не имеют ничего общего с рис- ком избыточной оптимизации, и что большая выборка не снимает угрозы вредной подгонки под исторические данные. Это неверно и математичес- ки, и интуитивно. Никто не стал бы больше доверять системе, которая провела 3 — 4 сделки за десятилетний период, чем системе, которая про- вела более тысячи достаточно прибыльных сделок. Представьте себе мо- дель линейной регрессии, в которой прямую линию подгоняют к ряду то- чек. Если точек всего две, то вне зависимости от их положения линию все- гда можно «подогнать» идеально. Если точек три, то дело усложняется. Если же точек действительно много, то проблема становится еще слож- нее, если только расположение точек не содержит некоего реального ли- нейного распределения. Пример с линейной регрессией показывает, что вредная подгонка за- трудняется с ростом объема данных. Сравните две торговые системы: одна провела 2 сделки с прибылью $100 в каждой и стандартным отклонением $100; другая — 1000 сделок с такими же средним и стандартным отклоне- ниями. При статистической оценке система, проведшая 1000 сделок, бу- дет гораздо «статистически значимее», чем система, проведшая 2 сделки. В моделях множественной линейной регрессии при увеличении ко- личества параметров регрессии (бета-весов) по отношению к размеру выборки увеличивается степень вредной подгонки и уменьшается досто- верность результатов модели. Другими словами, чем выше степень под- гонки под исторические данные, тем сложнее добиться статистической значимости. Исключением является случай, когда повышение результа- тивности модели, вызванное подгонкой, компенсирует потерю значимо- сти при добавлении параметров. Оценка степени ожидаемого снижения корреляции при использовании данных вне выборки может производить- ся напрямую, исходя из объема данных и количества параметров: корре- ляция снижается с увеличением числа параметров и увеличивается с рос- 74 ЧАСТЬ I РАБОЧИЕ ИНСТРУМЕНТЫ том объема данных. В общем, существуют достоверные математические доказательства того, что вероятность вредной подгонки повышается, если количество оптимизируемых параметров велико по отношению к объему используемой выборки данных. Фактически, когда n (размер выборки) стремится к бесконечности, вероятность того, что подгонка параметров будет непредставительной для данной популяции, стремится к нулю. Чем больше параметров оптимизируется, тем большая требуется выборка дан- ных. На языке статистики это звучит так: оптимизируемые параметры используют доступные степени свободы. Все это ведет к заключению, что чем больше выборка, тем более веро- ятность того, что найденные параметры системы будут представительным отражением характеристик рынка в целом. Маленькая выборка, скорее всего, будет непредставительной: ее кривые вряд ли будут соответство- вать долговременным, устойчивым характеристикам рынка. Любая мо- дель, построенная с использованием маленькой выборки, может быть эф- фективной только по чистой случайности. Будет ли подгонка «полезной» или «вредной», во многом зависит от отражения в ней случайных цено- вых движений или реальных рыночных процессов, что, в свою очередь, зависит от представительности выборки. Статистика полезна, поскольку позволяет принять в расчет при оценке системы степень подгонки. При работе с нейронными сетями опасения относительно излишнего обучения, или генерализации, соответствуют опасениям относительно излишней подгонки под исторические данные. Если выборка достаточно объемиста и представительна, повышается вероятность отражения в най- денных оптимальных параметрах реальных характеристик рынка, что полезно для реальной работы системы. Если же выборка мала, модель практически гарантированно будет настроена на особенности выборки, но никак не на особенности рынка в целом. Для нейронных сетей успех генерализации означает то же, что для других систем, — устойчивость в будущем и так же сильно зависит от размеров выборки, использованной для обучения сети. Чем больше выборка или чем меньше количество ве- сов связей (т.е. параметров), тем выше вероятность удачной генерализа- ции. Это также можно доказать математически путем разбора неслож- ных примеров. Как и в случае с регрессией, при разработке нейронной сети можно произвести оценку коррекции коэффициента корреляции (т.е. показате- ля, обратного генерализации). Фактически, нейронная сеть представляет собой систему уравнений множественной регрессии, хотя и нелинейных, и корреляция выходных значений сети может рассматриваться как мно- жественный коэффициент корреляции. Множественная корреляция меж- ду выходными и целевыми значениями может быть скорректирована для прогнозирования поведения системы на данных вне выборки. Такая скор- ректированная множественная корреляция должна постоянно использо- ваться для определения того, является ли эффективность нейронной сети ГЛАВА 4 СТАТИСТИКА 75 случайной или она вызвана обнаружением реальной закономерности в ценовом поведении рынка. Формула коррекции коэффициента множе- ственной корреляции приведена ниже: RC = SQRT (1.0 - ( (N - 1.0) / (N - Р) ) * (1.0 - R*R) ) Формула приведена в стиле языка FORTRAN. Здесь SORT означает квадратный корень; N — количество точек данных или фактов в случае нейронной сети; Р— количество коэффициентов регрессии или (в слу- чае нейронной сети) весов связей; R — некорректированную множествен- ную корреляцию; RC — скорректированную корреляцию. Хотя эта фор- мула строго приложима только к линейной множественной регрессии (для которой, собственно, и разрабатывалась), она неплохо работает с нейрон- ными сетями и может быть использована для того, чтобы оценить, какая часть эффективности системы обусловлена «вредной» подгонкой на дан- ном образце. Эта формула описывает связь между размером выборки, количеством параметров и снижением эффективности результатов. Ста- тистическая коррекция, рассчитываемая по данной формуле, будет ис- пользована в главе о входах систем на нейронных сетях. РАЗМЕР ВЫБОРКИ И РЕПРЕЗЕНТАТИВНОСТЬ Хотя из статистических соображений разработчику следует искать самые большие из возможных выборки данных, при работе с финансовыми рын- ками между размером и представительностью образца существуют не- однозначные связи. Большие выборки означают, что данные уходят на- зад, в такие периоды времени, когда рынок был фундаментально иным — вспомните S&P 500 в 1983 г.! Это означает, что в некоторых случаях боль- ший образец данных может быть менее представительным или включать смесь из нескольких различных популяций данных! Следовательно, нельзя забывать, что хотя цель — максимальный размер выборки, столь же важ- но, чтобы данные отображали тот рынок, который система должна про- гнозировать. СТАТИСТИЧЕСКАЯ ОЦЕНКА СИСТЕМЫ Разобравшись с некоторыми основными положениями, рассмотрим при- менение статистики при разработке и оценке торговых систем. Приме- ры, приведенные ниже, основаны на системе, которая была оптимизи- рована на некоторой выборке данных и затем тестировалась вне преде- лов выборки. Оценка на данных вне пределов выборки будет рассмот- рена перед оценкой на основе выборки, поскольку ее статистический анализ проще (и аналогичен анализу неоптимизированной системы), в 76 ЧАСТЬ I РАБОЧИЕ ИНСТРУМЕНТЫ Пример 1: Оценка теста вне пределов выборки Оценка оптимизированной системы на данных, взятых вне пределов вы- борки и ни разу не использованных при оптимизации, аналогична оцен- ке неоптимизированной системы. В обоих случаях проводится один тест без подстройки параметров. В табл. 4-1 показано применение статистики для оценки неоптимизированной системы. Там приведены результаты проверки на данных вне пределов выборки совместно с рядом статисти- ческих показателей. Помните, что в этом тесте использованы «свежие данные», которые не применялись как основа для настройки параметров системы. Параметры торговой модели уже были определены. Образец данных для оценки вне пределов выборки охватывает период с 1.01.1995 г. по 1.01.1997 г.; модель тестировалась на этих данных и совершала смодели- рованные сделки. Было проведено 47 сделок. Этот набор сделок можно считать выборкой сделок, т.е. частью популяции смоделированных сде- лок, которые система совершила бы по данным правилам в прошлом или будущем. Здесь возникает вопрос по поводу оценки показателя средней прибыли в сделке — могло ли данное значение быть достигнуто за счет чистой случайности? Чтобы найти ответ, потребуется статистическая оценка системы. Чтобы начать оценку системы, для начала нужно рассчитать среднее в выборке для n сделок. Среднее здесь будет просто суммой прибылей/ убытков, поделенной на n (в данном случае 47). Среднее составило $974,47 нем не требуются поправки на оптимизацию или множественные тес- ты. Система представляет собой модель торговли индексом S&P 500, ос- нованную на лунном цикле, и была опубликована нами ранее (Katz, McCormick, июнь 1997). Код для системы в формате TradeStation приве- ден ниже: DefineDLLFunc:"SCSIWA.DLL",LONG,"SA_MoonPhaseDate",LONG,LONG; Inputs: Ll(0); Vars: FullMoonDate(O) , NewMoonDate(0) , Trend(O); { Функция возвращает дату следующей полной или новой луны ) FullMoonDate = SA_MoonPhaseDate (Date[5], 2); NewMoonDate = SA_MoonPhaseDate (Date[5], 0) ; Value1 = 0; If (Date < FullMoonDate) And (Date Tomorrow >= FullMoonDate) Then Valuel = 1; (Полная луна сегодня вечером или завтра) Value2 = 0; If (Date < NewMoonDate) And (Date Tomorrow >= NewMoonDate) Then Value2 = 1; {Новая луна сегодня вечером или завтра] If Valuel[L1] > 0 Then Buy At Market; If Value2[L1] > 0 Then Sell At Market; ГЛАВА 4 СТАТИСТИКА 77 Таблица 4—1. Сделки вне выборки данных S&P 500, использованные для тестирования модели на лунном цикле Дата Дата Прибыль/ Капитал Статистический анализ средней прибыли/убытка входа выхода убыток 950207 950221 650 88825 950221 950223 -2500 86325 Размер выборки 47.0000 950309 950323 6025 92350 Среднее значение выборки 974.4681 950323 950324 -2500 89850 Стандартное отклонение выборки 6091.1029 950407 950419 -2500 87350 Ожидаемое СО среднего 888.4787 950421 950424 -2500 84850 950509 950518 -2500 82350 Т-критерий (P/L>0) 1.0968 950523 950524 -2500 79850 Вероятность (значимость) 0.1392 950606 950609 -2500 77350 950620 950622 -2500 74850 Автокорреляция, сдвиг=1 0.2120 950704 950719 4400 79250 Т-критерий 1.4391 950719 950725 -2500 76750 Вероятность (значимость) 0.1572 950803 950818 2575 79325 950818 950901 25 79350 Прибыльных сделок 16.0000 950901 950918 10475 89825 Процент прибыльных сделок 0.3404 950918 950929 -2500 87325 Верхняя 99%-ная граница 0.5319 951002 951003 -2500 84825 Нижняя 99%-ная граница 0.1702 951017 951018 -2550 82275 951031 951114 3150 85425 951114 951116 -2500 82925 951129 951214 6750 89675 951214 951228 5250 94925 951228 960109 -2500 92425 960112 960117 -2500 89925 960129 960213 18700 108625 960213 960213 -2500 106125 960227 960227 -2500 103625 за сделку. Стандартное отклонение (изменчивость показателей прибылей/ убытков) рассчитывается после этого вычитанием среднего из каждого результата, что дает 47 (n) отклонений. Каждое из значений отклонения возводится в квадрат, все квадраты складываются, сумма квадратов де- лится на n — 1 (в данном случае 46), квадратный корень от результата и будет стандартным отклонением выборки. На основе стандартного от- клонения выборки вычисляется ожидаемое стандартное отклонение при- были в сделке: стандартное отклонение (в данном случае $6091,10) делит- ся на квадратный корень из n. В нашем случае ожидаемое стандартное отклонение составляет $888,48. Чтобы определить вероятность случайного происхождения наблюда- емой прибыли, проводится простая проверка по критерию Стьюдента. Поскольку прибыльность выборки сравнивается с нулевой прибыльнос- тью, из среднего, вычисленного выше, вычитается ноль, и результат де- лится на стандартное отклонение выборки для получения значения кри- терия t , в данном случае— 1,0968. В конце концов оценивается вероят- ность получения столь большого t по чистой случайности. Для этого рас- считывается функция распределения t для данных показателей с количе- ством степеней свободы, равным n— 1 (или 46). Программа работы с таблицами Microsoft Excel имеет функцию вы- числения вероятностей на основе t-распределения. В сборнике «Numerical Recipes in С» приведены неполные бета-функции, при помощи которых очень легко рассчитывать вероятности, основанные на различных крите- риях распределения, включая критерий Стьюдента. Функция распреде- ления Стьюдента дает показатели вероятности случайного происхожде- ния результатов системы. Поскольку в данном случае этот показатель был мал, вряд ли причиной эффективности системы была подгонка под слу- чайные характеристики выборки. Чем меньше этот показатель, тем мень- ше вероятность того, что эффективность системы обусловлена случаем. В данном случае показатель был равен 0,1392, т.е. при испытании на неза- висимых данных неэффективная система показала бы столь же высокую, как и в тесте, прибыль только в 14% случаев. Хотя проверка по критерию Стьюдента в этом случае рассчитывалась для прибылей/убытков, она могла быть с равным успехом применена, на- пример, к выборке дневных прибылей. Дневные прибыли именно так ис- 78 ЧАСТЬ I РАБОЧИЕ ИНСТРУМЕНТЫ Рисунок 4-1. функция и плотность распределения вероятностей для сделок в пределах выборки. |